?

Log in

No account? Create an account
13 мар, 2009 @ 07:27 Вопрос по J2ME
Музыка: Агнета Фальтског, юная, красивая и на шведском
Собственно, в мудрости и эрудиции здешних обитателей я уже успел убедиться. :)
И возник ещё один вопрос. Я пытаюсь переписать свои движковые наработки на яву для мобильников. В частности, позаимстсвовал у одного мудрого человека замечательную библиотеку для работы с текстурами практически во всех известных графических форматах. Одна беда: не могу найти в J2ME средств для банального считывания данных из произвольного файла. В пакете java.io они самым пошлым образом отсутствуют, например. Не подскажет ли мне почтенное сообщество, чем мне следует воспользоваться? Не может ведь такого быть, чтобы вовсе отсутствовала столь необходимая операция.
gekisai:
[User Picture Icon]
From:brainslugs.blogspot.com
Date:Март, 13, 2009 07:44 (UTC)
(Ссылка)
Ее там действительно нету, т.к. мидлеты работают в специальной изолированной среде, и доступа к файлам не имеют. В конце концов, не в каждом мобильнике есть подобие файловой системы.

В JME вместо этого есть RMS (что-то вроде реестра в винде, только проще), плюс можно читать файлы из собственного jar'а, см. метод getResourceAsStream().
(Ответить) (Ветвь дискуссии)
[User Picture Icon]
From:spiri7
Date:Март, 13, 2009 08:45 (UTC)
(Ссылка)
На самом деле такая возможность есть - но не для всех телефонов. Телефон должен поддерживать JSR 75.
Вот статья как это работает.
http://www.mobilab.ru/articles/79/

Но следует заметить что приложение будет постоянно требовать разрешение на доступ к файловой системе. SE кажется спрашивают один раз, а Нокии регулярно при каждой попытке доступа. Если это планируется как игра - то придется подписывать мидлет.
(Ответить) (Уровень выше) (Ветвь дискуссии)
[User Picture Icon]
From:iridix
Date:Март, 13, 2009 09:39 (UTC)
(Ссылка)
Файлы в J2ME находятся внутри .jar архива.

обращаться так:
InputStream is = getClass().getResourceAsStream("/" + filename");
обращаю особое внимание на forward slash "/" перед именем файла.

А также. Вероятно, на твоем диске находится WTK (Sun Java Wireless Toolkit).
Поищи подстроку getResourceAsStream по *.java файлам в директории C:\WTK\apps и получишь массу примеров.

Здесь справедливо указали, что имеется дополнительный пакет классов JSR75, но он предназначен для чтения и сохранения внешних файлов к мидлету (файлы пользователя, которые тот закачал на телефон, или файлы которые в процессе своей работы создает мидлет). Этот пакет JSR75 присутствует далеко не во всех трубках и работает специфично - при попытке обращения, если мидлет не подписан, выдает пользователю предупреждение. Для сохранения текстур он непригоден.

И последнее. Странное место для подобного плана вопросов.
Welcome http://www.juga.ru
(Ответить) (Ветвь дискуссии)
From:gekisai
Date:Март, 23, 2009 04:18 (UTC)
(Ссылка)
От души благодарю. :)
(Ответить) (Ветвь дискуссии)