import android.graphics.drawable.Drawable;
public class AppInfo {
String appName;
String packageName;
Drawable drawable;
public AppInfo(){}
public AppInfo(String appName){
this.appName = appName;
}
public AppInfo(String appName, String packageName){
this.appName = appName;
this.packageName = packageName;
}
public AppInfo(String appName,String packageName, Drawable drawable){
this.appName = appName;
this.packageName = packageName;
this.drawable = drawable;
}
public String getAppName() {
if(null == appName)
return "";
else
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
public String getPackageName() {
if(null == packageName)
return "";
else
return packageName;
}
public void setPackageName(String packageName) {
this.packageName = packageName;
}
public Drawable getDrawable() {
return drawable;
}
public void setDrawable(Drawable drawable) {
this.drawable = drawable;
}
}</span>
Activity 代碼
[html] view plain copy
<span style="font-size:14px;">package com.cn.sz.fisi.appinfo;
import java.util.ArrayList;
import java.util.List;
import com.cn.sz.fisi.appinfo.adapter.AppInfosAdapter;
import com.cn.sz.fisi.appinfo.mode.AppInfo;
import android.os.Bundle;
import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.view.Menu;
import android.widget.ListView;
public class MainActivity extends Activity {
ListView appInfoListView = null;
List<AppInfo> appInfos = null;
AppInfosAdapter infosAdapter = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
appInfoListView = (ListView)this.findViewById(R.id.appinfo_list);
appInfos = getAppInfos();
updateUI(appInfos);
}
public void updateUI(List<AppInfo> appInfos){
if(null != appInfos){
infosAdapter = new AppInfosAdapter(getApplication(), appInfos);
appInfoListView.setAdapter(infosAdapter);
}
}
<span style="color:#ff0000;background-color: rgb(255, 255, 255);"> // 獲取包名信息
public List<AppInfo> getAppInfos(){
PackageManager pm = getApplication().getPackageManager();
List<PackageInfo> packgeInfos = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
appInfos = new ArrayList<AppInfo>();
/* 獲取應用程序的名稱,不是包名,而是清單文件中的lab