Интересные приложения для Android с открытым исходным кодом. Как посмотреть исходный код приложения Android

Интересные приложения для Android с открытым исходным кодом. Как посмотреть исходный код приложения Android

29.05.2019

Теперь, когда вы понимаете концепцию программирования, мы рассмотрим исходный код – его главные составляющие и принципы работы с ними.

Эта статья в цикл статей о разработке для начинающих, .

Часть 2 – Исходный код

Многие языки программирования поставляются со множеством библиотек. Они обычно называются SDK (комплекты разработки программного обеспечения). Загружаются вместе с компилятором для дальнейшего создания технологий, приложений и проектов. Также существуют фреймворки , созданные, чтобы облегчить разработку проекта и объединить его различные составляющие.

Некоторые идентификаторы в комплекте с выбранным языком не могут использоваться в качестве идентификатора пользователя. Примером является слово string в Java. Такие идентификаторы вместе с ключевыми словами называются Зарезервированными Словами . Они также являются особыми.

Все ключевые слова являются зарезервированными. Также слова, которые вы выбираете, должны иметь смысл для тех, кто впервые их видит.

Основные типы данных

Исходный код – сосредоточение разных типов даннх: числа (3, 5.7, -100, 3.142) и символы (M, A). В некоторых языках программирования числа разбиваются на подтипы, такие как integers (целые числа).

Целые числа могут быть знаковыми и беззнаковыми , большими и малыми. Последние фактически зависят от объема памяти, зарезервированного для таких чисел. Есть числа с десятичными частями, обычно называемые double и float , в зависимости от языка, который вы изучаете.

Также существуют логические типы данных boolean , которые имеют значение true или false .

Сложные типы данных

Указанные выше типы известны как элементарные, первичные или базовые. Мы можем создавать более сложные типы данных из приведенных базовых.

Массив (Array ) – это простейшая форма сложного типа. Строка (String ) – это массив символов. Мы не можем обойтись без этих данных и часто используем их при написании кода.

Комбинация символов – это строка . Чтобы использовать аналогию, строка для компьютера означает, что слово принадлежит человеку. Слово «термометр» состоит из 9 символов – мы просто называем это строкой символов. Обработка строк – это обширная тема, которая должна изучаться каждым начинающим программистом.

Сложные типы данных поставляются с большинством языков программирования, которые используются. Есть и другие, такие как системы классов. Это явление также известно как объектно-ориентированное программирование (ООП ).

Переменные

Переменные – это просто имена областей памяти. Иногда нужно сохранить данные в исходном коде в месте, откуда их можно вызвать, чтобы использовать. Обычно это место памяти, которое резервирует компилятор/интерпретатор. Нам нужно дать имя этим ячейкам памяти, чтобы потом их вспомнить. Рассмотрим фрагмент кода Python ниже:

pet_name = "Hippo" print pet_name

pet_name = "Hippo"

print pet_name

pet_name – пример переменной, и тип данных, хранящихся в pet_name , является строкой, что делает переменную строковой. Существуют также числовые. Таким образом, переменные классифицируются по типам данных.

Константы

Константы – это значения, которые не изменяются на протяжении всего жизненного цикла программы. Чаще всего в их именах используются заглавные буквы. Некоторые языки поддерживают создание постоянных значений, а некоторые – нет.

Существуют строго типизированные языки программирования , в которых каждая переменная должна быть определенного типа. Выбрав тип один раз, вы больше не сможете его изменить. Java – хороший пример такого ЯП.

Другие же не предоставляют эти функции. Они являются свободно типизированными или динамическими языками программирования . Пример – Python.

Вот как объявить постоянное значение в JavaScript:

JavaScript

const petName = "Hippo"

const petName = "Hippo"

Литералы

В каждом исходном коде существуют типы данных, которые используются повсюду и изменяются только в том случае, если их отредактировали. Это литералы , которые не следует путать с переменными или константами. Ни один исходный код не обходится без них. Литералы могут быть строками, числами, десятичными знаками или любыми другими типами данных.

В приведенном выше фрагменте слово «Hippo» является строковым литералом. Это всегда будет «Hippo», пока вы не отредактируете исходный код. Когда вы научитесь кодить, узнаете, как управлять литералами таким образом, чтобы оставлять неизменной большую часть кода.

Пунктуация/Символы

В большинстве написанных программ вы найдете различные знаки препинания в зависимости от выбранного языка программирования. Например, в Java используется больше знаков препинания, чем в Python.

Основные знаки включают в себя запятую (, ), точку с запятой (; ), двоеточие (: ), фигурные скобки ({} ), обычные круглые скобки (() ), квадратные скобки (), кавычки («» или » ), вертикальную черту (| ), слэш (\ ), точку (. ), знак вопроса (? ), карет (^ ) и процент (% ).

Добро пожаловать в мир программирования, где знаки препинания – ваши лучшие друзья. Скоро вы обнаружите, что в коде их всегда очень много.

Операторы

Шансы, что вы будете писать исходный код для выполнения какой-нибудь операции, крайне высоки. Любые языки программирования, которые мы используем, включают в себя множество операторов. Среди применяемых выделяют сложение (+ ), деление (/ ) умножение (* ), вычитание () и знак больше (> ).

