ЧТО МОГУТ ЯВА-ПРИЛОЖЕНИЯ, Возможности, и невозможности.

Инструкции для Sony Ericsson
Аватара пользователя
MotoFan
Опытный
Опытный
Сообщения: 126
Зарегистрирован: 17.06.2007 2:57
Модель телефона: se w 610i
Откуда: Kostroma
Контактная информация:

ЧТО МОГУТ ЯВА-ПРИЛОЖЕНИЯ, Возможности, и невозможности.

Непрочитанное сообщение#1 » MotoFan » 23.12.2007 16:25

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

Итак, для начала нужно чётко осознавать, что телефон и смартфон - кардинально разные вещи. В кратце могу лишь сказать, что смартфон позволяет менять очень и очень многое, перехватывать практически все события, менять некоторые менюшки, стандартные возможности и т.д. Это обусловлено тем, что на смартфонах стоит специальная "расширенная" так сказать операционная система (на нокиах это например Symbian), которая обладает повышенным функционалом. На телефонах стоит "простая" операционная система, позволяющая использовать только то, что нам предоставили разработчики, не позволяя менять ничего кроме настроек, разрешённых ими же.

В наше время поддержкой java никого не удивить. Её реализуют не только на смартфонах, но и на телефонах, причём давно. Программами java являются файлы имеющие расширение ".jar", и являющиеся по сути простым архивом. Для старых телефонов нужен ещё и маленький файл описания ".jad", который содержит некоторую информацию о приложении.
На Symbian тоже поддерживается java, но не всегда корректно и так быстро, как на некоторых телефонах. Но у них есть свой специальный формат приложений, имеющий то самое злополучное расширение ".sis".

Многие спрашивают, какой прогой перегнать sis в jar. Ответ один: никак, уже хотя бы потому, что возможности sis-приложений и jar-приложений очень различаются, поэтому даже если и появится вдруг где-нибудь такая перегоняющая программа, то толку с неё будет мало, т.к. то, что умеет смартфон, телефон сделать не сможет. Исключение составляют такие приложения, которые пишутся и в формате jar и в формате sis, но это двойная работа, и я, честно говоря, таких экземпляров не встречал.


Теперь о возможностях java-платформы. Вообще язык Java богатый, но большинство его возможностей направлено на разработку игр.
Возможности программ (т.е. приложений, направленных не на развлечение, а на выполнение некоторых функций, типа переводчика, диктофона и т.д.) на разных телефонах разные. Чем новее телефон - тем у него больше возможностей.

Некоторые из наиболее полезных функций java, которые могут облегчить вам жизнь:
Файловая система: чтение, запись. Java приложения могут ЧИТАТЬ\ПИСАТЬ информацию из\в файл на телефон. Так же есть возможность открытия изображений, проигрывания мелодий, но это ограничивается доступной памятью, т.к. для этого нужно весь файл загрузить в память. Так же возможны программы, шифрующие файлы под код. Именно работа с файловой системой является более-менее перспективной возможностью приложений, т.к. она позволяет делать программы-редакторы. Единственное ограничение редакторов в том, что формат файла придётся полностью писать самому, если он конечно не стандартный. Именно поэтому на Java пока что нету программ, работающих с файлами "*.doc", "*.xls" прочими офисными файлами. Откройте их блокнотом и поймите (ужаснитесь), с чем придётся иметь дело программисту, решившему взяться за такую программу.

Bluetooth\IrDA: Java-приложения могут использовать Bluetooth и Инфракрасный порт для связи с другими телефонами, обмениваться через них данными.

Интернет: Java-приложения могут подключаться к Интернету через GPRS. Если я не ошибаюсь, то разрешена полная работа с Интернетом: подключение, закачки и т.д.

SMS: Java-приложения могут отправлять СМС-сообщения, спрашивая при этом у вас, стоит ли это делать. Поэтому про вирусы дружно забыли.

Контакты: Java-приложения могут читать и писать (создавать, редактировать) информацию о ваших контактах и событиях календаря.

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

Аудиозапись: Java-приложения могут записывать звук с микрофона (и конечно проигрывать его потом).

Прочие мелкие возможности заключаются в хранении любый файлов в самом Java-приложении и их чтение. Эта возможность реализована на всех телефонах, поэтому распространены программы вроде тех же переводчиков, хранящих базы слов, слайд-шоу приложений - программы, содержащие фотографии и отображающие их и т.д., но возможности этих программ обычно жёстко ограничены.

