با عرض سلام خدمت همه دوستان برنامه نویس و فعال توی زمینه اندروید
من دنبال کد برای " لیست کردن برنامه های نصب شده روی گوشی " گشتم
که تونستن داخل این سایت
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 میده
چی کنم که کد تغییر یافته من توی حالت دوم کار کنه؟
تشکر