Операторы обычно классифицируются следующим образом:

  1. Операторы присваивания . Они иногда истолковываются как equals , что неправильно. Равенство используется для сравнения двух значений. А вот оператор присваивания присваивает значение переменной, например pet_name = ‘Hippo’
  2. Арифметические операторы . Состоят из операторов для выполнения арифметических задач, таких как сложение и вычитание. Некоторые языки программирования предоставляют арифметические операторы, когда другие могут их не иметь в своем арсенале. Например, оператор модуля/остатка (% ) возвращает остаточное значение в операциях деления.
  3. Реляционные операторы . Используются для сравнения значений. Они включают в себя больше, меньше, равно, не равно. Их представление также зависит от того, какой язык программирования вы изучаете. Для некоторых ЯП не равно – это <> , для других же – != или !== .
  4. Логические операторы . Применяются для произведения логических операций. Обычно используемыми логическими операторами являются и , или , нет . Некоторые языки представляют эти операторы в виде специальных символов. Например, && для представления логического и , || – для или , и ! – для нет . Логические значения принято оценивать с помощью булевых значений true или false .

Комментарии

Документация будет важным аспектом деятельности в сфере программирования. Это то, как вы объясняете свой код другим программистам. Подобное делается с помощью комментариев, которые добавляются к различным частям кода. С помощью комментариев вы можете направлять других программистов через написанную программу.

Компилятор игнорирует строки кода, которые являются комментариями.

Объявление комментариев разное для разных языков. Например, # используется для ввода комментариев в языке Python.

Вот пример комментария в Python:

# фрагмент программы для вычисления фибоначчи из N чисел

Java

// рекурсивная реализация Factorial import java.util.Scanner; class RecursiveFactorial { public static void main(String args) { Scanner input=new Scanner(System.in); System.out.print("Find the Factorial of: "); int num=input.nextInt(); System.out.println("Factorial of "+num+" = "+fact(num)); } static long fact(int n) { if(n < 2) return 1; return n * fact(n-1); } }

Инструкция

Просмотрите исходный код при помощи ее исходника. Исходный файл содержит в себе код, написанный программистом при создании программного обеспечения, после этого он компилируется при помощи специальных иснструментов и превращается в файл установки.

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

Если вы хотите найти код свободной программы, выполните поиск в интернете с соответствующим запросом. Также попробуйте скачать данную программу и в ее меню найти пункт «Просмотр исходного кода ». Обычно это доступно для распространяемых программ.

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

Будьте внимательны при использовании программ-декомпиляторов, поскольку многие разработчики программного обеспечения пользуются специальными программами, которые затрудняют процесс воссоздания исходного кода . Если программа была написана на ассемблере, также принимаются специальные программы.

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

Полезный совет

Не просматривайте код закрытых программ и тем более не вносите в него изменения.

Код программы может быть разным в плане приватности – многие разработчики не выкладывают в его в открытый доступ и условиями лицензионного соглашения накладывают на пользователей ограничения, связанные с его использованием и просмотром. Также имеются программы с открытым кодом, который можно просматривать, редактировать и так далее.

Вам понадобится

  • - программа для открытия исходного кода.

Инструкция

Убедитесь в том, что исходный код программного обеспечения, который вы хотите просмотреть, предназначен для открытого доступа. Для этого зайдите на официальный сайт разработчика программного обеспечения и просмотрите тип лицензии. В случае если исходный код программы закрытый, вы не можете просмотреть его. Это неудобно, однако при такой системе достаточно редко встречаются копии программы с содержанием троянских и других вредоносных программ. В этом и заключается основной минус свободного программного обеспечения.

В случае если у вас свободное программное обеспечение, найдите в меню программы «Исходный код», если такой пункт предусмотрен разработчиком, что бывает крайне редко. Для его просмотра в остальных случаях воспользуйтесь ассемблером или другим сторонним программным обеспечением.

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

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

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

Видео по теме

Полезный совет

Проверяйте исходники свободного ПО.

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

Вам понадобится

  • - программа браузер;
  • - программа-блокнот.

Инструкция

Найдите в браузере пункт меню "Исходный код сайта". К примеру, в программе Mozilla Firefox его можно найти в разделе «Веб-разработка», который находится в пункте «Инструменты» главного меню, а в браузере Internet Explorer вызов просмотра html-кода осуществляется из пункта «Вид» главного меню. Зайдите на сайт, код которого вы хотели бы изучить. После загрузки страницы выберите инструмент «Исходный код сайта». Программа выдаст специальное окно, в котором вы увидите код. Если содержание страницы отображается некорректно, попробуйте сменить кодировку.

Стандартные функции браузера можно расширить с помощью плагина. Нередко на сайте разработчика программы можно найти расширение, позволяющее просматривать код сайта. К примеру, плагин для Mozilla Firefox называется Firebug, для браузера Opera – DragonFly. Скачайте и установите плагин. Вполне возможно, потребуется перезагрузка браузера. Далее зайдите на нужный сайт. Нажмите на кнопку вызова консоли плагина - она может располагаться на одной из рабочих панелей программы, - после чего появится дополнительное окно, в котором будет отображен исходный код открытой страницы.

