LINUX.ORG.RU

J2ME как лудше хранить данные??? XML/etc...


0

0

Привет всем , дело в том что я решил для своего города написать мидлет рассписания трамваев, ну каждый трамвай, каждая остановка каждое направление итп.

сначала хотел все данные хранить в виде XML формата, но сейчас сделав только для одной остановки рассписание получил размер файла около 6kb потом не долго думав посчитал: имеем 16 трамваев у каждого около 35 остановки получаем 16*35*2 (обе стороны) * 6= 6720kb !!!! это ведь офигеть как не мало для многих мобилок!!! даже упаковав всё это дело в jar будет не меньше 3 Мб (поправте если я не прав) и даже 3 Мб но это ведь очень много для мобильного девайса.

вот и не знаю как тут быть, каким образом хранить данные? в общем, кто с этим сталкивался расскажите как решили такую проблемму?

куда копать?

★★

>вот и не знаю как тут быть, каким образом хранить данные? в общем, кто с этим сталкивался расскажите как решили такую проблемму?

Копай в сторону сериализации , тогда определенную структуры ты сможешь сохранить на диск и вновь загрузить в память.

Только если она будет большая придётся повозиться. Тогда наверное лучше встроенные bd.

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>Только если она будет большая придётся повозиться. Тогда наверное лучше встроенные bd.

а какие в J2ME встроенные БД есть?

djung ★★
() автор топика

Как расписание записывал в XML, есть-ли учет связности инфы? Например если в одну сторону ехать 2 минуты, то и в обратную столько-же, да и от времени суток эта инфа не зависит. Потом jar - это zip, а он XML порядка десяти раз жмет.

YesSSS ★★★
()

Предположим, что остановок в городе меньше 255
Тогда расписание будет состоят из:

маршрутов (последовательность байт - отражающих движение по остановкам) - в среднем 35 + 35 на маршрут

рейсов - расписание конкретного транспортного средства по маршуруту - по два байта (хватит 11 бит) на время отправления с остановки.

ну а теперь считай кол-во байт по формуле: N * L * 3, где
N - число маршрутов
L - средняя длина маршрута

anonymous
()

В J2ME нет сериализации, насколько я помню. XML для хранения маленького объема неизменяемых данных - самоубийство. Тем более в J2ME.

Придумайте свой бинарный формат данных для этой задачи.

Kpoxman ★★
()

В порядке мозгового штурма предложу на этапе компиляции XML конвертить в код на джаве со константами, массивами и прочим, и пусть компилятор всё упаковывает.

Legioner ★★★★★
()

xml не нужен, вполне хватит таблиц в csv. И парсить быстрее, и места меньше занимает и структура БД сразу в них укладывается.

anonymous
()

Сгенерируй из XML-я java исходничек с инициализацией массива с нужными данными, а потом его вкомпилируй в приложение. Два плюса - не надо ничего загружать, не надо ничего придумывать.

Чтобы сделать подгрузку по мере надобности - можно разбить массивчик на несколько массивчиков и при необходимости их инстанциировать new TrainStop()

eXOR ★★★★★
()

Ну то есть остановку ты задаешь в XML, потом на него накладываешь XSL - который преобразует данные в java файл. Файл компилируешь.

eXOR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.