Объединение нескольких таблиц в SQLite - ReaderAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Объединение нескольких таблиц в SQLite - Reader

Сообщение Anonymous »

Я занят приложением для чтения книг, предназначенным только для чтения, которое имеет одну базу данных и три таблицы. Одна таблица называется «главы», где главы имеют названия, одна таблица называется «подглавы», где главы — это номера, и одна таблица называется «записи», которая представляет собой текстовое содержимое таблицы подглав. Каждая запись также будет иметь номер для лучшей организации.

Таблица глав имеет два столбца: идентификатор и имя.

Таблица подразделов имеет два столбца: идентификатор и количество

Таблица записей имеет два столбца: идентификатор и текст

Я сгенерировал необработанный запрос для извлечения случайной текстовой записи из таблицы записей при запуске активности, и он работает нормально. Однако мне нужны две вещи:
  • Когда случайный текст отображается на экране активности в представлении, мне нужно, чтобы он дал не только текст, но и название главы, а также номер подраздела.
  • Когда щелкнут это представление, мне нужно, чтобы оно перенаправило пользователя к подразделу, который этот текст взят из того места, где пользователь может затем читать и/или перемещаться по нему и т. д.
У меня возникла проблема: что мне нужно, чтобы приложение могло знать, из какой главы, подраздела и записи взята случайная текстовая запись, чтобы оно могло отобразить ее, а затем перенаправить туда пользователя по щелчку мыши.

Я знаю, что это связано с JOIN, и я просмотрел много руководств и прочитал много сообщений здесь, но я еще не видел ничего подобного тому, о чем говорю, или просто не понимаю этого, видя другие несвязанные примеры.

Это мой текущий rawQuery для получения случайной текстовой записи:

Код: Выделить всё

public List getRandomTextEntry() {
List list = new ArrayList();
Cursor cursor = database.rawQuery("SELECT * FROM entries ORDER BY
RANDOM() LIMIT 1", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
list.add(cursor.getString(1));
cursor.moveToNext();
}
cursor.close();
return list;
}
Любая помощь в этом вопросе будет очень признательна.

Подробнее здесь: https://stackoverflow.com/questions/527 ... ook-reader
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»