Сохраните необходимые страницы сайта с помощью соответствующей функции браузера. Для этого нажмите на пункт главного меню «Файл» и выберите надпись «Сохранить как». Выберите место на компьютере, в котором вы сохраните копию страницы. Затем в выпадающем меню с названием «Тип файла» выберите вариант «Веб-страница, полностью» или «Веб-страница, только HTML». Нажмите на «Сохранить». Повторите процедуру со всеми необходимыми страницами интернет-ресурса. Откройте папку, в которой были сохранены файлы. Выберите одну из страниц и запустите ее с помощью программы блокнота. Вы можете использовать установленную в операционной системе Windows утилиту «Блокнот», но лучше скачайте более удобную программу Notepad++. В ней имеется функция разделения разных типов html-тегов по цветам.

IMEI – это идентификационный код мобильного телефона . В случае кражи или потери мобильника вы сможете попытаться его найти по этому код у, если обратитесь за помощью к сотрудникам органов внутренних дел.

Инструкция

Узнайте IMEI вашего телефона , набрав комбинацию *#06#. Через мгновение на экране вашего мобильника будет отображен этот код . Таким образом можно узнать IMEI абсолютно любой модели сотового телефона .

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

Ознакомьтесь с документами на мобильное устройство. В них также обычно указан IMEI. Просмотрите договор, который вы оформляли в салоне связи при покупке телефона . IMEI указан в той же строке, что и «Наименование модели».

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

Если вы решили купить телефон с рук, попросите продавца предоставить вам все документы на мобильное устройство и сверьте IMEI, набрав*#06# или открыв телефон.

Если у вас похитили телефон или вы его потеряли, позвоните сначала своему оператору связи и заблокируйте номер. После этого обратитесь в полицию и предоставьте сотрудникам внутренних дел всю имеющуюся у вас информацию о времени и месте похищения или пропажи. Но самое главное, что вы должны им сообщить – это идентификационный код вашего мобильного устройства.

Если вы по каким-то причинам так и не смогли узнать IMEI телефона , не обращайтесь на интернет-сайты, предлагающие разнообразные программы и сервисы, которые якобы могут помочь вам не только узнать код мобильника, но и разблокировать старую сим-карту без PIN и PUK. Без доступа к базам данных операторов связи это сделать невозможно. А операторы связи заботятся о безопасности по высшему уровню.

Ключ, которым вы активировали ваше программное обеспечение, вы не можете просмотреть обычным способом, как, например, лицензионный код программы, что хранится в реестре и может быть доступен при его запуске либо с использованием других программ. На основании лицензионного кода вы можете просмотреть код активации на официальном сайте разработчика программы.

Вам понадобится

  • - программа для просмотра лицензионного кода.

Инструкция

Скачайте программу Everest 2006 на ваш компьютер. Установите ее и запустите. В главном окне выберите интересующее вас программное обеспечение, лицензионный код которого вы хотите узнать. В правой части окна при этом должна появиться нужная вам информация. Вы также можете сохранить ее в файл или распечатать. В любом случае, подобную информации лучше всего хранить не в электронном виде либо на съемном носителе, который не собираетесь форматировать.

Просмотрите лицензионный код программы на диске, если вы покупали ее отдельным от компьютера товаром, на коробке от него и так далее. Также информация о коде программного продукта содержится в реестре операционной системы. Для его запуска откройте «Выполнить» в меню «Пуск» и введите regedit в поле появившегося окна.

Найдите в директориях слева пункт, отвечающий за программное обеспечение. Выберите нужную вам программу, просмотрите папки на наличие информации о лицензии. Скопируйте его.

Перепишите лицензионный код, полученный одним из вышеуказанных способов. Зайдите на сайт разработчика программного обеспечения, активационной код которой вас интересует. Найдите пункт активации и регистрации программ, если таковой имеется на сайте. Введите лицензионный код вашего программного продукта и посмотрите доступный для него код активации. Этот способ удобен зачастую в тех случаях, когда активация программного продукта доступна на сайте.

Если для вашей программы недоступен такой способ активации, узнайте код при переустановке. Удалите ее полностью через пункт меню панели управления «Установка и удаление программ» и удалите запись об активации, предварительно убедившись в наличии у вас лицензионного а. После установки выполните активацию, просмотрев ключ, подходящий для вашего лицензионного кода. Перепишите его.

Полезный совет

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

Рассмотрим, как определить исходный код страницы , ведь этот параметр очень важен при работе в интернете. Если вам нужна какая-либо новость, теги или картинка, но как ее прописать вы не знаете, всегда можно скопировать информацию с другого сайта, узнав исходный код страницы , если он не закод ирован разработчиками сайта. Важен исходный код в постраничных файлах, которые не являются программами, с помощью исходного код а можно работать со страницами и редактировать их.

Вам понадобится

  • Инструкция по просмотру исходного кода страницы.

Инструкция

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

