Я разрабатываю свое первое приложение, которое содержит базу данных SQLite, содержащую таблицу ANIMAL
со столбцами _id
, animal_name
, animal_bio
.
. Пользователь представлен с именами животных вListView;Выбор животного приведет его / ее к странице, где он / она сможет просматривать биографию животных.
У меня проблема:
Когда я добавляю биографию каждого животного вБД - без ошибок.
Однако при запуске приложения ListView (ранее работавший) отображает пустой экран.
Мой код вставки:
public long populateDB(){
ContentValues initialValues = new ContentValues();
long[] rowIds = new long[animalName.length];
// Populate the animal table
for(int i = 0; i < animalName.length; i++){
initialValues.put(KEY_ANIMALNAME, animalName[i]);
initialValues.put(KEY_BIOGRAPHY, bio[i]);
rowIds[i] = qmDB.insert(ANIMAL_TABLE, null, initialValues);
}
return rowIds[0];
}
И создание базы данныхутверждение
private static final String DATABASE_CREATE =
"create table " + ANIMAL_TABLE +
" (_id integer primary key autoincrement, " +
"animal_name text not null, " +
"biography text not null);";
Я не вижу ничего плохого в этом коде, поэтому, если у кого-то есть какие-либо предложения, я был бы очень признателен.
РЕДАКТИРОВАТЬ: Получение кода животных
public Cursor retrieveAnnimals(){
return qmDB.query(ANIMAL_TABLE, new String[] {
KEY_ROWID,
KEY_ANIMALNAME,
},
null,
null,
null,
null,
ORDER_BY_NAME);
}
Вызывая создание и вставку из приложения, это происходит в ListActivity, называемом ListAnimals:
dbm = new MyDBManager();
dbm.open();
dbm.deleteTable();
dbm.populateTable();
myCursor = dbm.retrieveAnimals();