Android c

Мы переходим к нашему новому бесплатному приложению Все-в-Одном! Скачать его можно здесь: https://play.google.com/store/apps/details?id=com.sololearn
Изучите C++ в улучшенной среде с большим количеством уроков, с возможностью реальной практики и поддержкой сообщества.
Учим C++ это еще один БЕСПЛАТНЫЙ курс по программированию от SoloLearn.
Был ли у Вас опыт программирования или нет, этот курс поможет Вам узнать всё необходимое для того, чтобы начать создавать Ваши собственные программы. Обучение с SoloLearn это быстро, эффективно и весело. Это приложение покажет Вам, насколько просто стать настоящим программистом.
Учим C ++ включает в себя более 80 уроков, разделенных на 8 уровней, которые охватывают основные понятия, типы данных, массивы, указатели, условные выражения, циклы, функции, классы и объекты, наследование и полиморфизм, шаблоны, исключения и файлы. Открывайте новые уровни, викторины, набирайте очки и соревнуйтесь с Вашими коллегами по всему миру.
Самое главное, учиться играя – весело и наиболее эффективно!
Удачи!

Cctools — знаменитая утилита, которая позволяет:

Сменить Maк адрес (mac адрес)
Сменить Серийный номер жесткого диска
Сменить Уникальный идентификатор безопасности компьютера
Сменить ID операционной системы.
Сменить ID заголовков браузера.
Сменить ID Windows Media Player.
Сменить Имя хоста, на которое зарегана ОС.
Сменить имя процессора.
Сменить ID билда системы.
Изменить Языки и часовые пояса.*

Как установить CCtools на Windows?

Установка состоит из двух шагов:

1.Для начала необходимо распаковать архив в любое удобное место в системе.

2. В распакованном каталоге найти Components.exe и запустить от имени Администратора. Если запустить без этой опции, установка начнет тупить, может вызвать ошибки и может вообще ну установиться на систему.

3. Далее запускаем сам cctools.exe и наслаждаемся.

Примечание.

Если возникают ошибки при запуске CCTools 7 :

«запрошенный доступ к реестру запрещен» ;

«попытка выполнить не санкционированную операцию».

В данном случае необходимо нажить «пуск» => в поиске ввести «изменение контроля учетных записей»

перейти туда => мы увидим примерно следующее

Необходимо опустить ползунок вниз и нажать ОК.

Подписка на печатную версию Весь 2015 год (12 номеров) Первое полугодие (6 номеров) Второе полугодие (6 номеров) Подписка на электронную версию Весь 2015 год (12 номеров) Первое полугодие (6 номеров) Второе полугодие (6 номеров) Подшивки старых номеров журнала (печатные версии) Весь 2014 год (12 номеров) Первое полугодие (6 номеров) Второе полугодие (6 номеров)

Программирование для мобильных устройств

Сред­ст­ва раз­ра­бот­ки для Android

Наш эксперт Ан­д­рей Бо­ров­ский в 14 лет сломал школьную локальную сеть. И это оказалось только началом.

За­ду­ма­но – сде­ла­но: к ра­до­сти Ан­д­рея Бо­ров­ско­го, про­­грам­­ми­­ро­­вать на­конец-то мож­но, «не от­хо­дя от кас­сы». В смыс­ле, пря­мо на мо­бильнике.

Че­ло­век, ко­то­рый дер­жит в ру­ках мо­биль­ное уст­рой­ст­во, мо­жет не толь­ко бро­дить по Ин­тернету или рас­ши­рять круг об­щения в со­ци­аль­ной се­ти. Воз­мож­но, пе­ред ва­ми про­грам­мист, ко­то­рый пи­шет при­ло­жение, спо­соб­ное пе­ре­вер­нуть мир.

Ес­ли мы с ва­ми од­ной кро­ви, то вы, как и я, при про­чих рав­ных усло­ви­ях пред­по­чи­тае­те та­кие уст­рой­ст­ва, ко­то­рые мож­но про­грам­ми­ро­вать. Осо­бен­но при­ят­но, когда про­грам­ми­ро­вать уст­рой­ст­во мож­но прямо на нем са­мом.

