ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Пишем проги для мобилок.Простейшее клиент-серверное приложение.
  #1  
Старый 05.12.2007, 22:51
inlanger
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме:
3326855

Репутация: 702


Cool Пишем проги для мобилок.Простейшее клиент-серверное приложение.

Недавно стал интересоваться программированием под мобильный устройства и набрёл на очень интересную штуку. Называется она MidletPascal. О нём и пойдёт речь.
Статья не тянет на уровень гуру-ачата, но многим будет интересна.
Немного информации о том, о чем пойдёт речь в статье.
Цитата:
Мидлет — программа для мобильного телефона, написанная на языке Java для виртуальной машины J2ME (Java 2 Micro Edition).

Мидлет для своего запуска требует устройство, которое поддерживает J2ME и MIDP. Как и любая другая Java-программа, однажды скомпилированный мидлет может быть запущен на любом устройстве. Наиболее популярные средства разработки мидлетов — Sun Java Wireless Toolkit с официального сайта Java и NetBeans вместе с NetBeans Mobility Pack, которые доступны на многих платформах и полностью свободны. В дистрибутиве мидлета кроме файла .jar содержится также файл .jad, в котором описывается содержимое .jar-а.

Мидлет должен удовлетворять следующим требованиям для того, чтобы его можно было запустить на мобильном телефоне:

* Главный класс должен быть потомком класса javax.microedition.midlet.MIDlet
* Мидлет должен быть упакован в .jar-файл (например, с помощью jar-tool)
* .jar-файл должен быть препроверен при помощи preverifier-а.
* В некоторых случаях .jar-файл должен быть подписан владельцем мобильного телефона.
Цитата из википедии
Так вот... Набрёл я на этот самы MidletPascal, и что интересного я про него прочитал...

MIDletPascal - паскалеподобный язык программирования, предназначенный для разработки мобильных приложений. Компилятор MIDletPascal транслирует исходный текст на Паскале в байт-код Java™ micro edition (J2ME). Программы, созданные в MIDletPascal, могут исполняться любым мобильным устройством (таким, как мобильный телефон), поддерживающим платформы MIDP 1.0 и CLDC 1.0.

Тут я подумал...а не зря ли я в школе мучался, пытаясь реализовать очередную программу на ненавистном Паскале?

Открыв компилятор я немного удивился. Привычной рабочей среды я не увидел. А увидел я вполне приятный интерфейс программы с небольшим набором фунций.

Естественно я сразу полез ковыряться в справку. В отличии от некоторых программ тут нашлось много интересного. Оказывается, программы, скомпилированные этой прогой работают и с интернетом, и с СМС, и с файлами и т.д.

В интернета нашёл пример клиент-серверного приложения. Вот его код:
Код:
var conn        : http; 
    htmlBody    : string; 
    contentType : string; 

begin 
  // try to open a HTTP connection to www.google.com 
  if not OpenHttp(conn, 'http://www.google.com') then Halt; 

  // set the HTTP method (other supported methods are HEAD and POST) 
  SetHttpMethod(conn, GET); 

  // insert a User-agent header field 
  AddHttpHeader(conn, 'User-agent', 'MIDletPascal browser'); 

  // send HTTP request and check if the reply code is 200 (200 = OK) 
  if SendHttpMessage(conn) <> 200 then Halt; 

  // read the HTTP response body 
  htmlBody := GetHttpResponse(conn); 

  // read Content-type response header field 
  contentType := GetHttpHeader(conn, 'Content-type'); 

  // close the open connection 
  CloseHttp(conn); 
end.
Скомпилировав данную программу и скинув её на телефон я её запустил. Ничего интересного не произошло. Телефон попросил подключиться к интернету, выкачал несколько килобайт и программа закрылась. Почесав затылок я стал искать эмулятор телефона, дабы не закачивать каждый раз файл на телефон. Выбор пал на MidpX.

Теперь проверять проги стало легче. Немного изменив предложенный выше код, и подстроив его под свои нужны я написал своё первоё клиент-серверное приложение на j2me.
Вот его код:
Код:
program SportMobile;
var conn        : http; 
    htmlBody    : string; 
    contentType : string;
		zag: string;
		text: string;
		label_id: integer;
