Android 如何使用具有多个参数的内容提供程序从sqlite检索数据
我正在开发一个Android应用程序,它允许用户添加一些数据,然后对数据进行查询,例如:用户可以添加一些医生信息,如姓名、电话、城市等。。。然后,用户可以查询医生数据库,以检索特定参数(例如城市)中的医生 我有以下代码:Android 如何使用具有多个参数的内容提供程序从sqlite检索数据,android,sqlite,Android,Sqlite,我正在开发一个Android应用程序,它允许用户添加一些数据,然后对数据进行查询,例如:用户可以添加一些医生信息,如姓名、电话、城市等。。。然后,用户可以查询医生数据库,以检索特定参数(例如城市)中的医生 我有以下代码: @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
qb.setTables(DOC_TABLE_NAME);
switch (uriMatcher.match(uri)) {
case DOC:
qb.setProjectionMap(DOC_PROJECTION_MAP);
break;
case DOC_ID:
qb.appendWhere( _ID + "=" + uri.getPathSegments().get(1));
break;
default:
throw new IllegalArgumentException("Unknown URI " + uri);
}
if (sortOrder == null || sortOrder == ""){
sortOrder = _ID;
}
Cursor c = qb.query(db, projection, selection, selectionArgs,
null, null, sortOrder);
c.setNotificationUri(getContext().getContentResolver(), uri);
return c;
}
我应该在案例中添加什么?检索器a根据多个参数进行诊断,例如:id、姓名、城市。我是否应该补充一点:
case DOC_ID_NAME_CITY:
qb.appendWhere( _ID + "=" + uri.getPathSegments().get(1));
qb.appendWhere( Name + "=" + uri.getPathSegments().get(2));
qb.appendWhere( City + "=" + uri.getPathSegments().get(3));
break;
还有怎么称呼呢
谢谢:请看一看这段代码,它将提供如何检索多个值的大量想法
public String allusers()
{
Log.d("ALLusers in db", "working");
String result="";
String []columns=new String[]{KEY_EMAIL_new,KEY_PASWORD_new};
Cursor c= ourDatabase.query(DATABASE_TABLE_New, columns, null, null, null, null, null);
int iemail=c.getColumnIndex(KEY_EMAIL_new);
int ipassword=c.getColumnIndex(KEY_PASWORD_new);
for (c.moveToFirst();!c.isAfterLast();c.moveToNext())
{
result=result+c.getString(iemail)+" "+c.getString(ipassword)+" "+ "\n";
}
return result;
}
我正在收到所有电子邮件和密码。你可以根据需要修改此代码,就像如果你只需要一个医生数据,那么就不要循环。我在这里循环,因为我需要所有用户