![]() |
Как автообновить JAVA прграммку на мобиле ?
Хочу сделать так чтобы программка установленная на сотовом могла сама себя обновлять, т.е. передавать ссылку системе, которая запустит браузер для установки.
Как это сделать ? Непойму.. а знаю что так делают:SOS: |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Это можно сделать с помощью функции platform_request из библиотеки m2.
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Подключаешь библиотеку m2 и вызываешь функцию
типа platform_request('http://tvoi.portal/midlet.jar') Я такое проделывал в реальных приложениях. Даже чуть сложнее делал. Сначала скачивал текстовый файл, в котором прописана версия программы, а потом анализировал текущую версию программы с выложенной на сайте и в зависимости от результатов и выбора пользователя скачивал или не скачивал обновленную версию программы. Я так делал на SE. Nokia, насколько я понял, такого не позволяют. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Поставил, сама функция работает, т.е. запускается стандартный браузер.
Только у меня возник вопрос следующий: После успешной загрузки, стандартный браузер говорит, что KAKA.jar не поддерживается телефоном и записывает программку в папку Прочее (телефон SE K300). Тогда как обновлялся я и не раз из других программок. Мне же надо перезаписать саму себя в папке Приложения. А тут даже выбора нет никакого. Не подскажете в чем проблема может быть ? |
Ответ: Как автообновить JAVA прграммку на мобиле ?
попробовал обновить программку чужую (w1) обновилась прекрасно, дело не в телефоне значит
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Создай на хостинге с поддержкой PHP документ.
Назови его например index.php , и впиши в него вот этот код : PHP код:
А обращаться из MP к серверу очень просто. :-) Только вот в библиотеке lib_web от pilgrim'a непонятно почему метод web.get_response ничего не возвращает.. вот код. Код:
program internet; |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Дак это че, пример как прочитать чего-то, а я хочу инсталлировать.
Есть программа(123.jar) в папке Приложения. 1. Запускаем ее (123.jar) 2. В ней выбираем "Обновить" 3. Программа (123.jar) Запускает встроенный браузер 4. Браузер завершает работу программы 5. Браузер скачивает новую версию 123.jar 6. Браузер Перезаписывает старую версию (123.jar) новой (123.jar) 7. Браузер Предлагает запустить новую версию (123.jar) Вот так все должно быть. Данный вначале пример запускает браузер и тот скачивает судя по всему новую версию, но он не может ее перезаписать по причине: что (123.jar) "не поддерживается телефоном" и записывает программку в папку "Прочее" |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Цитата:
а по сути добавил ту же m2 библиотеку, и еще почитал бы о функции halt в мануале. И всё.. )) |
Ответ: Как автообновить JAVA прграммку на мобиле ?
после вызова r:=platform_request('http://asdasd/123.jar');
сразу делаю halt - не работает так. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Цитата:
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
ViNT, скорее всего не закрывается приложение.
Например, у меня на Symbian открытые приложения переходят в "паузу", т.е. на время отхода меня в меню или куда-то еще в телефоне (но не в приложении) оно приостанавливается. Скорее всего оно выключится только тогда, когда пользователь вернется в программу.. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
У меня на SE без проблем Halt'ом закрывается(если поставить его сразу после platform_request.
Вообще, если бы дело было в том, что приложение не закрыто, SE написал бы что-то типа "Ошибка при выполнении операции". А тут, похоже, MIME-тип не распознает. Я в вопросах php не силен, но похоже нужно чтобы сервер передавал верное значение MIME-Type(это не винда, тут расширение файла мало что значит). |
Ответ: Как автообновить JAVA прграммку на мобиле ?
PHP код:
А насчёт отдачи сервером, то это нужно прописывать расширения в .htaccess , но это при условии что сервер Apache. Код:
AddType text/vnd.sun.j2me.app-descriptor .jad # для JAD |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Да мне не надо проверять: Есть новая версия или нету ее.
Мне надо Проинсталлировать и все. Проверка у меня давно написана. Попробовал добавить в htaccess строчки: AddType text/vnd.sun.j2me.app-descriptor .jad # для JAD AddType application/java-archive .jar # для JARЭффекта никакого, вот она ссылка мидлетега: http://freemir.ru/freemir.jar в нем есть кнопочко - Обновить. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
SE k510i - полет нормальный.
Запускается загрузка, приложение грузится и устанавливается. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Все, в принципе верно.
Для полного соответствия стандартам можно передавать ссылку не на jar, а на jad. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Вложений: 1
Не опоздал? Вот ещё один примерчик программы, которая сама себя обновляет с проверкой на новизну версии. SE K550 полёт нормальный.
|
Re: Как автообновить JAVA прграммку на мобиле ?
odd спасибо, на SE W810i полёт нормальный :)
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Щас провееерим 8)
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Кстати, k300 пробовал и jad подсовывать, Может я его сделал неправильно, только URL поменял там, остальное соответствует, но не работало.
А в приведенной проге я нашел опять же единственную нужную строчку: platform_request(url+file2) которая не пашет на k300, однако повторяюсь: Мобильная софтина от W1.RU без проблемм устанавливает обновление на этом же телефоне, Правда не перезаписывая, а устанавливала рядышком с другим именем, но все же. Та же Opera обновилась без проблемм. А вот JAD который клал: Цитата:
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Пока писал подумал - а зачем я менял JAD, попробовал писать тот же что и генериться - обновление стало проходить ХОРОШО.. НО!!
Теперь ясно что надо действительно отправлять JAD, но при этом браузер не может заменить на скачанный файл. 8(__) Во время работы браузера программа еще запущщена, а как только приходит ответ от браузера, программа тут же выполняет HALT, код такой: Цитата:
Так ли это ? И как от этого избавиться ? |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Что кстати интересно, если ссылаться на jar, то на новых телефонах это срабатывает и программа обновляется, а если ссылаться на jad, то на некоторых оно так же не может обновить, Я это не утверждаю ,просто один чел сказал что перестало обновляться(тестер). И сообщение точно такое же как и на K300, а с jar-работало нормалек.
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
У меня (SE k510i)программа закрывается halt'ом сразу после вызова platform_request и приложение нормально обновляется JAR'ом.
Если действительно программа ждет выполнения platform_request, можно попробовать прицепить другой поток, который будет закрывать программу. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Как-то это неправильно, хотя я уже думал об этом, Может быть отловить событие перехода в ждущий режим, илипросто второй поток запустить, но ни того ни другого я не знаю как сделать на а на Java и подавно.
Может кто подскажет как можно правильно завершиться ? |
Ответ: Как автообновить JAVA прграммку на мобиле ?
События о переходе в ждущий режим как такового нет. Точнее, обработчик есть, но только в java.
Второй поток можно запустить с помощью библиотеки Lib_thread. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
ни примеров, ни толком описания нету для либы.. может кините простой примерчик как запустить паралельный процесс и в нем через 10 секунд завершить работу программы.
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
За многопоточность (1 дополнительный поток) отвечает библиотека Lib_thread. Подключи её в программу. Далее добавляешь в свою программу процедуру:
Код:
Procedure threadaction(); |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Сделал как написали, в самом начале после begin написал
thread.init; На мобиле при вызове init белый экран и все висит, это если вначале в самом, а если например не сразу его вызывать а из функции какой-нибудь, то функция эта просто напросто игнорируется и ничего не происходит. Скачивал либу отсюда http://forum.boolean.name/attachment...6&d=1181032475 |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Интересно кто автор этой библиотеки, видимо в ней ошибка где-то, почему-то виснет телефон. k300 не должен виснуть вроде как.
Даже пример который идет к этой либе виснет точно так же. Показывая Белый чистый экран. Или есть другие варианты ? |
Ответ: Как автообновить JAVA прграммку на мобиле ?
А ты в проект файл Thread_class.class добавлял?
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Значит че я сделал.. В папку MidletPascal записал следующие файлы:
Thread_class.class Thread_class.java Lib_thread.class Lib_thread.java В проекте добавил : Цитата:
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
чего, мыслей нету ни у кого больше ?
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Не, не так. Thread_class.class надо добавить в твой проект так же как ты картинки добавляешь. Или в готовый мидлет запихни с помощью какого-нибудь архиватора типа WinRAR.
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
odd сказал правильно - нужно добавить Thread_class.class как ресурс, и все будет работать. Кстати, это написано в файле Lib_thread.txt.
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Спасибо Авторам! Все получилось и теперь на SE K300 все отлично обновляется. Порадовало даже то что Когда программа спрашивает разрешения на доступ к WAP, это время в таймере не задействовано и программа не сбрасывается, т.е. не нужно успевать разрешить доступ в течение 5 секунд. Проверено только на SEK300, если у других будут проблемы - напишу еще. Всем спасибо огромное.
Могу разместить ссылки и анкоры на ваши проекты, если укажете. |
Ответ: Как автообновить JAVA прграммку на мобиле ?
всем спасибо, сделал.
подскажите, можно ли как-то настроить, чтобы при компиляции проекта в файле JAD строка MIDlet-Jar-URL прописывалась как надо? например: MIDlet-Jar-URL: http://site/app.jad ато ручками каждый раз... не трудно, но не солидно :) |
Ответ: Как автообновить JAVA прграммку на мобиле ?
Цитата:
|
Часовой пояс GMT +4, время: 13:29. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot