У меня возникли проблемы с реализацией базы данных sqlite в моем простом приложении для Android:
пользователь отображает список животных в Listview. При выборе животного пользователь попадает в действие «Животное», которое отображает изображение животного и дает ему варианты
- просмотр Animal Bio
- Назад
Пока все очень просто, верно?
У меня работает база данных, которая будет заполнять список видов животных. База данных в настоящее время выглядит как
Столовое животное-
_Я БЫ,
Имя
Таблица биографии
_Я БЫ,
Bio
Здесь я хотел бы получить полезные советы по моей проблеме или по улучшению моей реализации.
В настоящее время БД заполняется следующим образом
long populateDB(){
String[] animalName = {"Lion" "Zebra", "Tiger", "Gorilla",...};
String[] animalBios = {"Found in the "...}
ContentValues animalNameVals = new ContentValues();
ContentValues animalBioVals = new ContentValues();
long[] rowIds = new long[animalName.length];
// Populate the animal table
for(int i = 0; i < animalName.length; i++){
animalNameVals.put(KEY_ANIMALNAME, animalName[i]);
rowIds[i] = db.insert(ANIMAL_TABLE, null, animalNameVals);
}
// Populate the Bio table
for(int j = 0; j < bios.length; j++){
animalBioVals.put(KEY_BIO, bios[j]);
rowIds[j] = db.insert(BIOS_TABLE, null, animalBioVals);
}
return rowIds[0];
}
И планировал уметь сообщать базе данных, какое животное в списке было выбрано, передавая дополнения с намерением, например, если позиция в listItemClick == 1, передать тигра и получить био тигра из базы данных.
Проблемы:
Затем на странице действий с животными есть getExtra () == tiger, сообщающий об активности, которую тигр был выбран из списка, и о загрузке этой био из БД ... ну, я не вижу эффективного способа реализации этой идеи и я изо всех сил пытаюсь сделать это.
Моя вторая головная боль возникает из-за добавления био в приложение из Db. Первоначально у меня был тестовый био, закодированный в строку, показанную в TextView. Есть способ извлечь строку из курсора и добавить ее в TextView id? Я понимаю, что мне понадобится какой-то адаптер, но я не понимаю, почему он не может быть таким простым, как setResource (R.id.bio) = bio.
Спасибо за чтение, и любая помощь очень ценится.