Для Internet Explorer выбирайте вкладку «вид», затем «исходный код страницы » либо пункт можно выбрать, нажав на правую кнопку мыши. Чтобы зашифрованный разработчиками код в этом заходим в меню «сервис», потом «средства разработчика», нажимаем стрелочку, выделяем нужный элемент на и код становиться . Далее жмем на значок и код в текстовом формате и копируем из его составляющих в html.

Браузер Mozilla Firefox предоставляет возможность просмотра с помощью простой команды «Ctrl+U» или в меню «инструменты» выбрать подстроку «посмотреть исходный код ». Просмотреть зашифрованную информацию в Mozilla Firefox можно установив специальное Web Developer, выбираем в меню «код » строку «сгенерираванный код » и внизу страницы появляется значение исходного код а. Копируем файл в буфер обмена или сохраняем с расширением page.htm.

При использовании Google Chrome в основном меню «инструменты» выбирайте подстроку «посмотреть исходный код », далее с помощью правой кнопки мыши открываете пункт «просмотр код а страницы » либо с помощью клавиш "Ctrl + U".

Чтобы найти исходный код Opera в меню «вид» выбираем «средства разработки» и в нем пункт «исходный код страницы » или с помощью сочетания клавиш "Ctrl + U".

Для браузера Safari в меню находим «посмотреть html-код », так же нажав правую кнопку мыши, открываем подстроку «посмотреть источник» или воспользуемся сочетанием клавиш "Ctrl + Alt + U".

Обратите внимание

Возможность просмотра зашифрованной информации об исходном коде осуществляется с помощью двух браузеров.

Полезный совет

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

Программы является его лицензионный код, на основе которого генерируется код активации. Делается это посредством связи через интернет-под ение или по телефону, также для некоторых разработчиков предусмотрены и другие способы активации.

Изучить новый язык и среду разработки - это минимум, что от тебя потребуется, если ты захочешь написать свое первое мобильное приложение. Чтобы с пониманием набросать элементарный todo list для Android или iOS, не передирая пример из книжки, уйдет не меньше пары недель. Но можно не осваивать Objective-C или Java и при этом быстро разрабатывать приложения для смартфонов, если использовать такие технологии, как PhoneGap.

Если ты внимательно изучал нововведения, которые ожидают нас в Windows 8, то, возможно, заметил, что под ней можно будет разрабатывать приложения на HTML5. Идея, на самом деле, не новая - технологии, реализующие тот же подход для мобильных платформ, развиваются семимильными шагами. Одним из таких фреймворков, позволяющим разрабатывать приложения для смартфонов с помощью связки привычных для нас HTML, JavaScript и CSS!, как раз и является PhoneGap. Написанное с его помощью приложение подойдет для всех популярных платформ: iOS, Android, Windows Phone, Blackberry, WebOS, Symbian и Bada. Тебе не нужно будет изучать особенности программирования под каждую платформу (например, Objective-C в случае с iOS), разбираться с различными API и средами разработки. Все, что потребуется для создания кросс-платформенного мобильного приложения, - это знание HTML5 и специального PhoneGap API. При этом на выходе получится не тупая HTML-страница, «обрамленная» в интерфейс приложения, нет! API фреймворка позволяет задействовать практически все возможности телефона, которые используются при разработке с помощью нативных инструментов: доступ к акселерометру, компасу, камере (запись видео и фотосъемка), списку контактов, файловой системе, системе нотификаций (стандартных уведомлений на телефоне), хранилищам и т. д. Наконец, такое приложение может безболезненно обращаться к любому кросс-доменному адресу. Ты можешь воссоздать нативные элементы управления с помощью фреймворков вроде jQuery Mobile или Sencha, и конечная программа будет выглядеть на мобильном телефоне так, как будто она написана на нативном языке (ну или почти так). Лучше всего проиллюстрировать вышесказанное на деле, то есть написать приложение, поэтому предлагаю сразу приступить к практике. Засекай время - на все про все уйдет едва ли больше получаса.

Что мы будем создавать

В качестве целевой платформы возьмем iOS - да-да, деньги лежат в AppStore, и монетизировать свои разработки пока лучше всего там:). Но сразу внесу ясность: все то же самое, без изменений, можно провернуть, скажем, для Android. Долго думал, какой пример рассмотреть, так как писать очередную тулзу для учета списка дел совершенно не хотелось. Поэтому я решил создать приложение под названием «Геонапоминалка», навигационную прогу, назначение которой можно описать одной фразой: «Сообщи мне, когда я снова тут окажусь». В AppStore есть немало утилит, которые позволяют «запомнить» место, где пользователь припарковал машину. Это почти то же самое, только чуть попроще. Ты сможешь указать на карте города точку, задать для нее определенный радиус и запрограммировать сообщение. Когда ты в следующий попадешь в пределы окружности с указанным радиусом, приложение выдаст тебе уведомление, а точка будет удалена. Будем действовать по такому плану: сначала создадим простое веб-приложение, проверим его в браузере, а затем перенесем с помощью PhoneGap на платформу iOS. Очень важно написать в прототипе и протестировать в браузере на компьютере основную часть кода, поскольку отлаживать приложение в телефоне гораздо сложнее. В качестве каркаса мы возьмем JS-фреймворк jQuery c jQuery Mobile (jquerymobile.com), а в качестве движка карт - Google Maps v3. Приложение будет состоять из двух страниц: карты и списка точек.

  • На карте устанавливается маркер твоего текущего положения. По клику на карте создается точка, к которой привязывается сообщение (вроде «машина рядом»). Точку можно удалить, кликнув на ней. Для перемещения маркера человека по карте используется геонавигационный API.
  • На странице со списком точек должна иметься дополнительная кнопка «Удалить все точки», а рядом с каждой точкой - кнопка «Удалить эту точку». Если кликнуть по элементу в списке, соответствующая точка отобразится на карте. Настройки пользователя и список точек будем сохранять в localStorage.

