如何比较与数据库值值 [英] how to compare values with database values

查看:114
本文介绍了如何比较与数据库值值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

安装IM insertinguser应用程序包在数据库中使用下面code,并插入成功地让我在日志现在我想比较系统的安装apped这个数据库值,并仅显示值在dataase让我怎么名称比较??我WIRTE在这个支架,如果(((p.packageName).equals(db.list ???))

 数据库处理器分贝;

                公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){

        字符串标准=htt​​ps://play.google.com/store/apps/details?id=;
         串的id = url.substring(标准.length(),url.indexOf(与&));
         db.addContact(新联系(ID));


  公共类FunActivity扩展活动实现OnItemClickListener {

     数据库处理器分贝;


                          私人列表<应用> loadInstalledApps(布尔includeSysApps){
  名单<应用>应用程序=新的ArrayList<应用>();

  //包管理器包含所有安装的应用程序的信息
  PackageManager packageManager = getPackageManager();

  名单< PackageInfo>包= packageManager.getInstalledPackages(0);






     的for(int i = 0; I< packs.size();我++){
     PackageInfo p值= packs.get(ⅰ);
     如果(((p.packageName).equals(db.list ???))//我写的东西在这里
     应用程序=新的应用程序();
     app.setTitle(p.applicationInfo.loadLabel(packageManager)的ToString());
     app.setPackageName(p.packageName);
     app.setVersionName(p.versionName);
     app.setVersion code(p.version code);
     CharSequence的描述= p.applicationInfo.loadDescription(packageManager);
     app.setDescription(说明​​= NULL description.toString():!?);
     apps.add(应用程序);
 

解决方案

要得到数据库列表

在你的数据库处理程序中添加这种方法

 公开的ArrayList<字符串> getAllApps(){

    字符串selectQuery =SELECT * FROM表;
     ArrayList的<字符串>应用程序=新的ArrayList<字符串>();
    SQLiteDatabase DB = this.getWritableDatabase();
    光标光标= db.rawQuery(selectQuery,NULL);

    //遍历所有行和添加到列表
    如果(cursor.moveToFirst()){
        做 {
            apps.add(cursor.getString(你的列名));
        }而(cursor.moveToNext());
    }

    //返回目录
    返回应用程序;
}
 

先获取列表从数据库中,并添加到的ArrayList
然后比较他们的程序名称

 的ArrayList = dbHelper.getAllApps();
 

如果(((p.packageName).equals(db.list ???))
替换

 如果(arraylist.contains(p.packageName))
    {
       加();
    }
    其他
    {
     没做什么();
    }
 

im insertinguser installed app package name in database using below code and is insert sucessfully show me in log now i want to compare system install apped with this database values and display only that value that are in dataase so how do i compare?? what i wirte in this bracket 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);

解决方案

to get list from database

add this method in your Database Handler

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;
}

first Get the list from the database and add to the Arraylist
then compare your app name with them

arraylist = dbHelper.getAllApps();

in your if ( ((p.packageName).equals("db.list???"))
replace with

 if (arraylist.contains(p.packageName))
    {
       add();
    }
    else
    {
     donothing();
    }

这篇关于如何比较与数据库值值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