我在 ListView 上列出已安装的应用程序。我想获取尚未插入数据库的应用程序。
例如:
所有安装的应用
程序 com.ab
com.cd
com.ef
com.gh
com.jk
数据库记录
com.cd
com.gh
我希望结果这样做:
结果:
com.ab
com.ef
com.jk
我的代码这里:
SQLiteDatabase db = vt2.getReadableDatabase();
Cursor c = db.rawQuery("SELECT uygulamaAdi FROM ivu WHERE kategori='" + kategori + "'", null);
c.moveToFirst();
uygList = new ArrayList<String>();
final PackageManager pm = getPackageManager();
final List<String> paketAdlari = new ArrayList<String>();
final List<String> islemTurleri = new ArrayList<String>();
List<ApplicationInfo> paketler = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo paketBilgi : paketler) {
if (paketBilgi.packageName != c.getString(0)) {
uygList.add(" ( + ) " + paketBilgi.loadLabel(pm).toString() + " (Yükle) ");
paketAdlari.add(paketBilgi.packageName);
islemTurleri.add("kaldir");
if (sayi<c.getCount()-1) {
sayi++;
c.moveToNext();
}
}
}
作为我的代码,它给出的结果如下:
com.ab
com.cd
com.ef
com.jk
它只删除最后一条记录。我想删除所有以前的记录...