کست کردن در اندروید

0 امتیاز
61 بازدید
سوال شده مهر 22, 1395 توسط ADuser  

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

 

این مطلب را به اشتراک بگذارید

لطفا وارد شده یا عضو شوید تا بتوانید سوال بپرسید

1,006 سوال

839 پاسخ

1,353 دیدگاه

1,315 کاربر

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...