UI-фреймворки

jQuery Mobile - это, конечно, не единственный фреймворк для создания мобильного интерфейса. На сайте PhoneGap приведен огромный список библиотек и фреймворков, которые ты можешь использовать (phonegap.com/tools): Sencha Touch, Impact, Dojo Mobile, Zepto.js и др.

Каркас приложения

Сразу объясняю, зачем мы будем использовать jQuery Mobile. Эта JS-библиотека предоставляет нам уже готовые элементы интерфейса мобильного приложения (максимально приближенные к нативным) для самых разных платформ. Нам ведь надо, чтобы на выходе было именно мобильное приложение, а не страничка из браузера! Так что качаем последнюю версию JQuery Mobile (jquerymobile.com/download) и переносим в рабочую папку первые файлы приложения, которые нам понадобятся:

  • images/ (перенеси сюда все изображения из одноименной папки архива jq-mobile);
  • index.css;
  • index.html;
  • index.js;
  • jquery.js;
  • jquery.mobile.min.css;
  • jquery.mobile.min.js.

Нужно сделать ресурсы в основном локальными, чтобы пользователь в будущем не тратил мобильный интернет. Теперь создаем каркас страниц в файле index.html. Приведенный ниже код описывает верхнюю часть страницы с картой, надписью «Геонапоминалка» и кнопкой «Точки».

Страница с картой

Геонапоминалка

Точки

Атрибут страницы data-dom-cache=»true» необходим для того, чтобы она не выгружалась из памяти. Для кнопки «Точки» используется data-transition=»pop», чтобы страница «Список точек» открывалась с эффектом «Всплытие». Подробнее о том, как устроены страницы jQuery Mobile, можно почитать в хорошем мануале (bit.ly/vtXX3M). По аналогии создаем страницу со списком точек:

Страница со списком точек

Удалить все

Точки

Карта

Для кнопки «Карта» тоже пропишем data-transition=»pop», но добавим атрибут data-direction=»reverse», чтобы страница «Карта» открывалась с эффектом «Затухание». Те же атрибуты пропишем в шаблоне точки. Все, наш каркас готов.

Создание приложения

Теперь надо отобразить карту, для чего мы возьмем стандартный API Google Maps, который используется миллионами разных сайтов:

