我的SQLite数据库大约有200~300行。我的表格有两列:_id
,Text
。
我想将整个表格数据加载到ArrayList
,这样我就可以使用函数_id
访问任意一行。
我的问题是,我不确定在我的主类或我的DatabaseHelper类中创建ArrayList
的位置 - 如下面的链接所示。
https://blog.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
答案 0 :(得分:0)
首先创建一个像这样的pojo类:
public class Data {
//private variables
int _id;
String _text;
// Empty constructor
public Data(){
}
// constructor
public Data(int id, String text){
this._id = id;
this._text = text;
}
// getting ID
public int getID(){
return this._id;
}
// setting id
public void setID(int id){
this._id = id;
}
// getting text
public String getText(){
return this._text;
}
// setting text
public void setText(String text){
this._text = text;
}
}
现在将以下方法添加到DBHelper类:
// Getting All data
public List<Data> getAllData() {
List<Data> dataList = new ArrayList<Data>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_NAME;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Data data = new Data();
data.setID(Integer.parseInt(cursor.getString(0)));
data.setText(cursor.getString(1));
// Adding data to list
dataList.add(data);
} while (cursor.moveToNext());
}
// return data list
return dataList;
}
只需从主类调用此方法即可。您将获得列表中的所有数据,将列表添加到ArrayList并填充ListView。快乐的编码:)