motofan logo
> 

[!] Пишем EZX приложения под Виндой, учимся, обсуждаем, помогаем

-=Strelok=-
сообщение 16.12.2008, 13:04


Ветеран
*****

Группа: Разработчики
Сообщений: 379
Регистрация: 9.1.2008
Пользователь №: 159 525
Модель телефона: SLVR L7/Ё2/Backflip/D2G
Прошивка: ACR_RB/ХЗ/CM7.2/MIUI


Настроение:
http://e2.at.ua



Рейтинг: 544



Давайте не отставать от наших зарубежных друзей и начнем писать софт для нашего рокра !

Для подготовки СДК нам потребуется:

1) Скачать
Прикрепленный файл Cygwin.zip   ( 553.93 килобайт ) Кол-во скачиваний: 314
, при уставновке которого обязательно поставить галочку напротив следующих утилит:
Код
devel->gcc
devel->make
devel->autoconf
devel->automake
perl->perl
utils->patch

2) Распаковать dev-ezx_Win_Kidscracker (зеркало) в C:\CYGWIN
3) Распаковать библиотеки телефона в /opt/dev-ezx/e2/lib
4) Заменяем headers в папке /dev-ezx/e2/include/ на правленные Kidscracker'ом(зеркало) - без этой замены из-за некоторых функций приложения не запустятся на телефоне, например hello3 (error:segmentation fault)

Для копиляции приложений запускаем Cygwin и пишем (для примера возьмём Test1, который с другими примерами уже находится в папке /e2/):

Код
. /opt/dev-ezx/setENV.sh e2
cd /e2/Test1
progen -o Test1.pro
tmake Test1.pro -o Makefile
moc Test1.cpp -o Test1.moc
make


Берём из папки /e2/Test1/ бинарик Test1, закидываем в корень флешки и проверяем с помощью команды телнета либо Терминала (ezxterm) на телефоне: exec /mmc/mmca1/Test1

Спасибо Lasly, blackhawk, Abram, Keaglez и особенно kidscracker, а также сайтам ModMyMoto и Motohell

Сообщение отредактировал -=Strelok=- - 6.11.2009, 16:20
Прикрепленный файл Cygwin.zip   ( 553.93 килобайт ) Кол-во скачиваний: 314
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
5 страниц V  1 2 3 > »   
Ответ в темуСоздание новой темы
Ответов(1 - 9)
3-D
сообщение 16.12.2008, 17:56


МотоМэн
***

Группа: Пользователи
Сообщений: 124
Регистрация: 4.8.2006
Из: город-герой_Брест.by
Пользователь №: 93 799
Модель телефона: ROKR Е2,ROKR E8
Прошивка: MAXX IV
Победитель конкурса 2008

Рейтинг: 309



Ребята, все кто знает С обьединяйся, я пытался компилить приложения ещё под линуксом с помощью сдк от ласли но из-за недостачи библиотек и других хвостов у мну это так и не получалось, и каково было удивление кода прога реально скомпилировалась под виндой!

P.S. эта тема давно уже на motohell была хорошо что к нам кто то наконец перевел её

Добавлено позже (16.12.2008, 22:18):
вот вам самые нужные кусочки из сдк ласли

1
Прикрепленный файл apps.zip   ( 283.88 килобайт ) Кол-во скачиваний: 264
-енто сборник хелпа по функциям и методам

2
Прикрепленный файл sources.zip   ( 96.65 килобайт ) Кол-во скачиваний: 259
-исходнички некоторых прожек типа мпкг-менегера и виртуал мэмори
Прикрепленный файл apps.zip   ( 283.88 килобайт ) Кол-во скачиваний: 264
Прикрепленный файл sources.zip   ( 96.65 килобайт ) Кол-во скачиваний: 259
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-=Strelok=-
сообщение 18.12.2008, 12:56


Ветеран
*****

Группа: Разработчики
Сообщений: 379
Регистрация: 9.1.2008
Пользователь №: 159 525
Модель телефона: SLVR L7/Ё2/Backflip/D2G
Прошивка: ACR_RB/ХЗ/CM7.2/MIUI


Настроение:
http://e2.at.ua



Рейтинг: 544



Jeffri (keaglez) выложил отличный наглядный мануал по использованию GUI интерфейса в сдк, за что ему огромный респект!

"Первый пример диалога(виджета):
Изображение
Код
#define QT_NO_DRAGANDDROP

#define QT_NO_PROPERTIES

#include <ZApplication.h>

#include <ZMessageDlg.h>

int main(int argc, char **argv)

{

ZApplication* a = new ZApplication(argc, argv);

ZMessageDlg* dlg = new ZMessageDlg(QString(”Hello World!”), QString(”This is hello world application.”), (ZMessageDlg::MessageDlgType)0 , 0 , NULL , ”showQ” , true , 0);

a->setMainWidget(dlg);

dlg->show();

a->exec();

return 0;

}

Скачать hello1
Как вы видете, первым делом мы создаем функцию ZApplication (это так сказать QApplication для EZX), затем - ZMessageDlg, и далее используем привычный QT стиль программирования.


