android:查询数据库 指定列 指定列名 并输出查询结果(如查询电话本,SMS的ContentResolver提供的)

来源:互联网 发布:linux 安装yum 编辑:程序博客网 时间:2024/06/10 03:21

如查询电话本,SMS的ContentResolver提供的cursor = getContentResolver().query(Uri.parse("content://sms/inbox"),

null, null, null, null);

 

通过这个cursor的下面的代码来用cursor的列名来获得内容:

cursor.moveToPosition(arg2);

String body = cursor.getString(

cursor.getColumnIndexOrThrow("body")).toString();

String address = cursor.getString(

cursor.getColumnIndexOrThrow("address")).toString();

 

 

打印数据库所有列名 并输出至LogCat

 

 

public void queryColumnName(Cursor cursor){

 

  for(int i=0;i<cursor.getColumnCount();i++){

    String columnName = cursor.getColumnName(i);

 

    Log.d("TAG","column name:"+columnName);

  }

 

}

 

 

 

查询数据库 指定列 指定列名 并输出查询结果

 

 

public String queryItem(Cursor cursor,int id, String columnName){

 

if(id > cursor.getCount()){

return "";

}

cursor.moveToPosition(id);

 

int columnIndex = cursor.getColumnIndex(columnName);

return cursor.getString(columnIndex);

}