به دست آوردن اطلاعات برنامه های اندروید نصب بر روی گوشی کاربر، به صورت یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo ، در برنامه نویسی اندروید
فرض کنید که بخواهیم اطلاعاتی را از برنامه های اندروید نصب بر روی گوشی کاربر به دست آوریم، برای این منظور، باید این اطلاعات را به صورت یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo ، به دست آوریم. بنابراین، کدهای زیر را می نویسیم :
List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
List<ApplicationInfo> applist = new ArrayList<ApplicationInfo>();
for (ApplicationInfo info : list) {
try {
if (null != packageManager.getLaunchIntentForPackage(info.packageName)) {
applist.add(info);
}
} catch (Exception e) {
e.printStackTrace();
}
}
بنابراین تا اینجا، یک لیست آرایه ای (ArrayList) از نوع ApplicationInfo و با نام applist داریم که هر عنصر آن، حاوی اطلاعات مربوط به یک برنامه اندروید نصب شده بر روی گوشی کاربر می باشد.
اکنون فرض کنید که بخواهیم برخی اطلاعات هر برنامه را بخوانیم، به طور مثال، کدهای زیر را می نویسیم :
for(int x = 0; x < applist_length; x = x+1) {
ApplicationInfo data = applist.get(x);
String packageName = data.packageName;
// default action
}
همان طور که مشاهده می کنید، یک حلقه for می سازیم که تعداد گام های آن، برابر تعداد عناصر لیست آرایه ای applist می باشد و سپس در هر گام حلقه، اطلاعات مربوط به یک برنامه اندروید نصب شده را در متغیری با نام data قرار می دهیم که از نوع ApplicationInfo می باشد. سپس یک رشته با نام packageName تعریف کرده ایم که نام package برنامه اندروید نصب شده، در آن ذخیره می شود. بعد از این مرحله، می توانید با نام package ، عملیات مورد نظر خود را انجام بدهید.
برای به دست آوردن نام برنامه اندروید و نمایش آن در یک TextView با نام appNameTextView ، می توان کد زیر را نوشت :
برای نمایش آیکون (icon) برنامه اندروید، در یک ImageView با نام iconImageView ، می توان کد زیر را نوشت :