Var latLng = new gm.LatLng(this.options.lat, this.options.lng); this.map = new gm.Map(element, { zoom: this.options.zoom, // Выбираем начальный зум center: latLng, // Устанавливаем начальный центр mapTypeId: gm.MapTypeId.ROADMAP, // Обычная карта disableDoubleClickZoom: true, // Отключаем автозум по тапу/двойному клику disableDefaultUI: true // Отключаем все элементы интерфейса });

Здесь Gm - это переменная, ссылающаяся на объект Google Maps. Параметры инициализации я хорошо закомментировал в коде. Следующий шаг - отрисовка маркера человечка на карте:

This.person = new gm.Marker({ map: this.map, icon: new gm.MarkerImage(PERSON_SPRITE_URL, new gm.Size(48, 48)) });

В качестве PERSON_SPRITE_URL используется адрес спрайта человечка из Google-панорам. Его статический адрес - maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png . Пользователь будет добавлять точки, кликая на карте, поэтому, чтобы их отрисовывать, мы будем слушать событие click:

Gm.event.addListener(this.map, "click", function (event) { self.requestMessage(function (err, message) { // Метод, возвращающий текст, введенный пользователем if (err) return; // Метод добавляет точку в список активных и // отрисовывает ее на карте self.addPoint(event.latLng, self.options.radius, message); self.updatePointsList(); // Перерисовываем список точек }); }, false);

Я привожу бОльшую часть кода - остальное ищи на диске. Дальше нам нужно научить приложение перемещать иконку пользователя по карте. В прототипе мы задействуем Geolocation API (тот, который используется в том числе в десктопных браузерах):

If (navigator.geolocation) { // Проверяем, поддерживает ли браузер геолокацию function gpsSuccess(pos) { var lat, lng; if (pos.coords) { lat = pos.coords.latitude; lng = pos.coords.longitude; } else { lat = pos.latitude; lng = pos.longitude; } self.movePerson(new gm.LatLng(lat, lng)); // Перемещаем иконку пользователя } // Каждые три секунды запрашиваем текущее // положение пользователя window.setInterval(function () { // Запрашиваем текущее положение navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, { enableHighAccuracy: true, maximumAge: 300000 }); }, 3000); }

Метод movePerson с помощью простой процедуры getPointsInBounds() проверяет, не находится ли пользователь в какой-нибудь активной точке. Последний вопрос - где хранить список точек? В HTML5 появилась возможность использовать localStorage, так что не будем ей пренебрегать (предоставляю тебе самостоятельно разобраться с этими участками кода, которые я хорошо закомментировал). Итак, приложение, работающее в браузере, готово!

Запуск веб-приложения

Как я уже говорил, отладку в основном необходимо выполнять на компьютере. Самый подходящий браузер для тестирования веб-приложений на компьютере - это Safari или Chrome. После отладки в этих браузерах ты можешь быть уверен в том, что твое приложение не «поедет» в браузере мобильного телефона. Оба этих браузера совместимы с большинством мобильных веб-браузеров, поскольку точно так же, как и они, построены на основе движка WebKit. После устранения всех багов можно переходить к запуску мобильного веб-приложения непосредственно на телефоне. Для этого настрой свой веб-сервер (пусть даже Denwer или XAMPP), чтобы он отдавал созданную страницу, и открой ее уже в браузере мобильного телефона. Приложение должно выглядеть примерно так, как показано на рисунке. Тут важно понимать, что будущее мобильное приложение, собранное для мобильной платформы с помощью PhoneGap, будет выглядеть почти один в один, за исключением того, что на экране не будет отображаться навигационная панель браузера. Если все хорошо, можно приступать к созданию из странички полноценного iOS-приложения. Заметь, что PhoneGap и IDE для мобильной разработки мы до этого момента даже не трогали.

Подготовка

Для того чтобы собрать приложение под iOS, тебе нужен компьютер с операционной системой Mac OS 10.6+ (или виртуальная машина на Mac OS 10.6), а также среда разработки Xcode с установленным iOS SDK. Если у тебя не установлен SDK, придется скачать с сайта Apple образ диска, включающий в себя Xcode и iOS SDK (developer.apple.com/devcenter/ios/index.action). Имей в виду, что образ весит около 4 Гб. Кроме этого, тебе понадобится зарегистрироваться на сайте Apple в качестве разработчика (если ты не собираешься публиковать свое приложение в AppStore, то это требование можно обойти). С помощью этого набора можно разрабатывать приложения на нативном для iOS языке Objective-C. Но мы решили пойти обходным путем и воспользоваться PhoneGap, поэтому нам еще нужно установить пакет PhoneGap iOS. Просто скачай архив с офсайта (https://github.com/callback/phonegap/zipball/1.2.0), распакуй его и в папке iOS запусти программу установки. Когда установка завершится, в меню проектов Xcode должна появиться иконка PhoneGap. После запуска придется заполнить несколько форм, но уже очень скоро ты увидишь рабочую область IDE с твоим первым приложением. Чтобы проверить, все ли работает, нажми кнопку Run - должен запуститься эмулятор iPhone/iPad с шаблонным приложением PhoneGap. Собранная программа выдаст ошибку с сообщением о том, что index.html не найден, - это нормально. Открой папку, в которой ты сохранил первичные файлы проекта, и найди в ней подпапку www. Перетащи ее в редактор, кликни на иконке приложения в списке слева и в появившемся окне выбери «Create folder references for any added folders». Если запустить программу еще раз, то все должно заработать. Теперь можно скопировать все файлы нашего прототипа в папку www. Пора подпилить наш прототип для работы на смартфоне в обработке PhoneGap.

Перенос прототипа

В первую очередь нужно подключить phonegap-1.2.0.js в твой индексный файл. PhoneGap позволяет ограничивать список доступных для посещения хостов. Предлагаю сразу настроить такой «белый список». В меню проекта открой Supporting Files/PhoneGap.plist, найди пункт ExternalHosts и добавь в него следующие хосты, к которым будет обращаться наше приложение (это сервера Google Maps): *.gstatic.com, *.googleapis.com, maps.google.com. Если их не указать, программа выдаст предупреждение в консоли и карта не отобразится. Для инициализации веб-версии нашего приложения мы использовали событие DOMReady или хелпер jQuery: $(document).ready(). PhoneGap генерирует событие deviceready, которое говорит о том, что мобильное устройство готово. Предлагаю этим воспользоваться:

Document.addEventListener("deviceready", function () { new Notificator($("#map-canvas")); // Если у пользователя нет интернета, // сообщаем ему об этом if (navigator.network.connection.type === Connection.NONE) { navigator.notification.alert("Нет интернет-соединения", $.noop, TITLE); } }, false);
Запретим скроллинг: document.addEventListener("touchmove", function (event) { event.preventDefault(); }, false);

Затем заменим все вызовы alert и confirm на нативные, которые предоставляет нам PhoneGap:

Navigator.notification.confirm("Удалить точку?", function (button_id) { if (button_id === 1) { // Нажата кнопка OK self.removePoint(point); } }, TITLE);

Последнее, что нам нужно поменять, - это блок кода, перемещающий иконку пользователя по карте. Наш текущий код тоже работает, но работает менее оптимально (перемещает иконку, даже если координаты не изменились) и дает не такие богатые данные, как аналог в PhoneGap:

Navigator.geolocation.watchPosition(function (position) { self.movePerson(new gm.LatLng(position.coords.latitude, position.coords.longitude)); }, function (error) { navigator.notification.alert("code: " + error.code + "\nmessage: " + error.message, $.noop, TITLE); }, { frequency: 3000 });

Этот код более изящный - он генерирует событие только тогда, когда координаты изменились. Жмем кнопку Run и убеждаемся, что только что созданное нами приложение отлично работает в симуляторе iOS-устройства! Пора приступать к запуску на реальном устройстве.

Запуск на устройстве

Подсоедини iPhone, iPod или iPad к компьютеру, на котором запущен Xcode. Программа определит новое устройство и попросит разрешения использовать его для разработки. Нет смысла ей отказывать:). Повторю еще раз: чтобы запустить написанное приложение на iOS, необходимо быть авторизированным разработчиком iOS (другими словами, быть подписанным на iOS Developer Program). Этим придется заморочиться только в случае разработки приложений для продукции Apple, с другими платформами (Android, Windows Phone) все намного проще. У тех, кто обучается в вузе, есть шанс получить доступ к программе бесплатно благодаря каким-нибудь льготам. Все остальные должны платить $99 в год для участия в программе. Apple выдает сертификат, которым ты сможешь подписывать свой код. Подписанное приложение разрешается запускать на iOS и распространять в App Store. Если ты не студент, а $99 для невинных экспериментов тебе пока жалко, то есть и другой способ - обмануть систему. Ты можешь создать самоподписанный сертификат для верификации кода и запустить мобильную программу на джейлбрейкнутом iOS-устройстве (не буду на этом останавливаться, потому что все максимально подробно расписано в этой статье: bit.ly/tD6xAf). Так или иначе, ты вскоре увидишь работающее приложение на экране своего мобильного телефона. Останавливай секундомер. Сколько времени у тебя на это ушло?

Другие платформы

Кроме PhoneGap, существуют и другие платформы, позволяющие создавать мобильные приложения без использования нативных языков. Перечислим наиболее крутых игроков.

Appcelerator Titanium (www.appcelerator.com).

Titanium умеет собирать приложения в первую очередь под Android и iPhone, но в нем также заявлена поддержка BlackBerry. Кроме самого фреймворка, проект предоставляет набор нативных виджетов и IDE. Ты можешь разрабатывать приложения на Titanium бесплатно, однако за поддержку и дополнительные модули придется заплатить (от $49 в месяц). Цена некоторых сторонних модулей доходит до $120 за год. Разработчики Appcelerator Titanium утверждают, что на основе их фреймфорка написано более 25 тысяч приложений. Исходный код проекта распространяется под лицензией Apache 2.

Corona SDK (www.anscamobile.com/corona).

Эта технология поддерживает основные платформы - iOS и Android. Фреймворк нацелен в основном на разработку игр. Еще бы, ведь разработчики заявляют о высококачественной оптимизации на OpenGL. Бесплатной версии у платформы нет, а цена довольно-таки кусачая: $199 в год за лицензию для одной платформы и $349 в год для iOS и Android. Corona предлагает свою IDE и эмуляторы устройств. Приложения под Corona пишут на языке, похожем на JavaScript.

Заключение

Мы создали простое мобильное веб-приложение и в несколько простых шагов портировали его на платформу iOS с помощью PhoneGap. Мы не написали ни строчки кода на Objective-C, но получили программу приличного качества, потратив минимум времени на перенос и изучение API PhoneGap. Если ты предпочитаешь другую платформу, например Android или Windows Mobile 7, то ты так же легко, без каких-либо изменений под эти платформы, сможешь собрать наше приложение (для каждой из них есть хороший вводный мануал и видеоурок: phonegap.com/start). Чтобы убедиться в состоятельности платформы, можно посмотреть на уже готовые приложения на PhoneGap, которые разработчики технологии собрали в специальной галерее (phonegap.com/apps). По факту PhoneGap - это идеальная платформа для создания как минимум прототипа будущего приложения. Ее главными преимуществами являются быстрота и минимум затратат, чем активно пользуются стартапы, которые во всех отношениях ограничены в ресурсах. Если приложение попрет, а внутренности на HTML+JS тебя по какой-то причине перестанут устраивать, всегда можно будет портировать приложение на нативный язык. Не могу не сказать, что PhoneGap изначально разрабатывался компанией Nitobi как открытый проект (репозиторий располагается на GitHub: github.com/phonegap). Исходники и дальше будут оставаться открытым, хотя в октябре прошлого года компанию Nitobi купил Adobe. Нужно ли говорить, какие перспективы появляются у проекта при поддержке в лице такого гиганта?

Используя и изучая приложения с открытым исходным кодом, вы можете научиться, как создавать хорошие приложения самостоятельно.


Ниже перечислены лучшие проекты под Android с открытым исходным кодом. Благодаря им вы сможете узнать массу отличных практик для разработки под Android.

1. Android-приложение с MVP архитектурой

MVP с использованием .

2. Android-приложение с MVVM архитектурой

Этот репозиторий содержит приложение, которое реализует архитектуру MVVM с использованием Dagger2, GreenDao, RxJava2, Fast-Android-Networking и PlaceholderView .

3. Google I/O Android-приложение

Google I/O - это конференция разработчиков, которая проводится каждый год. На ней представлены сотни демонстраций технологий от разработчиков.


Этот проект - Android-приложение для конференции. Приложение поддерживает устройства под управлением Android 5.0+ и оптимизировано для телефонов и планшетов всех форм и размеров.


4. Чертежи архитектуры Google Android

Платформа Android обладает большой гибкостью, когда организует и архивирует приложение. Эта свобода может привести к приложениям с большими классами. Это может затруднить тестирование, поддержку и расширение.


Архитектура Android Blueprint предназначена для демонстрации возможных способов помочь в решении этих проблем. Этот проект показывает одно и то же приложение, реализованное много раз с использованием различных архитектурных концепций и инструментов.


Вы можете использовать эти образцы как отправную точку для создания собственных приложений. Здесь основное внимание уделяется структуре кода, архитектуре, тестированию. Однако имейте в виду, что существует множество способов создания приложений с этими архитектурами и инструментами. Сосредоточьтесь на своих собственных приоритетах и не слишком увлекайтесь тем, что можно считать каноническими примерами.

5. Telegram

Приложение под Android, которое способно вдохновить своим дизайном, благодаря отличной реализации material design.

7. Wire

Это приложение чата полно картин, фильмов, GIF, музыки, эскизов и других форм мультимедиа. Также оно всегда обеспечивает безопасное сквозное шифрование.


8. Андроид-приложение ribot

Kickstarter - это глобальное сообщество, которое помогает воплощать творческие проекты в жизнь. Изучайте тысячи проектов в области искусства, дизайна, фильмов, игр, музыки и т. д.

10. PocketHub

GitHub отказался поддерживать приложение, поэтому оно было выпущено "в люди" и поддерживается как публичный проект. Сейчас общество активно работают над переизданием этого приложения в Play Маркет. Это приложение станет духовным преемником оригинального приложения.

11. Простое андроид-приложение с MVP

Очень простое приложение, показывающее, как реализовать архитектуру MVP.

Используя и изучая приложения с открытым исходным кодом, вы можете научиться, как создавать хорошие приложения самостоятельно.


Ниже перечислены лучшие проекты под Android с открытым исходным кодом. Благодаря им вы сможете узнать массу отличных практик для разработки под Android.

1. Android-приложение с MVP архитектурой

MVP с использованием .

2. Android-приложение с MVVM архитектурой

Этот репозиторий содержит приложение, которое реализует архитектуру MVVM с использованием Dagger2, GreenDao, RxJava2, Fast-Android-Networking и PlaceholderView .

3. Google I/O Android-приложение

Google I/O - это конференция разработчиков, которая проводится каждый год. На ней представлены сотни демонстраций технологий от разработчиков.


Этот проект - Android-приложение для конференции. Приложение поддерживает устройства под управлением Android 5.0+ и оптимизировано для телефонов и планшетов всех форм и размеров.


4. Чертежи архитектуры Google Android

Платформа Android обладает большой гибкостью, когда организует и архивирует приложение. Эта свобода может привести к приложениям с большими классами. Это может затруднить тестирование, поддержку и расширение.


Архитектура Android Blueprint предназначена для демонстрации возможных способов помочь в решении этих проблем. Этот проект показывает одно и то же приложение, реализованное много раз с использованием различных архитектурных концепций и инструментов.


Вы можете использовать эти образцы как отправную точку для создания собственных приложений. Здесь основное внимание уделяется структуре кода, архитектуре, тестированию. Однако имейте в виду, что существует множество способов создания приложений с этими архитектурами и инструментами. Сосредоточьтесь на своих собственных приоритетах и не слишком увлекайтесь тем, что можно считать каноническими примерами.

5. Telegram

Приложение под Android, которое способно вдохновить своим дизайном, благодаря отличной реализации material design.

7. Wire

Это приложение чата полно картин, фильмов, GIF, музыки, эскизов и других форм мультимедиа. Также оно всегда обеспечивает безопасное сквозное шифрование.


8. Андроид-приложение ribot

Kickstarter - это глобальное сообщество, которое помогает воплощать творческие проекты в жизнь. Изучайте тысячи проектов в области искусства, дизайна, фильмов, игр, музыки и т. д.

10. PocketHub

GitHub отказался поддерживать приложение, поэтому оно было выпущено "в люди" и поддерживается как публичный проект. Сейчас общество активно работают над переизданием этого приложения в Play Маркет. Это приложение станет духовным преемником оригинального приложения.

11. Простое андроид-приложение с MVP

Очень простое приложение, показывающее, как реализовать архитектуру MVP.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows