Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как записать файл. RMS или JSR-75. 
:(
    Опции темы
digibolt
Дата 17.5.2010, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2010

Репутация: нет
Всего: нет



Здравствуйте!

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

Что делает этот клиентик, да всего-то две вещи.
1. Скачивает файл (базу) из интернет и пишет его в постоянную память телефона.
2. Организует поиск по этой базе.

Все. Больше ничего.

Вопрос все же хамский и такие вопросы на форумах не любят, но все же smile
Каким образом хранить этот файл в телефоне?
Нашел два способа, у обоих есть недостатки.
1-й способ) пишем все в RMS;
2-й способ) пишем в файловую систему (jsr-75).

Недостатки первого способа: говорят, что у RMS ограничен объем. Грубо говоря она не резиновая.
Недостатки второго способа: чтобы приложение имело право писать, скажем так, на диск нужно наделить его привелегиями. Как это сделать на SE k530i я нашел, а на Motorolla - нет.

Кто в курсе, подскажите, что нынче модно smile
PM MAIL WWW   Вверх
eugine_s
Дата 17.5.2010, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(digibolt @  17.5.2010,  12:43 Найти цитируемый пост)
Вопрос все же хамский и такие вопросы на форумах не любят, но все же


Нормальный вопрос ;)


Цитата(digibolt @  17.5.2010,  12:43 Найти цитируемый пост)
Недостатки первого способа: говорят, что у RMS ограничен объем. Грубо говоря она не резиновая.
Недостатки второго способа: чтобы приложение имело право писать, скажем так, на диск нужно наделить его привелегиями. Как это сделать на SE k530i я нашел, а на Motorolla - нет.


Недостатки второго способа правильнее вот так указать: при каждом обращении к файлу (чтение/запись) будут появляться запросы "Разрешить читать/записывать файл".  Чтобы убрать эти запросы, нужно мидлету выставить permission = "Всегда разрешено" (у моторолы тоже где-то есть), но проблема в том, что для НЕ подписанного мидлета, такой опции для чтения/записи файлов нет. Такая опция появляется только для подписанного мидлета (для неподписанного доступно только "неразрешать" и "всегда спрашивать"). 
Чтобы подписать мидлет требуется купить сертификат (200-300$).... 

Если бы у меня стояла такая задача, я бы сначала посмотрел в сторону RMS. Для этого нужно определится со списком телефонов (так как у разных телефонов разные ограничения на размер RMS). И если RMS позволяет, то делал бы с RMS. 

Какой ориентировочный размер базы предполагается?

Добавлено через 7 минут и 50 секунд
Да, кстати, а сразу "запихнуть" базу в JAR не подходит? 

У многих телефонов сейчас разрешено запускать достаточно большие по размеру JAR файлы (в некоторых вообще нет ограничения). 
PM MAIL   Вверх
digibolt
Дата 17.5.2010, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2010

Репутация: нет
Всего: нет



[QUOTE=eugine_s,17.5.2010,  13:38]
Цитата

Недостатки второго способа правильнее вот так указать: при каждом обращении к файлу (чтение/запись) будут появляться запросы "Разрешить читать/записывать файл".  Чтобы убрать эти запросы, нужно мидлету выставить permission = "Всегда разрешено" (у моторолы тоже где-то есть), но проблема в том, что для НЕ подписанного мидлета, такой опции для чтения/записи файлов нет. Такая опция появляется только для подписанного мидлета (для неподписанного доступно только "неразрешать" и "всегда спрашивать"). 
Чтобы подписать мидлет требуется купить сертификат (200-300$).... 

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

Цитата

Если бы у меня стояла такая задача, я бы сначала посмотрел в сторону RMS. Для этого нужно определится со списком телефонов (так как у разных телефонов разные ограничения на размер RMS). И если RMS позволяет, то делал бы с RMS. 

Какой ориентировочный размер базы предполагается?


Меньше 1 мегабайта.


Цитата

Добавлено @ 13:46
Да, кстати, а сразу "запихнуть" базу в JAR не подходит? 

У многих телефонов сейчас разрешено запускать достаточно большие по размеру JAR файлы (в некоторых вообще нет ограничения).


База обновляется с инета, поэтому она динамичная, а в мидлет, если я правильно понял, можно только базу с предопределенным размером залинковать.

Это сообщение отредактировал(а) digibolt - 17.5.2010, 14:41
PM MAIL WWW   Вверх
eugine_s
Дата 17.5.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(digibolt @  17.5.2010,  14:40 Найти цитируемый пост)
Интересно. Значит, всякий раз, когда мидлет будет лезть в инет, чтобы скачать новую базу, нужно будет отвечать на кучу вопросов.

Нет. В Интернет для неподписанного мидлета можно поставить (и, кажется, стоит по-умолчанию) "Спрашивать один раз". 

Цитата(digibolt @  17.5.2010,  14:40 Найти цитируемый пост)
Меньше 1 мегабайта.

Тогда, наверное, RMS не подойдет. 

Цитата(digibolt @  17.5.2010,  14:40 Найти цитируемый пост)
База обновляется с инета, поэтому она динамичная, а в мидлет, если я правильно понял, можно только базу с предопределенным размером залинковать.

Нет, размер базы может быть любой, но, в телефоне может быть ограничение на размер мидлета (=jar файла). Поэтому, уже писал об этом, нужно определиться со списком телефонов (например, если это Nokia S60, то размер jar-а не имеет значения, y SonyEriccson-а ограничение было в 16Мб). 
Так же особенностью хранения данных в мидлете является, то что их нельзя менять..

Можно попробовать скомбинировать: в jar сразу запихнуть какую-то версию базы, а в RMS хранить обновления базы. 

Файловая система в твоем случае смотрится предпочтительнее, но эти запросы "Разрешить чтение/запись данных" быстро могут задолбать....

Еще как вариант, на клиенте вообще ничего не держать, а все нужные данные получать с сервера.
PM MAIL   Вверх
digibolt
Дата 17.5.2010, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2010

Репутация: нет
Всего: нет



То есть, вариант такого приложения, как футбольная статистика, легально не реализуем в телефоне впринципе.
PM MAIL WWW   Вверх
ivanovpv
Дата 17.5.2010, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 10
Всего: 28



Цитата(digibolt @  17.5.2010,  16:37 Найти цитируемый пост)
То есть, вариант такого приложения, как футбольная статистика, легально не реализуем в телефоне впринципе. 


Да, почему же не реализуем то? JSR-75 требует инвестиции энного количества зимбабвийских тугриков в покупку сертификата - он плох только этим. В остальном он почти хорош (за исключением небольшого числа телефонов которым будет по барабану сертификат - к сожалению есть такие).

Мне лично импонирует все же RMS. Да, размер RMS ограничен - минимальный размер по спецификации по моему около 30 кб., но не менее 5 штук - итого 150 кб... - не так плохо. На практике на Nokia S60 я создавал RMS по 500 кб в количестве нескольких десятков - так что имеет смысл разбросать базу на несколько RMS'ов. Сам когда-то писал классик BigRMS обертку над списком RMS'ов.

Советовал бы не скидывать со счетов хранение ресурсов в самом JAR - простой вопрос если выберете RMS как вы будете делать начальное наполнение RMS?


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.