最近在做自动话测试应用开发,涉及到database的操作。
简单写下 Sqlite的query操作。
private static final String DATABASENAME = "/data/data/com.example.zhangjinlu.automatictest/settings.db";
private SQLiteDatabase sqLiteDatabase = null;
private Cursor cursor = null;
private String[] tableName = {"system","secure","global"};//查询数据库的列表名称
sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase(DATABASENAME,null);
if(sqLiteDatabase != null){
for(String table:tableName){
Cursor resultcursor = sqLiteDatabase.query(table,null
,"name = ?",new String[]{name}, null, null, null);//这里query的是name值
if(resultcursor != null && resultcursor.getCount() > 0){
cursor =resultcursor;
}
}
}
cursor.moveToFirst();//cursor 移动到第一项
<span style="white-space:pre"> </span>while(cursor.moveToNext()){
<span style="white-space:pre"> </span>System.out.println(cursor.getString(2));//打印cursor查询的第二个数值,settings.db中的表有三列,这个打印的是第三个数值value
}
大概逻辑就是这样,还有exception捕获之类的,以及其他操作,后续补上。