Хранение информации: практически все телефоны умеют хранить информацию в специальной секции под названием RecordStore, куда можно поместить всё что угодно. Единственный недостаток этого "хранилища" в том, что каждая программа хранит свою информацию отдельно от других, и вне этой программы её прочитать невозможно. Так же после удаления программы удалится и всё то, что она хранила в RecordStore.

Конечно, это не все возможности Java-приложений, но они наиболее востребованны и интересны.

Внимание! Разные модели телефонов имеют разные возможности java-машин, или попросту говоря, приложения могут выполнять не все команды на всех телефонах. Вспомнить хотябы Bluetooth. Далеко не все телефоны, на которых есть БТ позволяют играть через него на java-играх. Например:
K500 - нету файловой системы. Другими словами, приложения не смогут загрузить файл, сохранённый на телефоне.
K700 - нету Bluetooth и файловой системы.
Поэтому перед тем, как искать какую-то программу, узнайте, поддерживает ли ваш телефон нужные возможности. Форумы с поиском в помощь...


Теперь о тех функциях, которые многие так хотят получить, но пока что (а может и никогда) не смогут получить из Java:

Защита смс от просмотра: Java не имеет доступа к СМС.

Фильтр звонков: Java не может отлавливать звонки и тем более блокировать их.

Зашита папок паролем: Java может работать с папками и файлами. Но она НЕ МОЖЕТ перехватывать обращение телефона к ним, поэтому никаких паролей на их чтение поставить НЕЛЬЗЯ. Единственный выход - шифрование ФАЙЛОВ. В этом случае каждый файл в отдельности будет модифицироваться так, что его чтение станет бесполезным, до обратного преобразования (для которого обычно и нужен пароль)

Антивирусы: во-первых, возможностей Java недостаточно для того, чтобы написать
более-менее работоспособный вирус, т.к. при любом обращении к файловой системе, Bluetooth, Интернет или отправкой СМС у вас будет спрошено, стоит ли это делать. Думаю никто не будет слать СМС на неизвестные номера? Это раз. Во-вторых, Java не имеет возможности так же отлавливать события, чтобы блокировать их. Единственное, что может такой "Антивирус" - так это сканировать ваши файлы, но стоит помнить о бесконечных запросах и скорости чтения\записи файлов на телефоне. Так же важно то, что далеко не все телефоны могут запускать одновременно несколько Java-приложений. Последний гвоздь в крышку гроба таких антивирусов - во время работы Java-приложений телефон неплохо исползует акумулятор, что вряд ли стоит "Антивируса", от коротого даже нету толка.

Изменение внешнего вида, меню, запрет функций телефона: всё это Java-приложение сделать не может, т.к. у него нету доступа ни к меню, ни к прочим полезностям, вроде замены стандартного окошка информации о состоянии пямяти и аккумулятора телефона.

Работа с файлами типа "*.doc", "*.xls" и прочими офисными файлами: пояснено выше, там где возможности Файловой системы.

Инфракрасный порт в телефонах Sony Ericsson похоже что тоже недоступен. В любом случае реализовать ПУЛЬТ ДЛЯ ТЕЛЕВИЗОРА НЕВОЗМОЖНО, т.к. для этого даже не хватит мощности ИК-порта (вспомните, на каком расстоянии нужно держать телефоны при передаче чего-либо через ИК-порт? Вот на таком же расстоянии и к телевизору нужно будет подойти).

Вывод. Что же кроется под Java-приложениями? Грубо говоря, Java - всего-лишь игрушка с небольшими возможностями. На ней можно сделать хорошую игру, работающую по Bluetooth, но ей невозможно расширить возможностей телефона. Ей можно делать удобные инструменты для изменений файлов, контактов и т.д., но нельзя ей заменить стандартные аналогичные средства.
Оноситесь к Java не более чем как к маленьким бонусам, которые могут помочь вам интересно провести время, пообщаться в чате, посидеть в интернете и т.д. Не стоит ждать от неё того, что она расширит возможности телефона или изменит их. Если вам нужен полный контроль над телефоном - только смартфон поможет решить эту проблему.

Надеюсь информация поможет некоторым поближе узнать Java-приложения, и запомнить, что стоит от них ждать, а чего не стоит.

взято от сюда >>>>>
Изображение

Ответить