我使用下面的代码在数据库中插入用户安装的应用程序包名称,并且插入成功,现在在日志中显示我想将系统安装的应用程序与此数据库值进行比较,并仅显示数据集中的值,那么我如何比较?我在这个括号中写了什么 if ( ((p.packageName).equals("db.list???"))
DatabaseHandler db;
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String Standard = "https://play.google.com/store/apps/details?id=";
String id= url.substring(Standard .length(), url.indexOf("&"));
db.addContact(new Contact(id));
public class FunActivity extends Activity implements OnItemClickListener {
DatabaseHandler db;
private List<App> loadInstalledApps(boolean includeSysApps) {
List<App> apps = new ArrayList<App>();
// the package manager contains the information about all installed apps
PackageManager packageManager = getPackageManager();
List<PackageInfo> packs = packageManager.getInstalledPackages(0);
for(int i=0; i < packs.size(); i++) {
PackageInfo p = packs.get(i);
if ( ((p.packageName).equals("db.list???")) //what i write here
App app = new App();
app.setTitle(p.applicationInfo.loadLabel(packageManager).toString());
app.setPackageName(p.packageName);
app.setVersionName(p.versionName);
app.setVersionCode(p.versionCode);
CharSequence description = p.applicationInfo.loadDescription(packageManager);
app.setDescription(description != null ? description.toString() : "");
apps.add(app);
从数据库获取列表
在您的数据库处理程序中添加此方法
public ArrayList<String> getAllApps() {
String selectQuery = "SELECT * FROM table";
ArrayList<String> apps = new ArrayList<String>();
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
apps.add(cursor.getString("your column name"));
} while (cursor.moveToNext());
}
// return list
return apps;
}
首先从数据库中获取列表并添加到Arraylist
然后将您的应用程序名称与它们进行比较
arraylist = dbHelper.getAllApps();
in your if ( ((p.packageName).equals("db.list???"))
用。。。来代替
if (arraylist.contains(p.packageName))
{
add();
}
else
{
donothing();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)