begin 
  /////////////////////////   берём заголовок новости   ///////////////////// 
  // пытаемся подключиться к заданному URL
  if not OpenHttp(conn, 'http://sportmobile.net//news_p.php?type=world&num=1&t=0') then Halt; 
  // выбираем метод поключения (GET, HEAD и POST) 
  SetHttpMethod(conn, GET); 
  // вставляем User-agent заголовочное поле 
  AddHttpHeader(conn, 'User-agent', 'MIDletPascal browser'); 
  // посылаем HTTP запрос и проверяем ответ (200 = OK) 
  if SendHttpMessage(conn) <> 200 then Halt; 
  // читаем тело HTTP ответа 
  htmlBody := GetHttpResponse(conn);
  zag:= htmlBody; // присваеваем его значение созданной ранее переменной
  // читаем заголовок ответа Content-type
  contentType := getHttpHeader(conn, 'Content-type');   
  // закрываем соединение
  CloseHttp(conn);
  
  //////////////////////////   берём основной текст новости    ////////////////
  // пытаемся подключиться к заданному URL
  if not OpenHttp(conn, 'http://sportmobile.net//news_p.php?type=world&num=1&t=1') then Halt; 
  // выбираем метод поключения (GET, HEAD и POST)
  SetHttpMethod(conn, GET); 
  // вставляем User-agent заголовочное поле  
  AddHttpHeader(conn, 'User-agent', 'MIDletPascal browser'); 
  // посылаем HTTP запрос и проверяем ответ (200 = OK) 
  if SendHttpMessage(conn) <> 200 then Halt; 
  // читаем тело HTTP ответа 
  htmlBody := GetHttpResponse(conn);
  text:= htmlBody + zag; // присваеваем его значение созданной ранее переменной
  // читаем заголовок ответа Content-type
  contentType := GetHttpHeader(conn, 'Content-type'); 
  // закрываем соединение 
  CloseHttp(conn);
  
  
  
  //////////////////////    выводим новость на экран   /////////////////////
  label_id := formAddString(zag);
  label_id := formAddString(text);
  showForm;  
  setTicker('Last football news'); //показываем заголовок программы
  delay(-1);   //безпрерывное выполнение проги
 
end.
Начнём рабирать код. Для тех, кто учил паскаль иди делфи не составить труда расшифровать его. Для остальных немного подробнее расскажу.
Начало программы начинается со слова programm
Далее идёт блок описания переменных, который начинается со слова var
Потом идёт служебное слово begin, обозначающее начало основного кода программы(так же оно используется для обозначения операторных скобок).
И сам код программы, который довольно понятно прокомментирован.

В итоге мы получили приложение, котое умеет показывать последние спортивные новости. Ничего сложного в этом нет. Дерзайте
Все права пренадлежат мне, при копипасте не забывайте давать сюда ссылку. Вот только одно НО. Не могу понять, почему сайт отдаётданные в юникоде, а приходят кракозябры...
Надеюсь было интересно. Ваш inlanger

ссылки на нужные файлы:
MidletPascal
MidpX

Последний раз редактировалось inlanger; 05.12.2007 в 23:58..
 
Ответить с цитированием

  #2  
Старый 07.12.2007, 00:07
FraiDex
Участник форума
Регистрация: 16.06.2006
Сообщений: 179
Провел на форуме:
515368

Репутация: 135
Отправить сообщение для FraiDex с помощью ICQ
По умолчанию

Цитата:
Статья не тянет на уровень гуру-ачата, но многим будет интересна.
ну эт ты загнул...
а хотя прикольно писать проги для мобил на Pascal'e хех.. ещё бы на бейсике сделали
 
Ответить с цитированием

  #3  
Старый 07.12.2007, 00:22
inlanger
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме:
3326855

Репутация: 702


По умолчанию

Цитата:
ещё бы на бейсике сделали
будешь смеятся...но и такое есть
 
Ответить с цитированием

  #4  
Старый 07.12.2007, 00:38
FraiDex
Участник форума
Регистрация: 16.06.2006
Сообщений: 179
Провел на форуме:
515368

Репутация: 135
Отправить сообщение для FraiDex с помощью ICQ
По умолчанию

Цитата:
будешь смеятся...но и такое есть
:d мдя блин... чё ток народ не придумает...
 
Ответить с цитированием

  #5  
Старый 07.12.2007, 00:41
VERte][
Moderator - Level 7
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме:
3013539

Репутация: 441
По умолчанию

есть))) Вот статейка с одного сайта:

____________________________________________
DROS - DOS для мобильника

Сегодня мы немного поворошим листву былого и установим в мобильный телефон операционку DOS, самую, что ни на есть, настоящую, с командной строкой, оснащенную интерпретатором языка Basic, FTP-клиентом и прочими наворотами, свойственными этой некогда популярной системе. Ну, а поможет нам в этом нелегком деле бесплатный Java-мидлет DROS, работающий исключительно на устройствах, поддерживающих профиль MIDP второй версии и отвечающих стандарту JSR-75 (FileConnection and PIM API).