Теперь рассмотрим пример информационного диалога(виджета):
Изображение
Код
#define QT_NO_DRAGANDDROP

#define QT_NO_PROPERTIES

#include <ZApplication.h>

#include <ZNoticeDlg.h>

int main(int argc, char **argv)

{

ZApplication* a = new ZApplication(argc, argv);

ZNoticeDlg* dlg = new ZNoticeDlg((ZNoticeDlg::Type)0, QString(”Hello World!”), QString(”This is hello world application.”), NULL, ”showNotify”, true, 0, false);

a->setMainWidget(dlg);

dlg->show();

a->exec();

return 0;

}

Скачать hello2
Ничего нового, разве что вместо ZMessageDlg создаём ZNoticeDlg.


Затем, мы создаем свой собственный (диалог)виджет как показано ниже:
Изображение
Код
#define QT_NO_DRAGANDDROP

#define QT_NO_PROPERTIES

#include <ZApplication.h>

#include <ZKbMainWidget.h>

#include <ZLabel.h>

#include <ZSoftKey.h>

#include <ZScrollPanel.h>

class MyDialog : public ZKbMainWidget

{

Q_OBJECT

public:

MyDialog() : ZKbMainWidget((ZHeader::HEADER_TYPE)3, NULL, ”MyDialog”, 0)

{

setMainWidgetTitle(QString(”Hello World!”));

ZSoftKey* softkey = new ZSoftKey(NULL, this, this);

softkey->setText(ZSoftKey::LEFT, QString(”Hi!”), (ZSoftKey::TEXT_PRIORITY)0);

softkey->setText(ZSoftKey::RIGHT, QString(”Quit”), (ZSoftKey::TEXT_PRIORITY)0);

softkey->setClickedSlot(ZSoftKey::RIGHT, qApp, SLOT(quit()));

ZLabel* mainlabel = new ZLabel(QString(”This is hello world application!”), this, ”mainlabel”, 0, (ZSkinService::WidgetClsID)4);

mainlabel->setPreferredWidth(240);

mainlabel->setAutoResize(true);

QVBoxLayout* layout = getVBoxLayout();

ZScrollPanel* panel = new ZScrollPanel(this, NULL, 0, (ZSkinService::WidgetClsID)4);

panel->addChild(mainlabel, 10, 50);

layout->addWidget(panel);

setSoftKey(softkey);

}

};

int main(int argc, char **argv)

{

ZApplication* a = new ZApplication(argc, argv);

MyDialog* dlg = new MyDialog();

a->setMainWidget(dlg);

dlg->show();

a->exec();

return 0;

}

#include ”hello3.moc”

Скачать hello3
Здесь, мы создаем класс MyDialog inheritence из ZKbMainWidget. В классе у нас есть унаследованный конструктор ZKbMainWidget. Тогда в конструкторе, мы создаём ZSoftKey, ZLabel, QVBoxLayout и ZScrollPanel. Я не могу объяснить каждую строку, но я думаю, что легко понять. См. источник и проверьте его, это - лучший способ научиться. О, и для последней строки, мы включаем hello3.moc, это для генерации moc файла

На этом данная статья заканчивается"


оригинал темы на блоге Jeffri

Сообщение отредактировал -=Strelok=- - 21.12.2008, 20:33
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-=Strelok=-
сообщение 19.12.2008, 17:35


Ветеран
*****

Группа: Разработчики
Сообщений: 379
Регистрация: 9.1.2008
Пользователь №: 159 525
Модель телефона: SLVR L7/Ё2/Backflip/D2G
Прошивка: ACR_RB/ХЗ/CM7.2/MIUI


Настроение:
http://e2.at.ua



Рейтинг: 544



Благодаря исходникам Lasly разобрался как использовать кириллицу в коде:
Подключаем шапку #include <qtextcodec.h>
И пишем функцию:
Код
QTextCodec* gbk_codec = QTextCodec::codecForName("UTF-8");
QString ChineseAndEnglish(const char*ChineseString)
{
    return gbk_codec->toUnicode(ChineseString);
}

переводим исходник в кодировку UTF-8 without BOM
И теперь, к примеру, вместо QString("text") можем использовать QString(ChineseAndEnglish("тест"))

Прилагаю свой пример использования совмещения hello1 и hello2 + кириллица:

Сообщение отредактировал -=Strelok=- - 21.12.2008, 23:40
Прикрепленный файл test.zip   ( 8.11 килобайт ) Кол-во скачиваний: 149
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 22.12.2008, 9:36


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Ребят, спасибо! Может сподоблюсь что нить написать. Вопрос есть. Можно сделать так, чтобы виджеты висели на рабочем столе и не исчезали? В качестве примера - на рабочем столе висит виджет и показывает скорость проца. И можно ли на рабочем столе сделать несколько виджетов?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
-=Strelok=-
сообщение 22.12.2008, 16:11


Ветеран
*****

Группа: Разработчики
Сообщений: 379
Регистрация: 9.1.2008
Пользователь №: 159 525
Модель телефона: SLVR L7/Ё2/Backflip/D2G
Прошивка: ACR_RB/ХЗ/CM7.2/MIUI


Настроение:
http://e2.at.ua



Рейтинг: 544



uxobryux, скорее всего без модинга в phone не обойтись, хотя если можно отловить событие, когда раб.стол не в фоне, то вызывать наш виджет, правда тогда теряется управление над раб столом =(, т.ч. лучший вариант внедрение в phone. Что касается нескольких виджетов одновременно, то это только накладкой друг на друга, либо создать свои графические виджеты
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kidscracker
сообщение 25.12.2008, 19:26


Новичок
*

Группа: Пользователи
Сообщений: 9
Регистрация: 25.12.2008
Пользователь №: 189 546
Модель телефона: MotoZine ZN5
Прошивка: Symbiosis III 1.1

Рейтинг: 25.5



-=Strelok=- благодарю за размещение моего вклада в motofаn, я очень польщен. Я надеюсь, вы понимаете, что я пишу (Используя Google Переводчик чтобы перевести на русский язык). Что касается среды программирования, я хотел бы расширить не только на C + + код, в том числе АНМ, если кто-то может помочь мне или привести примеры было бы очень полезно (я программист на АНМ более 10 лет для x86, PIC и Z80)
Это моя Presentacion постbiggrin.gif

Сообщение отредактировал -=Strelok=- - 25.12.2008, 22:00
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kidscracker
сообщение 26.12.2008, 16:39


Новичок
*

Группа: Пользователи
Сообщений: 9
Регистрация: 25.12.2008
Пользователь №: 189 546
Модель телефона: MotoZine ZN5
Прошивка: Symbiosis III 1.1

Рейтинг: 25.5



Просто, чтобы добавить эту страницу motohell и modmymoto также SDK для E680. И вскоре размещу больше примеров, сделанные с использованием среды разработки. Любые предложения, пожалуйста, diganla. Через несколько дней здесь размещу исходный Код E2Light, нативное приложение для контроля таймингов подсветки E2, как ЕРВЗ.

Сообщение отредактировал -=Strelok=- - 26.12.2008, 21:21
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AstaRoth
сообщение 26.12.2008, 16:48


Бошетунмай
********

Группа: Почётные мотофаны
Сообщений: 3 115
Регистрация: 5.11.2005
Из: СЕВЕРОДВИНСК,29, РФ ☭
Пользователь №: 57 206
Модель телефона: E2=>Zn5=>Defy+=>Nubia
Прошивка: Ъбфбймус Edition
Победитель конкурса 2008


Настроение:
reBOOT



Рейтинг: 4098



kidscracker-наш друг из Перу. Талантливый разработчик. Прошу любить и жаловать. И всячески помогать камрадам. От нас все: мы очень рады сотрудничеству. Готовы объединить наши усилия с товарищами с дружественных сайтов о Моторолах.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kidscracker
сообщение 26.12.2008, 19:02


Новичок
*

Группа: Пользователи
Сообщений: 9
Регистрация: 25.12.2008
Пользователь №: 189 546
Модель телефона: MotoZine ZN5
Прошивка: Symbiosis III 1.1

Рейтинг: 25.5



Astaroth благодарю за это, и хочу поделиться своими идеями о совместном создании и связей со всеми группами Моддинг Motorola. Мой лучший способ показать, что я думаю, что это абсолютно бесплатно дать мой код, так как я узнал, что этот код, в сети можно узнать из моей.

Да будет Modding;)

(26.12.2008, 14:21):
Поскольку я не могу отправлять сообщения до тех пор, пока у меня меньше чем на 10 постов я бы поделился с вами моей первой Родные Загруз для Е2 в этой цепочке. Извините, если это Оффтопик


E2Light 0,3 - окончательное освобождение Y Источник кодекс



Это окончательный вариант E2Light, уже исправлены все ошибки сообщённые NestorM и многоязычной поддержки этого улучшилось. Был заменен ComboBox на NumModule для отбора ценных бумаг, иконки были добавлены функции клавиш и оптимизирован код. Русский перевод, благодаря AstaR0th.

Эта версия еще имеет ошибку в классе FileConfig, которую мы исправим в следующем выпуске.


ИзображениеИзображение

ИзображениеИзображение


Я также выпустил исходный код так, что он может помочь и может быть использован в качестве руководства, OT составить потребуется новый заголовок, что я буду публикацию в ближайшее время. Я жду ваших отзывов и предложений по проектам, в то время как я имею времени.
Эта версия еще с ошибкой в классе FileConfig, которую мы исправим в следующем выпуске.


LINKS

MPKG
Motoevolution.net: http://motoevolution.net/kidscracker/progr...al_Release.mpkg
4Shared: http://www.4shared.com/file/76479674/20f74...al_Release.html

Исходный код
Motoevolution.net: http://motoevolution.net/kidscracker/progr...lease_source.7z
4Shared: http://www.4shared.com/file/76483273/54770...ase_source.html


Сообщение отредактировал -=Strelok=- - 26.12.2008, 21:24
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
[!] Пишем EZX приложения под Виндой, учимся, обсуждаем, помогаем · Motorola ROKR E2, A910, A910i, E895 · Forum
 

5 страниц V  1 2 3 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.3.2024, 10:59

Форум живёт: