Spa*_*ost 1 java android cursor
我很难在我的程序中完全可视化'Cursor'功能.我有点得到它的主旨,但任何人都可以详细解释它的功能吗?
通过Cursor,我的意思是Cursor界面.我不能简单地理解它与任何事物所扮演的角色.
http://developer.android.com/reference/android/database/Cursor.html
从SQLite数据库上的查询返回Cursor对象.它将返回查询返回的所有行.
假设您names在数据库数据库中调用了一个表,如下所示:
_id _name
1 Space Ghost
2 Zorak
3 Moltar
4 Brak
Run Code Online (Sandbox Code Playgroud)
如果您想从此表中获取所有数据并使用它,您可以执行以下操作:
public HashMap<Integer, String> getNames(){
HashMap<Integer, String> data = new HashMap<Integer, String>();
try{
SQLiteOpenHelper helper = new MyOpenDbHelper(context);
SQLiteDatabase db = helper.getReadableDatabase();
String selectQuery = "SELECT * FROM names";
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor != null && cursor.moveToFirst()){ //make sure you got results, and move to first row
do{
int mID = cursor.getInt(0); //column 0 for the current row
String mName = cursor.getString(1); //column 1 for the current row
data.put(mID, mName);
} while (cursor.moveToNext()); //move to next row in the query result
}
} catch (Exception ex) {
Log.e("MyApp", ex.getMessage());
} finally
{
if (cursor != null) {
cursor.close();
}
if (db != null) {
db.close();
}
}
return data;
}
Run Code Online (Sandbox Code Playgroud)
通常,您将创建自己的类来扩展SQLiteOpenHelper,如下所示:
public class MyOpenDbHelper extends SQLiteOpenHelper {
//........
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4976 次 |
| 最近记录: |