如何比较与数据库值值数据库

由网友(半生酒醒)分享简介:安装IM insertinguser应用程序包在数据库中使用下面code,并插入成功地让我在日志现在我想比较系统的安装apped这个数据库值,并仅显示值在dataase让我怎么名称比较??我WIRTE在这个支架,如果(((p.packageName).equals(db.list ???))数据库处理器分贝;公共布尔s...

安装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(应用程序);
 

解决方案

要得到数据库列表

OLTP和OLAP,数据库和数据仓库

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

 公开的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();
    }

阅读全文

相关推荐

最新文章