Форум программистов, компьютерный форум CyberForum.ru

Наилучший способ хранения "таблиц в таблицах" - Android

Войти
Регистрация
Восстановить пароль
 
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
11.01.2013, 15:02     Наилучший способ хранения "таблиц в таблицах" #1
Не знал, как правильней назвать тему, вышло так

На тему нижеописанного приложения я уже начинал тему на форуме, но сейчас уже дело касается другой его стороны.
Вкратце: приложение парсит театральный сайт, забирая список спектаклей и состав артистов на каждый из них. С постоянным подключением к инету всё работает, и теперь хотелось бы сделать возможность оффлайновой работы.

В чём, собственно, вопрос:
Есть массив с названиями спектаклей. Последовательно вычитываю составы, имея возможность складывать их аналогично в массивы.
Как лучше сохранять такие связанные между собой данные (массив названий спектаклей -> спектакль_N -> массив артистов)? С использованием БД, текстовых файлов в памяти телефона, либо как-то ещё?

Извиняюсь, что создаю уже третью тему с различными вопросами о своём приложении, но уж очень хочется с самого начала изучения Андроид усвоить правильные методы написания кода.

Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2013, 15:02     Наилучший способ хранения "таблиц в таблицах"
Посмотрите здесь:

Android EditText и добавление символов в него через собственную "клавиатуру"
Android Какой способ хранения анимации эффективнее?
Android Как заставить Eclipse "забыть" об ошибках в xml файлах?
Unexpected namespace prefix "map" found for tag fragment Android
Android virtual device. При нажатии на "Ок" ничего не происходит Android
Подскажите лучший способ хранения данных, чтение/запись файлов Android
Android Осуществить парсинг JSON с помощью готового макета "VKApiMessage"
Визуализация нажатия на изображение. Как поставить картинку на "нажатие" Android
Почему приложение может пропасть из "Похожие" топового приложения? Android
Notification вывод строки с символами перехода на новую строку "\n" Android
Ошибка "Method call expected" при шифровании RSA Android
Как добавить строку "." в начале в ListView со своим обработчиком Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
11.01.2013, 23:17     Наилучший способ хранения "таблиц в таблицах" #2
Java
1
2
3
4
5
6
7
8
9
10
11
public class Performance {
              private List<Artist> mArtists;
...
}
....
public class Artist {
...
}
 
...
private List<Performance> mPerformances;
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
12.01.2013, 00:06  [ТС]     Наилучший способ хранения "таблиц в таблицах" #3
Спасибо, V0v1k, очень красивая конструкция!
Я сначала жалел, что в JAVA нет структур, как в С/С++, но теперь вижу, что в этом отношении возможности языка гораздо шире. Супер.

Правда, мой вопрос был не совсем об этом: я думал, в каком виде хранить данные, чтобы они сохранялись после выхода из приложения.
Пока сегодня ехал с работы, пришла одна идея (ещё не реализовывал):

Создать базу данных с тремя таблицами:
1-я таблица - спектакли, поля (кроме primary key):
Performance (название спектакля)
Perf_ID (ID группы полей других таблиц с именами артистов и персонажей)

2-я таблица - актёры, поля (кроме primary key):
Actor_Name (имя актёра)
Perf_ID (ID спектакля, к которому относится)
Pers_ID(ID персонажа, с которым связан)

3-я таблица - персонажи, поля (кроме primary key):
Pers_Name (имя персонажа)
Perf_ID (ID спектакля, к которому относится)
Actor_ID(ID актёра, с которым связан)

Например:
1-я таблица:
Performance = "Щелкунчик"
Perf_ID = 12

2-я таблица:
Actor_Name = "Иван Иванов"
Perf_ID = 12
Pers_ID = 3

3-я таблица:
Pers_Name = "2-я снежинка"
Perf_ID = 12
Actor_ID = 3

и т.д. И таким образом находить связанные между собой записи. Базы данных я впервые начал юзать одновременно с изучением Android, так что, может, тоже придумал не совсем оптимально..
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.01.2013, 00:49     Наилучший способ хранения "таблиц в таблицах" #4
1-я таблица - performances
id - primary key
name

2-я таблица - actors
id - primary key
name

3-я таблица - characters
id - primary key
actors_id - foreign key
performances_id - foreign key
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
12.01.2013, 00:57  [ТС]     Наилучший способ хранения "таблиц в таблицах" #5
То что надо! Прекрасное решение, а то я слишком усложнил
Спасибо большое, V0v1k.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.01.2013, 01:00     Наилучший способ хранения "таблиц в таблицах" #6
правда здесь не предусмотрена ситуация что кроме того, что актер может играть нескольких персонажей еще и одного персонажа могут играть несколько актеров (http://www.firststeps.ru/mfc/msdn/r.php?117 - вот вам связь много ко многим на всякий случай)

Добавлено через 18 секунд
http://office.microsoft.com/ru-ru/tr...spx?section=23
Yandex
Объявления
12.01.2013, 01:00     Наилучший способ хранения "таблиц в таблицах"
Ответ Создать тему
Опции темы

Текущее время: 04:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru