2013-06-24 3 views
-1

im insertinguser установил имя пакета приложения в базе данных, используя приведенный ниже код, и вставляет успешно отображаемый мной журнал теперь я хочу сравнить установку системы с этими значениями базы данных и отображать только то значение, которое находится в dataase так как мне сравнивать? то, что я wirte в этих скобках, если (((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); 
+0

я Folow этот учебник http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/ –

+0

pplease помочь мне, как я сравнить устанавливать системные приложения с значениями базы данных? –

+0

Пожалуйста, отредактируйте это сообщение с отступом кода. Теперь это ужасно. – Siddharth

ответ

0

получить список из базы данных

добавить этот метод в базе данных 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; 
} 

первый Получить список из базы данных и добавить к Arraylist
затем сравнить ваше имя приложения с ними

arraylist = dbHelper.getAllApps(); 

в вашем if (((p.packageName).equals("db.list???"))
заменить

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

нет, я хочу сравнить с проверкой базы данных, если значение находится в базе данных –

+0

Я хочу показать только имя пакета thats, которые существуют в базе данных –

+0

ow, чтобы получить liost из базы данных –

Смежные вопросы