star462
سه شنبه 20 مهر 1395, 10:49 صبح
با عرض سلام خدمت همه دوستان برنامه نویس و فعال توی زمینه اندروید
من دنبال کد برای " لیست کردن برنامه های نصب شده روی گوشی " گشتم
که تونستن داخل این سایت
http://stacktips.com/tutorials/android/how-to-get-list-of-installed-apps-in-android (http://stacktips.com/tutorials/android/how-to-get-list-of-installed-apps-in-android)
کد خوبی پیدا کنم
الان من دنبال ساده نوشتن هر چه بیشتر این کد هستم چون می خوام کم کم زیاد کنم که بدونم هر قسمت کد دقیقا داره چیکار میکنه مثلا custom list view نداشته باشه و خیلی چیزهای دیگه
من تونستم کد تا بدین جا ساده کنم
که هم کار کنه هم ساده باشه ( دنبال یه برنامه با کارایی بالا نیستم)
package com.example.petriks.myapplication;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.app.ListActivity;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends ListActivity {
private PackageManager packageManager = null;
private List<ApplicationInfo> applist = null;
private ArrayAdapter<ApplicationInfo> listadaptor = null;
List<ApplicationInfo> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
packageManager = getPackageManager();
applist = checkForLaunchIntent(packageManager.getInstalledAp plications(PackageManager.GET_META_DATA));
listadaptor = new ArrayAdapter<ApplicationInfo>(MainActivity.this, android.R.layout.simple_list_item_1, applist);
setListAdapter(listadaptor);
}
private List<ApplicationInfo> checkForLaunchIntent(List<ApplicationInfo> list) {
ArrayList<ApplicationInfo> applist = new ArrayList<ApplicationInfo>();
for (ApplicationInfo info : list)
applist.add(info);
return applist;
}
}
ولی می خوام باز هم ساده تر کنم
قسمتی که می خوام ساده تر کنم اینه که تابع checkForLaunchIntent کلا وچود نداشته باشه ولی وقتی به این نحو تغییر میدم برنامه کار نمی کنه
package com.example.petriks.myapplication;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.app.ListActivity;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends ListActivity {
private PackageManager packageManager = null;
private List<ApplicationInfo> applist = null;
private ArrayAdapter<ApplicationInfo> listadaptor = null;
List<ApplicationInfo> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
packageManager = getPackageManager();
ArrayList<ApplicationInfo> applist = new ArrayList<ApplicationInfo>();
for (ApplicationInfo info : list)
applist.add(info);
applist = packageManager.getInstalledApplications(PackageMan ager.GET_META_DATA);
listadaptor = new ArrayAdapter<ApplicationInfo>(MainActivity.this, android.R.layout.simple_list_item_1, applist);
setListAdapter(listadaptor);
یعنی به جای تابع checkForLaunchIntent مقدار داخلشو می زارم، ارور Incompatile type میده
چی کنم که کد تغییر یافته من توی حالت دوم کار کنه؟
تشکر
من دنبال کد برای " لیست کردن برنامه های نصب شده روی گوشی " گشتم
که تونستن داخل این سایت
http://stacktips.com/tutorials/android/how-to-get-list-of-installed-apps-in-android (http://stacktips.com/tutorials/android/how-to-get-list-of-installed-apps-in-android)
کد خوبی پیدا کنم
الان من دنبال ساده نوشتن هر چه بیشتر این کد هستم چون می خوام کم کم زیاد کنم که بدونم هر قسمت کد دقیقا داره چیکار میکنه مثلا custom list view نداشته باشه و خیلی چیزهای دیگه
من تونستم کد تا بدین جا ساده کنم
که هم کار کنه هم ساده باشه ( دنبال یه برنامه با کارایی بالا نیستم)
package com.example.petriks.myapplication;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.app.ListActivity;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends ListActivity {
private PackageManager packageManager = null;
private List<ApplicationInfo> applist = null;
private ArrayAdapter<ApplicationInfo> listadaptor = null;
List<ApplicationInfo> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
packageManager = getPackageManager();
applist = checkForLaunchIntent(packageManager.getInstalledAp plications(PackageManager.GET_META_DATA));
listadaptor = new ArrayAdapter<ApplicationInfo>(MainActivity.this, android.R.layout.simple_list_item_1, applist);
setListAdapter(listadaptor);
}
private List<ApplicationInfo> checkForLaunchIntent(List<ApplicationInfo> list) {
ArrayList<ApplicationInfo> applist = new ArrayList<ApplicationInfo>();
for (ApplicationInfo info : list)
applist.add(info);
return applist;
}
}
ولی می خوام باز هم ساده تر کنم
قسمتی که می خوام ساده تر کنم اینه که تابع checkForLaunchIntent کلا وچود نداشته باشه ولی وقتی به این نحو تغییر میدم برنامه کار نمی کنه
package com.example.petriks.myapplication;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.app.ListActivity;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends ListActivity {
private PackageManager packageManager = null;
private List<ApplicationInfo> applist = null;
private ArrayAdapter<ApplicationInfo> listadaptor = null;
List<ApplicationInfo> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
packageManager = getPackageManager();
ArrayList<ApplicationInfo> applist = new ArrayList<ApplicationInfo>();
for (ApplicationInfo info : list)
applist.add(info);
applist = packageManager.getInstalledApplications(PackageMan ager.GET_META_DATA);
listadaptor = new ArrayAdapter<ApplicationInfo>(MainActivity.this, android.R.layout.simple_list_item_1, applist);
setListAdapter(listadaptor);
یعنی به جای تابع checkForLaunchIntent مقدار داخلشو می زارم، ارور Incompatile type میده
چی کنم که کد تغییر یافته من توی حالت دوم کار کنه؟
تشکر