如何比较与数据库值值 [英] how to compare values with database values
问题描述
安装IM insertinguser应用程序包在数据库中使用下面code,并插入成功地让我在日志现在我想比较系统的安装apped这个数据库值,并仅显示值在dataase让我怎么名称比较??我WIRTE在这个支架,如果(((p.packageName).equals(db.list ???))
数据库处理器分贝;
公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){
字符串标准=https://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屋!