WAP-ресурсом проект пока не обзавелся, поэтому для инсталляции приложения придется немного пошаманить с компьютером: скачать архив dros.zip (274 кб), распаковать его и вручную, по воздуху или через "шнурок" скопировать в память мобильника JAD- и JAR-файлы.

Запустившись, DROS выведет на дисплей стандартный командный интерфейс дисковой операционной системы, готовой в любой момент выполнить одну из нижеследующих инструкций, по большей части позаимствованных из старушки DOS:
cd - сменить директорию
copy - скопировать файл
move - переместить файл
dir - отобразить содержимое директории
del - удалить файл/директорию
mkdir - создать директорию
dial - набрать указанный телефонный номер
cls - очистить экран
pf - распечатать файл (вывести на экран)
run - запустить программу на языке Basic
<имя_диска> - сменить диск
edit - отредактировать текстовый файл
<имя_файла>.bat - запустить командный файл
bcolor - установить цвет фона
fcolor - установить цвет символов
time - отобразить текущее время
play - проиграть указанный файл аудио- или видеоформата
ftp - запустить FTP-клиент
? - вызвать справку








Не обижен командами и встроенный клиент для передачи данных по протоколу FTP. Полный список их таков:
оpen - открыть сервер
user - имя пользователя
pass - пароль для доступа к ресурсу
cd - сменить директорию
get - принять файл
put - передать файл
rename - переименовать файл/директорию
site - выполнить команду на удаленном сервере
dir <путь> - получить содержимое директории
dirf <путь> - полный список директорий
del - удалить файл/директорию
mkdir - создать директорию
ascii - текстовый режим передачи данных
binary - бинарный режим передачи данных
cls - очистить экран
? - помощь


Внушает? Добавьте к этому встроенный мультимедийный плеер и интерпретатор языка Basic, возможностей которого с лихвой хватает для создания несложных программ, в том числе и графических. От перечисления списка доступных операторов мы воздержимся, напоминая, что любой желающий может с ним ознакомиться, обратившись к файлу Manual.pdf из архива с программой DROS.

Вот, пожалуй, и все наши впечатления о мобильном эмуляторе DOS. Тем, кому до сих пор, спустя десятилетия, близки воспоминания об этой операционной системе, рекомендуем поиграться с эмулятором или хотя бы взять его на заметку - вдруг ностальгия нахлынет.

ссыль для скачивания: http://www.whoredoeuvre.com/dros2.html
_________________________________________

У меня такой на телефоне стоит, ну вообщем кроме как поразвлекаться на лекциях по истории с написанием программок на бейсике, ничем больше эта прога не примечательна =)
 
Ответить с цитированием

  #6  
Старый 09.12.2007, 23:34
Dimi4
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
Провел на форуме:
7617458

Репутация: 3965


Отправить сообщение для Dimi4 с помощью ICQ
По умолчанию

синткасис 100% идентичный паскалю?
 
Ответить с цитированием

  #7  
Старый 10.12.2007, 01:25
inlanger
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме:
3326855

Репутация: 702


По умолчанию

именно синтаксис - да. отличие от паскаля - больше операторов, и другие операторы для работы с гафикой.
 
Ответить с цитированием

  #8  
Старый 10.12.2007, 15:02
SQLHACK
Голос разума
Регистрация: 27.09.2006
Сообщений: 529
Провел на форуме:
1607210

Репутация: 1617


Отправить сообщение для SQLHACK с помощью ICQ
По умолчанию

Вот вам книжечка.
Горнаков Symbian OS. Программирование мобильных телефонов на C++ и Java 2 ME
скачать
__________________
Бойтесь своих желаний. Они могут исполниться....

...О-о-о-о, ушами не услышать, глазами не понять!
 
Ответить с цитированием

  #9  
Старый 10.12.2007, 15:43
inlanger
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме:
3326855

Репутация: 702


По умолчанию

Это надо яву учить... и не у всех мобилы с симбой. а тут - 3 метра места на винте и счастья немеряно.
 
Ответить с цитированием

  #10  
Старый 15.01.2008, 22:19
Sinex
Участник форума
Регистрация: 17.08.2006
Сообщений: 129
Провел на форуме:
775997

Репутация: 89
Отправить сообщение для Sinex с помощью ICQ
По умолчанию

А можешь помочь как написать, фотоальбом из фоток, чтоб меню было.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хакер и закон! SladerNon Болталка 17 12.11.2009 09:42
Взлом Unix а silveran *nix 4 21.12.2005 22:46
Основные команды командной строчки. silveran Windows 5 27.10.2005 14:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