|
Основной форум Сюда все проблемы связанные с программированием. |
03.07.2008, 15:06
|
#1
|
Нуждающийся
Регистрация: 04.10.2007
Сообщений: 64
Написано одно полезное сообщение
|
Как автообновить JAVA прграммку на мобиле ?
Хочу сделать так чтобы программка установленная на сотовом могла сама себя обновлять, т.е. передавать ссылку системе, которая запустит браузер для установки.
Как это сделать ? Непойму.. а знаю что так делают
|
(Offline)
|
|
03.07.2008, 19:02
|
#2
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Это можно сделать с помощью функции platform_request из библиотеки m2.
|
(Offline)
|
|
04.07.2008, 08:23
|
#3
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Подключаешь библиотеку m2 и вызываешь функцию
типа platform_request('http://tvoi.portal/midlet.jar')
Я такое проделывал в реальных приложениях. Даже чуть сложнее делал.
Сначала скачивал текстовый файл, в котором прописана версия программы, а потом анализировал текущую версию программы с выложенной на сайте и в зависимости от результатов и выбора пользователя скачивал или не скачивал обновленную версию программы.
Я так делал на SE. Nokia, насколько я понял, такого не позволяют.
|
(Offline)
|
|
04.07.2008, 08:55
|
#4
|
Нуждающийся
Регистрация: 04.10.2007
Сообщений: 64
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Поставил, сама функция работает, т.е. запускается стандартный браузер.
Только у меня возник вопрос следующий: После успешной загрузки, стандартный браузер говорит, что KAKA.jar не поддерживается телефоном и записывает программку в папку Прочее (телефон SE K300). Тогда как обновлялся я и не раз из других программок. Мне же надо перезаписать саму себя в папке Приложения. А тут даже выбора нет никакого. Не подскажете в чем проблема может быть ?
|
(Offline)
|
|
04.07.2008, 09:41
|
#5
|
Нуждающийся
Регистрация: 04.10.2007
Сообщений: 64
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
попробовал обновить программку чужую (w1) обновилась прекрасно, дело не в телефоне значит
|
(Offline)
|
|
04.07.2008, 09:45
|
#6
|
AnyKey`щик
Регистрация: 21.06.2008
Адрес: Нижегородская обл.
Сообщений: 17
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Создай на хостинге с поддержкой PHP документ.
Назови его например index.php , и впиши в него вот этот код :
<? $all_versions = array( // массив со всеми версиями программы. 0 => '1.0.0', 1 => '1.0.1', 2 => '1.0.2', 3 => '1.0.3', 4 => '1.0.4', 5 => '1.0.5' ); $client_version = isset($_GET['version']) ? $_GET['version'] : $all_versions[0]; if($client_version != $all_versions[sizeof($all_versions)-1]) { echo 'Necessary upgrade.'; } else { echo 'Upgrade does not need.'; } ?>
запомни к нему адрес.
А обращаться из MP к серверу очень просто.
Только вот в библиотеке lib_web от pilgrim'a непонятно почему метод web.get_response ничего не возвращает..
вот код.
program internet;
uses web;
var connection : integer;
VERSION, resultat : string;
begin
VERSION := '1.0.0';
connection := web.open('http://localhost/index.php?version=' + VERSION);
web.set_method('GET');
web.set_property('Host', 'localhost');
web.set_property('Accept', 'text/html');
web.set_property('Accept-Charset', 'UTF-8');
web.set_property('Accept-Encoding', 'deflate');
web.set_property('Accept-Language', 'ru');
web.set_property('User-Agent', 'MP Browser');
if web.send = 200 then
begin
if web.get_response = 'Necessary upgrade.' then
begin
DrawText('Обновление',0,0);
repaint;
delay(5000);
end;
else
begin
DrawText('Всё ок',0,0);
repaint;
delay(5000);
end;
end;
else
begin
DrawText('Ошибка сервера.',0,0);
repaint;
delay(5000);
end;
web.close;
end.
__________________
..глаза боятся, руки делают..
|
(Offline)
|
|
04.07.2008, 10:46
|
#7
|
Нуждающийся
Регистрация: 04.10.2007
Сообщений: 64
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Дак это че, пример как прочитать чего-то, а я хочу инсталлировать.
Есть программа(123.jar) в папке Приложения.
1. Запускаем ее (123.jar)
2. В ней выбираем "Обновить"
3. Программа (123.jar) Запускает встроенный браузер
4. Браузер завершает работу программы
5. Браузер скачивает новую версию 123.jar
6. Браузер Перезаписывает старую версию (123.jar) новой (123.jar)
7. Браузер Предлагает запустить новую версию (123.jar)
Вот так все должно быть.
Данный вначале пример запускает браузер и тот скачивает судя по всему новую версию, но он не может ее перезаписать по причине:
что (123.jar) "не поддерживается телефоном" и записывает программку в папку "Прочее"
|
(Offline)
|
|
04.07.2008, 13:10
|
#8
|
AnyKey`щик
Регистрация: 21.06.2008
Адрес: Нижегородская обл.
Сообщений: 17
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Дак это че, пример как прочитать чего-то, а я хочу инсталлировать.
|
так тебе можно и всю программу написать =))
а по сути добавил ту же m2 библиотеку, и еще почитал бы о функции halt в мануале. И всё.. ))
__________________
..глаза боятся, руки делают..
|
(Offline)
|
|
04.07.2008, 13:48
|
#9
|
Нуждающийся
Регистрация: 04.10.2007
Сообщений: 64
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
после вызова r:=platform_request('http://asdasd/123.jar');
сразу делаю halt - не работает так.
|
(Offline)
|
|
04.07.2008, 14:36
|
#10
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Сообщение от jkeks
после вызова r:=platform_request('http://asdasd/123.jar');
сразу делаю halt - не работает так.
|
В смысле обновление не происходит или приложение не закрывается?
|
(Offline)
|
|
04.07.2008, 14:52
|
#11
|
AnyKey`щик
Регистрация: 21.06.2008
Адрес: Нижегородская обл.
Сообщений: 17
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
ViNT, скорее всего не закрывается приложение.
Например, у меня на Symbian открытые приложения переходят в "паузу", т.е. на время отхода меня в меню или куда-то еще в телефоне (но не в приложении) оно приостанавливается.
Скорее всего оно выключится только тогда, когда пользователь вернется в программу..
__________________
..глаза боятся, руки делают..
|
(Offline)
|
|
04.07.2008, 14:58
|
#12
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
У меня на SE без проблем Halt'ом закрывается(если поставить его сразу после platform_request.
Вообще, если бы дело было в том, что приложение не закрыто, SE написал бы что-то типа "Ошибка при выполнении операции". А тут, похоже, MIME-тип не распознает. Я в вопросах php не силен, но похоже нужно чтобы сервер передавал верное значение MIME-Type(это не винда, тут расширение файла мало что значит).
|
(Offline)
|
|
04.07.2008, 15:11
|
#13
|
AnyKey`щик
Регистрация: 21.06.2008
Адрес: Нижегородская обл.
Сообщений: 17
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
<? $all_versions = array( // массив со всеми версиями программы. 0 => '1.0.0', 1 => '1.0.1', 2 => '1.0.2', 3 => '1.0.3', 4 => '1.0.4', 5 => '1.0.5' ); $client_version = isset($_GET['version']) ? $_GET['version'] : $all_versions[0]; if($client_version != $all_versions[sizeof($all_versions)-1]) { echo 'Necessary upgrade.'; } else { echo 'Upgrade does not need.'; } ?>
если ты про это, то он просто показывает последнюю версию мидлета, ну и собственно возвращает результат.
А насчёт отдачи сервером, то это нужно прописывать расширения в .htaccess , но это при условии что сервер Apache.
AddType text/vnd.sun.j2me.app-descriptor .jad # для JAD
AddType application/java-archive .jar # для JAR
__________________
..глаза боятся, руки делают..
|
(Offline)
|
|
04.07.2008, 15:27
|
#14
|
Нуждающийся
Регистрация: 04.10.2007
Сообщений: 64
Написано одно полезное сообщение
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
Да мне не надо проверять: Есть новая версия или нету ее.
Мне надо Проинсталлировать и все.
Проверка у меня давно написана.
Попробовал добавить в htaccess строчки:
AddType text/vnd.sun.j2me.app-descriptor .jad # для JAD
AddType application/java-archive .jar # для JARЭффекта никакого, вот она ссылка мидлетега:
http://freemir.ru/freemir.jar в нем есть кнопочко - Обновить.
|
(Offline)
|
|
04.07.2008, 15:34
|
#15
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Как автообновить JAVA прграммку на мобиле ?
SE k510i - полет нормальный.
Запускается загрузка, приложение грузится и устанавливается.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:55.
|