Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
1

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

11.01.2013, 15:02. Показов 792. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не знал, как правильней назвать тему, вышло так

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

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

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

Заранее спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2013, 15:02
Ответы с готовыми решениями:

Разработать способ экономного хранения в памяти разреженных матриц (таблиц)
Разработать способ экономного хранения в памяти разреженных матриц (таблиц). Разработать процедуры...

Наилучший способ выучить C++
Я беру курс в следующем семестре в университете (CSCI 1300 в CU Boulder), и я спросил своего...

Наилучший способ раскодировать текст
Здравствуйте, Имеется снифер, который анализирует чат чужого приложения. На него, приходят вместо...

Наилучший способ распарсить html текст
Прошу помочь определиться с наилучшим способом распарсить подобный текст: <colgroup> <col...

Наилучший способ добавления строк в начало строки
Возник совершенно нубский вопрос. Есть необходимость в цикле и иногда еще с рекурсией в добавок...

5
1162 / 986 / 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;
1
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, так что, может, тоже придумал не совсем оптимально..
0
1162 / 986 / 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
1
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
12.01.2013, 00:57  [ТС] 5
То что надо! Прекрасное решение, а то я слишком усложнил
Спасибо большое, V0v1k.
0
1162 / 986 / 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... section=23
0
12.01.2013, 01:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2013, 01:00
Помогаю со студенческими работами здесь

Определить наилучший способ использования пунктов обслуживания
Приветствую всех программистов! Спасите меня, очень прошу. Учусь в медицинском, и у нас здесь...

Наилучший способ извлечения лимитированного количества данных из бд
Дано: таблица с записями (как же иначе). Записи имеют id в первом столбце (INT AUTO_INKREMENT...

Какой наилучший и наибезопаснейший способ из Python в .exe
Всем доброго дня! Написали программу на Python и, чтобы скрыть библиотеки, которые мы использовали,...

Какой наилучший способ обновления информации в потоке?
What is up, программач. Есть поток, который работает до тех пор, пока не произойдет определенное...

Какой наилучший и простой способ написать БД в Delphi xe3
Доброго времени суток, столкнулся с проблемой написания БД в Delphi, кто то говорит, что лучше...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru