alpha21264 (alpha21264) wrote,
alpha21264
alpha21264

Острая необходимость

Вот и настал тот день, когда я написал свою первую программу для Андроид. Вообще говоря, Андроид - гадость. Программирование для него - тоже гадость. Java - говно, Eclipse - тормоз. К сожалению, мне хочется использовать компьютер, который можно носить с собой.

Почему-то на архитектуре Интела не торопятся сделать по настоящему мобильный компьютер. Хотя ничего невозможного в этом нет. Например, Тошиба Либретто. 97 год, 800 граммов. Настоящая Винда, полная аппаратная клавиатура.
http://en.wikipedia.org/wiki/Toshiba_Libretto
http://fdd5-25.net/gallery/details.php?image_id=474&sessionid=f1027240a6285e5241b71abaf05a6a16

Или вот.
MBook M1. 315 (опечатки нет) граммов. И настоящая Винда, аппаратная клавиатура.
http://setgadget.com/testy-obzory/31/97----umid-mbook-m1

Но такой компьютер в продаже не найдешь. А Нетбуки великоваты и давно превысили килограмм веса. Зато два ядра и увеличенная частота. Как будто кому-то нужна производительность от мобильного компьютера. Не иначе как это заговор.

И приходится иметь дело с Андроидом. А в Андроиде... Ооо.... Ну кто делал эту дурацкую клавиатуру, которая занимает пол-экрана? Почему клавиатура выезжает на экран, когда её никто не просит? Почему она убирается кнопкой эээ... со стрелочкой "назад"? Если кто не в курсе, повторное нажатие этой кнопки приводит к закрытию приложения (с потерей данных, разумеется). Очень "удобно" в транспорте, когда трясёт. Где кнопки PgUp и PgDown? Где стрелки управления курсором? Вероятно создатели предполагали, что я смогу установить курсор как мышкой на экране. Но ведь все устройства сейчас имеют емкостной экран, и пальчики у меня не такие уж тонкие - я не попадаю в строку (уж не говоря о том, как попасть в нужное место строки). Почему раскладка переключается таким дурацким жестом, и нету просто кнопочки? Когда я пытаюсь переключить раскладку вставляется пробел, а раскладка не переключается. А еще я хочу знаки препинания вставлять не нажимая лишний раз Shift абсолютно неуместный на мобильном устройстве. И это... текстовый редактор бы. Обычный простой блокнот, чтобы мне планы на день записать. Почему то совершенно не удается написать списочек вот такого вида
1) первое дело
   1) ...
   2) ...
2) второе дело
   1) ...
Не, ну если полдня этим заниматься, то конечно. Но записная книжка нужна для экономии времени а не траты времени на борьбу с непослушной клавиатурой.

Воот... А перебирать весь миллион приложений (которые есть в Андроид-маркете) мне совершенно не хотелось. Да и вообще, мало ли чего я могу захотеть от текстового редактора? Оно простое, типа читать файл в кодировке koi8. Но ведь никто же этого не сделал и не сделает никогда!

Так что выход только один - самому написать простенький блокнот. Java - говно, Eclipse - тормоз. (кажется я это уже говорил). Написать программу на самом устройстве нельзя, нужен большой компьютер, на котором будет происходить мистический процесс "кросс-компиляции". Документация - ну вы поняли. Только она еще и не по русски. И тоже говно.
Методика написания интерфейсов - это вообще тихий ужас! Как писать программы в системе, где создатели даже не предусмотрели диалог открытия файла?! Просто кривыми руками так не сделаешь. Это заговор! Умные люди сидели-пердели ночами не спали. Долго думали и обсуждали. "Неее, Андроид еще не достаточное говно, надо говнее! Давайте отрежем еще что-нибудь". От машины, которая в СТО раз производительнее моего первого компьютера (286) оставили какой-то странный огрызок, на котором даже просто текст трудно написать. Я уж не говорю о том, чтобы программировать на нем.

На моё счастье есть такой продукт necessitas. Уж не знаю, где сделали прокол многомиллиардные корпорации, но для Андроида можно писать программы. На С++ и с библиотекой Qt. Да, да я не оговорился на С++ и Qt. После всех описанных ужасов, это был бальзам на раны. Necessitas переводится с латинского как "острая необходимость". Я совершенно согласен с авторами программы - такой продукт остро необходим.

Домашняя страница проекта:
http://sourceforge.net/p/necessitas/home/necessitas/

Среда программирования устанавливается вот по этой инструкции:
http://www.forum.crossplatform.ru/index.php?showtopic=7610

Эээ... ну оно тоже не без странностей, продукт ставится по сети, и занимает это часа три. В результате получается вполне себе интегрированная среда разработки. Говорят, что это QtCreator, к которому что-то добавили. В результате сборки этой средой получается apk-пакет, который можно сразу устанавливать на устройство. Эээ... не сразу, сначала на устройство нужно установить ministro.apk. Это библиотека такая. В инструкции написано для чего.

Поскольку это C и Qt, то можно собирать и отлаживать программу на большой машине используя весь арсенал отладочных и других средств. А переносить на Андроид только в самый последний момент. Только... учесть, что костюм супермена не дает возможности летать, у нас есть только Qt. Других стандартных библиотек нет. Я попытался включить iconv и обломился.

Только помните, что продукт делает группа энтузиастов. Статус продукта - Альфа. По этому, не всё еще работает. Например, не все демонстрационные примеры собираются :-) Я долго боролся с примером с характерным названием quickstart. Он так и не заработал. В чём там было дело, я не разобрался - я просто взял другой пример. Ну а потом уж шаг за шагом, убрал всё ненужное и добавил все нужное. Да, это настоящая программа, как на "большом компьютере". Только экран маленький.

PS.
Тому, кто захочет повторить мой путь, желаю много терпения. Потому как в обычной жизни я человек спокойный. Но от столкновения с Андроидом я несколько... ну вы видите.

Вот так выглядит моё творение на экране. Исходники не выкладываю, потому что эта программа пока из категории "поделки пионера". Текстовый редактор под мои личные привычки.

100_2921
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 1 comment