Уст­рой­ст­ва Android с са­мо­го на­ча­ла бы­ли бо­лее дру­же­ст­вен­ны к раз­ра­бот­чи­ку, чем пред­ста­ви­те­ли бо­лее ранних мо­биль­ных плат­форм. Поч­ти на ка­ж­дом уст­рой­ст­ве есть от­ла­доч­ный порт (и со­от­вет­ст­вую­щий ре­жим ра­бо­ты уст­рой­ст­ва), а Android SDK со­дер­жит от­лич­ный эму­ля­тор уст­ройств Android раз­ных по­ко­лений. Од­на­ко с неко­то­рых пор про­грам­ми­ро­вание для Android вы­шло на но­вый уро­вень. Сей­час уже все­рь­ез го­во­рят о том, что план­ше­ты Android мо­гут за­менить но­ут­бу­ки. Сто­ит ли удив­лять­ся, что и та­кая сфе­ра ком­пь­ю­тер­ной дея­тель­но­сти, как раз­ра­бот­ка про­грамм, на­шла свое ме­сто на этих де­вай­сах. Пре­иму­ще­ст­ва по­доб­ной раз­ра­бот­ки оче­вид­ны: по­сле оче­ред­ной сбор­ки не нуж­но тра­тить вре­мя на пе­ре­гон­ку про­грам­мы с ПК на уст­рой­ст­во. Са­мо сред­ст­во раз­ра­бот­ки ста­но­вит­ся та­ким же мо­биль­ным, как и де­вайс, на ко­то­ром оно уста­нов­ле­но. Тем, кто толь­ко учит­ся пи­сать про­грам­мы для мо­биль­ных уст­ройств, эти сред­ст­ва раз­ра­бот­ки то­же мо­гут по­мочь, по­сколь­ку мно­гие из них зна­чи­тель­но со­кра­ща­ют вре­мен­ной ин­тер­вал ме­ж­ду прав­кой ко­да и со­зер­цанием конеч­но­го ре­зуль­та­та на эк­ране уст­рой­ст­ва.

Не­достат­ки про­цес­са на­пи­сания про­грамм на мо­биль­ных уст­рой­ст­вах то­же оче­вид­ны. Про­грам­ма – это текст, для на­пи­сания ко­то­ро­го нуж­на кла­виа­ту­ра (по­про­буй­те на­дик­то­вать текст про­грам­мы с по­мо­щью го­ло­со­вых сер­ви­сов Google), при­чем, по­сколь­ку язы­ки про­грам­ми­ро­вания ши­ро­ко ис­поль­зу­ют сим­во­лы, ко­то­рые ред­ко встре­ча­ют­ся в тек­стах на ес­те­ст­вен­ных язы­ках (#, &, и ^), же­ла­тель­но, что­бы кла­виа­ту­ра бы­ла пол­но­цен­ной ком­пь­ю­тер­ной, а не уре­зан­ной SMS-ори­ен­ти­ро­ван­ной. Вто­рая про­бле­ма – это неко­то­рые ог­раничения, при­су­щие ОС мо­биль­ных уст­ройств, за­труд­няю­щие та­кие про­цес­сы, как, на­при­мер, от­лад­ка. Тем не менее, ес­ли вы вы­бе­ре­те под­хо­дя­щие ин­ст­ру­мен­ты и ра­зум­но оп­ре­де­ли­те, для ка­ких имен­но за­дач их ис­поль­зо­вать, воз­мож­ность пи­сать про­грам­мы на мо­биль­ных уст­рой­ст­вах мо­жет стать при­ят­ной и по­лез­ной.

Мож­но ли ис­поль­зо­вать мо­биль­ные сред­ст­ва раз­ра­бот­ки для соз­дания серь­ез­ных про­ек­тов? От­вет на этот во­прос за­ви­сит от то­го, что сле­ду­ет счи­тать серь­ез­ным про­ек­том. Ес­ли под серь­ез­но­стью про­ек­та понимать его успеш­ность, то сто­ит на­помнить, что мно­гие успеш­ные про­ек­ты Android со­дер­жат не так уж мно­го ис­ход­но­го ко­да, и, ста­ло быть, про­сты в сбор­ке и управ­лении.

Как вы уже по­ня­ли, мы рас­смот­рим про­грам­мы для Android, ко­то­рый по­зво­ля­ют нам не толь­ко пи­сать код на лю­би­мом смарт­фоне или план­ше­те, но и пре­вра­щать этот код в про­грамм­ные мо­ду­ли, го­то­вые к вы­полнению. Та­кие про­грам­мы ши­ро­ко ис­поль­зу­ют пре­иму­ще­ст­ва мо­биль­ной раз­ра­бот­ки и сме­ло пы­та­ют­ся пре­одо­леть ее недостат­ки. Ра­зу­ме­ет­ся, да­же при ра­бо­те с неболь­ши­ми про­ек­та­ми ис­поль­зо­вание эму­ля­то­ра уст­рой­ст­ва на ПК име­ет свои пре­иму­ще­ст­ва. С по­мо­щью эму­ля­то­ра мы смо­жем про­ве­рить ра­бо­то­спо­соб­ность на­шей про­грам­мы на раз­ных вер­си­ях плат­фор­мы, тогда как при раз­ра­бот­ке и от­лад­ке про­грам­мы на на­стоя­щем же­ле­зе мы име­ем толь­ко то, что име­ем.

Android Java IDE (AIDE)=

Эта про­грам­ма пред­на­зна­че­на для соз­дания пол­но­цен­ных при­ло­жений Android, со­блю­даю­щих все пра­ви­ла по­ве­дения при­ло­жения в сис­те­ме; и что осо­бен­но цен­но – Android Java IDE по­мо­жет вам не на­ру­шать эти пра­ви­ла, да­же ес­ли вы еще не очень твер­до их усвои­ли. Но это не все. Уже до­воль­но дав­но из ми­ра поль­зо­ва­тель­ских ин­тер­фей­сов в мир средств раз­ра­бот­ки проника­ют идеи discoverability – са­мо­оче­вид­но­сти пра­вил взаи­мо­дей­ст­вия с сис­те­мой. Android Java IDE яв­ля­ет­ся пре­крас­ным при­ме­ром са­мо­оче­вид­но­сти. Соз­дав в про­грам­ме за­го­тов­ку про­ек­та при­ло­жения Android, мы уви­дим пол­ный кар­кас про­ек­та, в ко­то­ром лег­ко ра­зо­брать­ся, да­же несмот­ря на то, что ин­тер­фейс план­ше­тов и смарт­фо­нов не очень удо­бен для на­ви­га­ции по слож­ным струк­ту­рам. Во­об­ще, ин­тер­фейс Android Java IDE вы­полнен на твер­дую пя­тер­ку.

Про­грам­ма достой­на сво­его имени – она дей­ст­ви­тель­но пред­став­ля­ет со­бой ин­тег­ри­ро­ван­ную сре­ду раз­ра­бот­ки и ох­ва­ты­ва­ет поч­ти все ее ас­пек­ты: управ­ление фай­ла­ми про­ек­та, от­лад­ка и под­го­тов­ка ре­ли­за (фай­ла apk), ин­те­гра­ция с сис­те­ма­ми кон­тро­ля вер­сий (а так­же с DropBox), ко­ман­ды ин­тел­лек­ту­аль­ной на­ви­га­ции по про­ек­ту (на­при­мер, по­иск вхо­ж­дений за­дан­но­го имени). AIDE уме­ет от­кры­вать про­ек­ты, соз­дан­ные в Eclipse, и под­дер­жи­ва­ет та­кие воз­мож­но­сти, как ин­кре­мент­ная ком­пи­ля­ция и управ­ление ре­жи­ма­ми оп­ти­ми­за­ции ко­да. Бо­га­тые сред­ст­ва ин­троспек­ции язы­ка Java и ком­пи­ля­тор, спо­соб­ный ра­бо­тать с фраг­мен­та­ми ко­да на ле­ту, по­зво­ли­ли раз­ра­бот­чи­кам реа­ли­зо­вать все те функ­ции, без ко­то­рых не об­хо­дит­ся ни од­на со­вре­мен­ная ин­тег­ри­ро­ван­ная сре­да раз­ра­бот­ки, та­кие как ав­то­ма­ти­че­­ское за­вер­шение ко­да и ин­те­рак­тив­ный ре­жим вы­яв­ления оши­бок эта­па ком­пи­ля­ции непо­сред­ст­вен­но в про­цес­се на­пи­сания ва­шей про­грам­мы. Во вре­мя ра­бо­ты с ис­ход­ны­ми тек­ста­ми в AIDE про­ве­ря­ет­ся не толь­ко кор­рект­ность вве­ден­ных иден­ти­фи­ка­то­ров и клю­че­вых слов, но и син­так­сис. На­до при­знать, что сре­ди всех рас­смот­рен­ных про­грамм, AIDE – един­ст­вен­ная, в ко­то­рой эта ин­те­рак­тив­ная про­вер­ка при­но­сит ощу­ти­мую поль­зу. Кро­ме то­го, Android Java IDE, да­же в бес­плат­ном ва­ри­ан­те, об­ла­да­ет хо­ро­шим на­бо­ром ин­ст­ру­мен­тов ав­то­ма­ти­че­­ско­­го ре­фак­то­рин­га и бы­ст­рой на­ви­га­ции по ис­ход­ным тек­стам.

В на­строй­ках про­грам­мы Android Java IDE вы мо­же­те за­дать со­че­тания кла­виш эк­ран­ной кла­виа­ту­ры для вы­полнения раз­лич­ных дей­ст­вий.

К недостат­кам AIDE сле­ду­ет отнести от­сут­ст­вие под­держ­ки Android NDK. Нет, ра­зу­ме­ет­ся, вам никто не за­пре­ща­ет раз­ме­щать ском­пи­ли­ро­ван­ные биб­лио­те­ки С/С++ в ди­рек­то­рии lib и взаи­мо­дей­ст­во­вать с ними с по­мо­щью JNI. Но ком­пи­ли­ро­вать биб­лио­те­ки при­дет­ся на боль­шом ком­пь­ю­те­ре, на ко­то­ром уста­нов­лен NDK. Еще один неболь­шой недоста­ток про­грам­мы – кноп­ки Undo и Redo спря­та­ны слиш­ком глу­бо­ко в недрах ее ин­тер­фей­са. При вво­де с эк­ран­ной кла­виа­ту­ры ошиб­ки слу­ча­ют­ся го­раз­до ча­ще, чем при ра­бо­те с кла­виа­ту­рой обыч­ной, и кноп­ку от­ка­та из­менений хо­те­лось бы всегда иметь под ру­кой. Ра­зу­ме­ет­ся, обе­им ко­ман­дам на­зна­че­ны бы­ст­рые со­че­тания кла­виш (стан­дарт­ные для этих команд Ctrl + Z и Ctrl + Y), но при ра­бо­те с эк­ран­ной кла­виа­ту­рой да­же ввод этих со­че­таний про­из­во­дит­ся не так бы­ст­ро, как хо­те­лось бы. Луч­ше бы­ло бы раз­мес­тить кноп­ки на панели бы­ст­ро­го досту­па.

Как и мно­гие дру­гие при­ло­жения Android, про­грам­ма су­ще­ст­ву­ет в двух ва­ри­ан­тах: ба­зо­вом бес­плат­ном и плат­ном рас­ши­рен­ном. Глав­ным ог­раничением бес­плат­ной вер­сии по сравнению с плат­ной яв­ля­ет­ся невоз­мож­ность от­крыть про­ект, со­стоя­щий из бо­лее чем 25 фай­лов. Мне это ог­раничение пред­став­ля­ет­ся не очень су­ще­ст­вен­ным, по­сколь­ку ра­бо­тать с про­ек­та­ми та­ко­го раз­ме­ра на мо­биль­ном уст­рой­ст­ве вряд ли име­ет смысл. Дру­гое ог­раничение – от­сут­ст­вие в бес­плат­ной вер­сии функ­ции за­пи­си в ре­по­зи­то­рий Git (счи­ты­вать дан­ные мож­но), так что ес­ли вы хо­ти­те ис­поль­зо­вать бес­плат­ную вер­сию со­вме­ст­но, на­при­мер, с Eclipse, при­дет­ся по­ло­жить­ся на DropBox.

От­ли­чи­тель­ная чер­та AIDE – необ­хо­ди­мость «на­стоя­щей» уста­нов­ки ва­шей про­грам­мы в сис­те­ме да­же на эта­пе от­лад­ки. С од­ной сто­ро­ны – про­грам­ма сра­зу на­чи­на­ет су­ще­ст­во­вать «в ре­аль­ном ок­ру­жении», и это хо­ро­шо. С дру­гой сто­ро­ны, вам при­дет­ся раз­ре­шить уст­рой­ст­ву Android уста­нав­ли­вать про­грам­мы из неиз­вест­ных ис­точников (что, впро­чем, все рав­но при­дет­ся сде­лать, ес­ли вы ре­ши­ли за­нять­ся про­грам­ми­ро­ванием под Android все­рь­ез).

Android Terminal IDE

Бес­плат­ная сре­да раз­ра­бот­ки Android Terminal IDE уже мною упо­ми­на­лась – прав­да, в ином кон­тек­сте. Те­перь при­шла по­ра ска­зать о том, что Terminal IDE – это не толь­ко на­бор ин­ст­ру­мен­тов команд­ной стро­ки, ко­то­рые не тре­бу­ют прав су­пер­поль­зо­ва­те­ля, но и до­воль­но мощ­ная сре­да раз­ра­бот­ки. Са­му про­грам­му мож­но за­гру­зить че­рез Google Play, но пе­ред на­ча­лом ра­бо­ты ре­ко­мен­ду­ет­ся по­се­тить сайт про­грам­мы на хостин­ге Google Code http://code.google.com/p/terminal-ide/, ска­чать и внима­тель­но про­честь до­ку­мен­та­цию.

Глав­ное от­ли­чие Terminal IDE от боль­шин­ст­ва мо­биль­ных средств раз­ра­бот­ки для Android за­клю­ча­ет­ся в том, что этот па­кет про­грамм ори­ен­ти­ро­ван на ра­бо­ту с команд­ной стро­кой и тек­сто­вы­ми ин­тер­фей­са­ми. Для одних это мо­жет стать недостат­ком, для дру­гих – досто­ин­ст­вом. Ме­ж­ду про­чим, уста­но­вив Terminal IDE, вы смо­же­те под­клю­чить­ся к сво­ему уст­рой­ст­ву Android с лю­бо­го ком­пь­ю­те­ра с по­мо­щью SSH, и ис­поль­зо­вать для ра­бо­ты с кон­со­лью пол­но­раз­мер­ные кла­виа­ту­ру и эк­ран (это осо­бен­но удоб­но, ес­ли ва­ше мо­биль­ное уст­рой­ст­во – смарт­фон с эк­ра­ном око­ло 4 дюй­мов). Труд­но­сти вво­да тек­ста с эк­ран­ной кла­виа­ту­ры – од­на из са­мых су­ще­ст­вен­ных слож­но­стей при на­пи­сании про­грамм на уст­рой­ст­вах Android. Раз­ра­бот­чик Terminal IDE пол­но­стью осоз­нал это и пре­доста­вил нам все мыс­ли­мые сред­ст­ва для уп­ро­щения вво­да.

Дру­гая характер­ная осо­бен­ность Terminal IDE за­клю­ча­ет­ся в том, что для вы­полнения на­пи­сан­ных ва­ми про­грамм не тре­бу­ет­ся ника­ких спе­ци­аль­ных прав (и не нуж­но вы­пол­нять про­це­ду­ру уста­нов­ки, как в пре­ды­ду­щем слу­чае). В Terminal IDE про­грам­мы мож­но со­би­рать при­выч­ным для «джа­ви­стов» спо­со­бом: файл ис­ход­ных тек­стов пре­вра­ща­ет­ся в файл .class, ко­то­рый, в свою оче­редь, со­би­ра­ет­ся в JAR. Следует толь­ко от­ме­тить, что ес­ли для сбор­ки JAR при­ме­ня­лась ути­ли­та dx, по­лу­чен­ные фай­лы не бу­дут со­вмес­ти­мы со стан­дарт­ны­ми вир­ту­аль­ны­ми ма­ши­на­ми Java, поскольку це­ле­вой плат­фор­мой яв­ля­ет­ся вир­ту­аль­ная ма­ши­на Android.

Тре­тья осо­бен­ность – рас­ши­рен­ная про­грамм­ная кла­виа­ту­ра, пред­на­зна­чен­ная для про­грам­ми­стов и всех, ко­му при­хо­дит­ся ра­бо­тать с ин­ст­ру­мен­та­ми команд­ной стро­ки. Об этой кла­виа­ту­ре я ска­зал уже мно­го хо­ро­ше­го, по­вто­рю толь­ко, что по­сле уста­нов­ки Terminal IDE ее мож­но ис­поль­зо­вать не толь­ко в IDE, но и в лю­бой дру­гой про­грам­ме Android. Сре­ди кон­соль­ных ин­ст­ру­мен­тов про­грам­мы есть и Git.

По­ми­мо про­грамм Java, пред­став­лен­ных в ви­де JAR-фай­лов, Terminal IDE по­зво­ля­ет со­би­рать «на­стоя­щие» при­ло­жения Android. Сре­ди де­мо-при­ме­ров, ко­то­рые вхо­дят в по­став­ку про­грам­мы, есть при­мер и та­ко­го при­ло­жения. Как и рас­смот­рен­ная вы­ше, эта сре­да раз­ра­бот­ки об­ла­да­ет воз­мож­но­стью соз­да­вать как непод­пи­сан­ные, так и под­пи­сан­ные фай­лы apk. Луч­ше все­го ска­зан­ное об этой про­грам­ме ре­зю­ми­ру­ет от­зыв од­но­го из поль­зо­ва­те­лей, остав­лен­ный на сай­те Play Market: «мощней­шая вещь».

CCTools IDE

Эта про­грам­ма – тво­рение оте­че­­ст­вен­но­го раз­ра­бот­чи­ка – по­лу­чи­ла невы­со­кую оцен­ку от поль­зо­ва­те­лей Play Market, но ска­зать о ней, тем не менее, сто­ит. В от­ли­чие от рас­смот­рен­ных вы­ше, для сбор­ки про­грамм CCTools IDE ис­поль­зу­ет ком­пи­ля­тор GCC, и с ее по­мо­щью мож­но со­би­рать ис­пол­няе­мые фай­лы для мик­ро­про­цес­со­ра (не толь­ко ARM, но так­же MIPS и x86!), а не для вир­ту­аль­ной ма­ши­ны Andoid. Со­от­вет­ст­вен­но, и язы­ком раз­ра­бот­ки в этом слу­чае бу­дет не Java, а C/C++. Сбор­кой управ­ля­ет «на­стоя­щая» ути­ли­та make. Идея со­би­рать про­грам­мы для ПК на уст­рой­ст­ве Android вы­гля­дит за­бав­но – мо­биль­ная плат­фор­ма на­бра­ла си­лу и ре­ши­ла по­ме­рить­ся муску­ла­ми с ПК. Ес­ли вы пи­ше­те кон­соль­ную про­грам­му, ре­зуль­тат ее вы­полнения мож­но по­смот­реть на встро­ен­ном тер­ми­на­ле.

К недостат­кам про­грам­мы сле­ду­ет отнести от­сут­ст­вие про­грам­ми­ст­ской кла­виа­ту­ры (та­кой, как у Terminal IDE). Са­ма воз­мож­ность иметь ком­пи­ля­тор GCC на мо­биль­ном уст­рой­ст­ве под управ­лением Android весь­ма при­вле­ка­тель­на. Ос­та­ет­ся на­де­ять­ся на то, что в по­сле­дую­щих вер­си­ях CCTools IDE об­за­ве­дет­ся соб­ст­вен­ной кла­виа­ту­рой или дру­гим сред­ст­вом уско­рения вво­да тек­стов про­грамм.

SourceLair

Эта про­грам­ма ин­те­рес­на пре­ж­де все­го тем, что реа­ли­зу­ет сравнитель­но но­вую кон­цеп­цию об­лач­но­го сер­ви­са. Вы пи­ше­те текст про­грам­мы, от­сы­лае­те его на сер­вер, ко­то­рый пы­та­ет­ся его со­брать и за­пустить про­грам­му, а за­тем воз­вра­ща­ет вам ре­зуль­тат. Об­лач­ный сер­вер по­зво­ля­ет пи­сать про­грам­мы на язы­ках, для ко­то­рых от­сут­ст­ву­ют мо­биль­ные ком­пи­ля­то­ры. На­при­мер, про­грам­ма SourceLair пред­ла­га­ет доступ к ком­пи­ля­то­рам язы­ков C, С++, Objective-C, Fortran и Pascal. Бо­лее то­го, у про­грам­мы SourceLair есть сайт (sourcelair.com), на ко­то­ром мож­но вы­пол­нять все те же опе­ра­ции с по­мо­щью брау­зе­ра, ниче­го не уста­нав­ли­вая на свое уст­рой­ст­во во­об­ще. Фай­лы про­грамм мож­но хранить локаль­но и на сер­ве­ре (для это­го необ­хо­ди­мо за­ре­ги­ст­ри­ро­вать­ся на сер­ве­ре, за ка­ко­вую про­це­ду­ру на дан­ный мо­мент раз­ра­бот­чи­ки денег не бе­рут).

Не­достат­ки об­лач­ной сбор­ки (речь сей­час идет о кон­цеп­ции в об­щем, но все это при­менимо и к кон­крет­ной про­грам­ме) ле­жат на по­верх­но­сти, как и ее досто­ин­ст­ва. Об­лач­ные сер­ви­сы доступ­ны толь­ко там и тогда, когда доступ­но са­мо об­ла­ко. Со­вре­мен­ные ин­тег­ри­ро­ван­ные сре­ды раз­ра­бот­ки взаи­мо­дей­ст­ву­ют с ком­пи­ля­то­ром в ин­те­рак­тив­ном ре­жи­ме да­же на эта­пе вво­да ис­ход­ных тек­стов (об эта­пе от­лад­ки нече­го и го­во­рить). Это оз­на­ча­ет, что ес­ли у вас нет тол­сто­го ка­на­ла для свя­зи с об­ла­ком, все стан­дарт­ные опе­ра­ции бу­дут про­те­кать му­чи­тель­но дол­го.

Что ка­са­ет­ся про­грам­мы SourceLair, то она по­па­ла в об­зор толь­ко по­то­му, что у нее есть кли­ент­ское при­ло­жение для Android. На дан­ный мо­мент это ско­рее де­мон­ст­ра­ция кон­цеп­ции и воз­мож­ность «по­про­бо­вать на зуб» незна­ко­мый язык про­грам­ми­ро­вания. Для дру­гих це­лей про­грам­ма вряд ли сго­дит­ся. Нель­зя не от­ме­тить один до­сад­ный факт: вер­сия кли­ен­та SourceLair Android, доступ­ная для ска­чи­вания, из­ряд­но уста­ре­ла. Вер­сия, рас­счи­тан­ная на ра­бо­ту в брау­зе­ре, со­дер­жит мень­ше оши­бок и пред­ла­га­ет боль­ше воз­мож­но­стей. На­при­мер, по­ми­мо пе­ре­чис­лен­ных вы­ше язы­ков про­грам­ми­ро­вания брау­зер­ная вер­сия пред­ла­га­ет нам Java, Python, Ruby, Lua, SQL, CSS и HTML. Кро­ме то­го, брау­зер­ный ва­ри­ант под­дер­жи­ва­ет под­свет­ку син­так­си­са. Доступ­ный в на­стоя­щий мо­мент кли­ент Android не по­зво­ля­ет соз­да­вать фай­лы на сер­ве­ре, но с его по­мо­щью мож­но за­гру­жать, ре­дак­ти­ро­вать и со­хра­нять на сер­ве­ре уже соз­дан­ные (на­при­мер, с по­мо­щью брау­зер­но­го ва­ри­ан­та про­грам­мы) фай­лы. Са­ма техно­ло­гия за­пуска про­грамм на сер­ве­ре ог­раничи­ва­ет воз­мож­но­сти вы­во­да про­грамм стро­ка­ми тек­ста. На­сколь­ко мож­но по­нять на­ме­рения раз­ра­бот­чи­ков (из­ло­жен­ные в их бло­ге на том же сай­те), у поль­зо­ва­те­ля долж­на быть воз­мож­ность за­гру­зить ре­зуль­тат сбор­ки на свое уст­рой­ст­во, при­чем, ес­ли поль­зо­ва­тель ра­бо­та­ет на уст­рой­ст­ве под управ­лением Android, ре­зуль­тат сбор­ки дол­жен быть со­вмес­тим с этой ОС.

DroidDevelop

Эта про­грам­ма яв­ля­ет­ся над­строй­кой над дру­гой про­грам­мой – JavaIDEDroid, ко­то­рая по­зво­ля­ет со­би­рать про­грам­мы для Android, но не очень удоб­на в ис­поль­зо­вании. DroidDevelop ис­прав­ля­ет ука­зан­ный недоста­ток JavaIDEDroid с по­мо­щью неза­тей­ли­во­го, но достой­но­го поль­зо­ва­тель­ско­го ин­тер­фей­са. По­сколь­ку для сво­ей ра­бо­ты про­грам­ма тре­бу­ет JavaIDEDroid и дис­пет­чер фай­лов OI FileManager, уста­нов­ка ее на уст­рой­ст­во вы­гля­дит сложнее, чем, на­при­мер, уста­нов­ка AIDE. Впро­чем, про­грам­ми­ста вряд ли мож­но ис­пу­гать та­ки­ми ме­ло­ча­ми. В про­грам­ме ис­поль­зу­ет­ся соб­ст­вен­ный ре­дак­тор ко­да с ну­ме­ра­ци­ей строк (что хо­ро­шо) и под­свет­кой син­так­си­са, ко­то­рая име­ет тен­ден­цию под­чер­ки­вать незна­ко­мые ей име­на и ме­то­ды клас­сов (что от­вле­ка­ет). В но­вых вер­си­ях про­грам­ма об­за­ве­лась мо­ду­лем рас­ши­рения, спо­соб­ным вы­пол­нять ба­зо­вые опе­ра­ции ре­фак­то­рин­га.

С4Droid

Про­грам­ма С4Droid, су­ще­ст­вую­щая в плат­ной и ба­зо­вой вер­си­ях, пред­став­ля­ет со­бой ком­пи­ля­тор C, объ­е­динен­ный с про­стым ре­дак­то­ром ко­да. При ра­бо­те с про­грам­мой труд­но от­де­лать­ся от мыс­ли, что ее на­зна­чение – де­мон­ст­ра­ция воз­мож­но­сти соз­да­вать про­грам­мы на C на уст­рой­ст­ве Android (еще недав­но та­кая воз­мож­ность бы­ла оче­вид­на не всем). Плат­ная вер­сия об­ла­да­ет несколь­ко бо­лее ши­ро­кой функ­цио­наль­но­стью, неже­ли ба­зо­вая (на­при­мер, под­свет­кой син­так­си­са). В минималь­ной ком­плек­та­ции про­грам­ма под­хо­дит раз­ве что для изу­чения основ про­грам­ми­ро­вания на C, хо­тя уст­рой­ст­ва Android вряд ли во­об­ще го­дят­ся для этой це­ли. С по­мо­щью мо­ду­лей рас­ши­рений про­грам­му мож­но нау­чить соз­да­вать про­грам­мы, свя­зан­ные с биб­лио­те­кой bionic (на­пом­ню, что bionic иг­ра­ет роль стан­дарт­ной биб­лио­те­ки C на плат­фор­ме Android) и соз­да­вать ис­пол­няе­мые фай­лы Android, ко­то­рые мож­но бу­дет вы­пол­нять вне са­мой про­грам­мы. Ос­нов­ная слож­ность в раз­ра­бот­ке про­грамм C, пред­на­зна­чен­ных для вы­полнения на «же­ле­зе», а не на вир­ту­аль­ной ма­шине, за­клю­ча­ет­ся в необ­хо­ди­мо­сти свя­зы­вать эти про­грам­мы с ди­на­ми­че­­ски­­ми биб­лио­те­ка­ми Android, но под­клю­чение биб­лио­тек (по­ми­мо bionic) в С4Droid не пре­ду­смот­ре­но. От­сле­дить вы­вод кон­соль­ных про­грамм мож­но на встро­ен­ном в C4Droid эму­ля­то­ре тер­ми­на­ла. Про­грам­ма так­же осна­ще­на под­свет­кой син­так­си­са, со­мнитель­ную по­лез­ность ко­то­рой де­мон­ст­ри­ру­ет эк­ран­ный снимок.

За­клю­чение

Под­во­дя итог, сле­ду­ет при­знать, что про­грам­ми­ро­вание для Android в сре­де Android вы­шло на серь­ез­ный уро­вень. Что ка­са­ет­ся эф­фек­тив­но­сти и эр­го­но­ми­ки, то по этим по­ка­за­те­лям на­пи­сание про­грамм на мо­биль­ном уст­рой­ст­ве ма­ло чем от­ли­ча­ет­ся от лю­бой дру­гой дея­тель­но­сти, свя­зан­ной с вво­дом тек­ста. |