我正在开发一款适用于游戏EVE的小型Android应用。
在处理添加新字符的活动时,我自己创建了一个类,用于处理所有CRUD操作和诸如此类的数据库,您可以查看here,但最重要的是我的问题是getAllCharacters()
方法返回并清空List。
public List<Character> getAllCharacters() {
List<Character> characterList = new ArrayList<Character>();
String selectQuery = "SELECT * FROM " + TABLE_CHARACTERS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Character character = new Character();
character.set_id(Integer.parseInt(cursor.getString(0)));
character.set_apiKey(cursor.getString(1));
character.set_keyId(cursor.getString(2));
} while (cursor.moveToNext());
}
return characterList;
}
代码本身是否在方法中,我使用它的方式是
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
List<Character> list = db.getAllCharacters();
当我尝试拨打toString()
时,我会将[]
作为值。
我可以看到正在创建数据库的条目,如here所示。
欢迎任何帮助,欢呼。
答案 0 :(得分:0)
在characterList
部分中创建character
变量后,您忘记添加到do
。最后在characterList.add(character);
内添加do
即可。
希望这会有所帮助。
答案 1 :(得分:-1)
请添加以下代码
'08'
您正在创建角色对象,但错过了将其添加到ArrayList即。在characterList中,这就是为什么它返回空列表。