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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к хранилищу другого приложения 
:(
    Опции темы
st11
Дата 25.3.2007, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем доброго времени суток.
Вопрос следующий. Есть два отдельных приложения. В приложении№1 создается хранилище. Возможноли из приложения№2 реализовать доступ к хранилищу реализованному в приложении№1?
Если это возможно, то как это сделать?
Заранее спасибо  smile 

Это сообщение отредактировал(а) st11 - 25.3.2007, 07:49
PM MAIL   Вверх
hamsterKSU
Дата 25.3.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

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



В доках написано в чужое хранилише нельзя получить доступ. 
можно получить доступ к хранилишам, который принадлежат мидлетам одной сборки т.е. для мидлетов  который находятся в одном Midlet Suite
PM MAIL ICQ   Вверх
LiZZniK
Дата 5.4.2007, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Из J2ME приложение это не возможно. Теоретически если Java машина запущена на Symbian устройстве, можно попытаться напрямую считать данные из памяти.
PM MAIL   Вверх
VOS
Дата 6.4.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



При замене приложения (по крайней мере на SE k790) спрашивают оставить данные или нет.
Выбираем оставить, устанавливаем уже свое приложение и из него считываем данные  (если именно они представляют ценность).
PM MAIL   Вверх
Dummy
Дата 21.5.2007, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



MIDP 2.0 позволяет осуществлять доступ к RMS других Java-приложений. Вот что написано в MIDP 2.0 - спецификации класса RecordStore:
Цитата

New APIs in MIDP 2.0 allow for the explicit sharing of record stores if the MIDlet creating the RecordStore chooses to give such permission

То бишь, если приложение-владелец хранилища RMS при создании разрешило другим попользоваться, то можно. Для доступа к базам других приложений используется метод:
Код

RecordStore.openRecordStore(String recordStoreName, String vendorName, String suiteName) ;

Пусть, например, у нас есть приложение, у которого в jad / manifest-файле прописано:
  • MIDlet-Name=MyMIDlet1
  • MIDlet-Vendor=Dummy
Тогда для расшаривания своей базы приложение создает ее следующим образом:
Код

RecordStore.openRecordStore("mydb", true, RecordStore.AUTHMODE_ANY, true);


Доступ из другого приложения (suite) будет выглядеть так:

Код

RecordStore.openRecordStore("mydb", "Dummy", "MyMIDlet1");





PM MAIL   Вверх
javastic
Дата 22.5.2007, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

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



Dummy, всё конечно красиво написано, но надо учитывать что мидлет может пользоваться чужими RMS данными если он входит в тот же Midlet-Suite.


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Dummy
Дата 22.5.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



javastic, в том-то и суть, что мидлет не обязательно должен входить в данный suite. Vendor name и MIDlet name позволяют идентифицировать любой MIDlet suite, которому принадлежит RMS-хранилище. По этому поводу в нашей библии - MIDP 2.0- даже имеется особая пометка: 
Цитата

Note that this makes your recordStore accessible by any other MIDlet on the device. This could have privacy and security issues depending on the data being shared. Please use carefully..

То есть такой доступ имеет любой мидлет на мобильном устройстве вообще, а не в данном suite. Для интересу я проделал тестирование, аналогичное тому, что я описал, на некоторых моторольских телефонах. Работает и открытие, и чтение, и запись в базу другого suite.

Это сообщение отредактировал(а) Dummy - 22.5.2007, 18:24
PM MAIL   Вверх
javastic
Дата 23.5.2007, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

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



Надо будет попробовать.  smile 


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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