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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
#1

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

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

Не знал, как правильней назвать тему, вышло так

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

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

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

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

Какой способ хранения анимации эффективнее? - Программирование Android
Есть набор кадров с анимацией "персонажа". Можно хранить каждый кадр в виде отдельной картинки и загружать их в массив, чтобы по номеру...

Подскажите лучший способ хранения данных, чтение/запись файлов - Программирование Android
Добрый день. Пишу тренажер для обучению слов (англ-рус). Слова хранятся в файле .txt в виде "arrow | стрела \n..." Мне необходимо хранить...

Услуга - "поругайте мой код" есть тут такая?) - Программирование Android
собственно сабж :) Если кому нибудь из гуру не лень посмотреть и указать на явные ошибки в коде - буду признателен

Отключить перескакивание между edittext после нажатия "готово" - Программирование Android
После нажатия на кнопку готово происходит заполнение второго edittext, третьего и.т.д. А нужно чтобы пользователь сам нажимал на нужные для...

"Error while reading RSS" при попытке загрузить новости - Программирование Android
Здравствуйте! При попытке загрузить новости приложение выдает ошибку error while reading RSS. Что это значит? Где исправить в коде?

Как поместить surfaceview или glsurfaceview на "пол" экрана - Программирование Android
Вопрос в общем то в заголовке, возможно ли это? Чтобы вьюшка с surfaceview или glsurfaceview была на пол экрана?

Notification вывод строки с символами перехода на новую строку "\n" - Программирование Android
Здравствуйте, пишу приложение для android 4. В нем service выводит notification в котором текст - это String c несколькими символами...

Ошибка "Method call expected" при шифровании RSA - Программирование Android
private final static BigInteger one = new BigInteger("1"); private final static SecureRandom random = new SecureRandom(); ...

SQLite, ошибка: не существует поля "почта" в базе данных - Программирование Android
Создал самую простую программку для понимания баз данных SQLite. Есть два поля: имя и почта. 3 кнопки: добавить в базу данных, считать с...

Осуществить парсинг JSON с помощью готового макета "VKApiMessage" - Программирование Android
Я никак не могу осуществить парсинг JSON с помощью готового макета "VKApiMessage". Пример JSON: https://vk.com/dev/messages.getDialogs...

"Attempt to re-open an already-closed object" при работе с SQLite - Программирование Android
Добрый день. Разрабатываю приложение и столкнулся с проблемой... Лог выдаёт вот такое: FATAL EXCEPTION: main ...

EditText и добавление символов в него через собственную "клавиатуру" - Программирование Android
Ребятушки привет! я начинающий андроид девелопер....и столкнулся с такой трудностью.. Пишу калькулятор, у меня есть EditText и 10...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 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
1158 / 982 / 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
1158 / 982 / 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     Наилучший способ хранения "таблиц в таблицах"
Ответ Создать тему
Опции темы

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