сложно ли сделать приложение для android
Пишем своё первое приложение на Android
Предисловие
Подготовка к разработке
Установка среды разработки Eclipse
Тут всё просто. Идём в раздел Downloads на официальном сайте и качаем версию Classic. Далее просто распакуйте архив, куда вам хочется, я же решил это сделать в почетную директорию C:\Eclipse
Установка ADT плагина к Eclipse
Запускаем Eclipse, и открываем диалог установки плагина через меню Help → Install new software. В поле Work with вписываем адрес загрузки плагина dl-ssl.google.com/android/eclipse (если не получилось, то плагин можно скачать и установить вручную по ссылке http://developer.android.com/sdk/eclipse-adt.html), далее в таблице ниже появится Developer Tools, отмечаем его и идем далее.
После успешной установки, можно перезапустить среду Eclipse.
Установка среды для Java: JDK и JRE
Если у вас еще не установлены Java Development Kit (JDK) и Java Runtime Environment (JRE), то их необходимо установить. Сделать это можно на сайте Oracle. Скачайте и установите JDK и JRE.
Установка Android SDK
Дело осталось за малым — это скачать и установить свежий Android SDK. Это делается на сайте для Android разработчиков. Я лично установил SDK опять-таки в почётную директорию C:\Android. После этого необходимо добавить платформы и прочие дополнительные элементы SDK. Я добавил все доступные версии, так как планирую делать приложения и для ранних платформ, а также USB-драйвер и примеры приложений.
Подготовка к разработке завершена. Теперь следующий этап — создание приложения.
Создание Android-приложения
Перед тем как создать своё первое приложение, можно создать виртуальное Android-устройство, чтобы быстро тестировать на нём свой свеженаписанный софт. Вначале я хочу сказать вам несколько слов по поводу Android Virtual Device (AVD). Это виртуальный смартфон с ОС Android, на котором вы с легкостью сможете запускать созданную вами программу. Как можно заметить, преимущество Android Virtual Device состоит в том, что наглядно можно увидеть как будет работать Ваша программа на разных смартфонах с Android, а не покупать весь модельный ряд и тестировать приложение на каждом из них.
Приступим к созданию виртуального устройства Android. Следуем в меню по пути Window → Android SDK and AVD Manager.
Выбираем New в правой части окна, в появившемся окне вписываем имя виртуального устройства, платформу (допустим Android 2.1), размер карты памяти (допустим 512 Mb), тип дисплея (допустим HVGA). Затем жмем внизу на кнопку Create AVD.
Теперь создадим проект. Для этого идем по пути в меню File → New → Other, в появившемся списке Android → Android Project.
В качестве примера расскажу о разработке одной моей простейшей программы UfaTermometr, показывающей текущую температуру с датчиков, расположенных на одном из объектов местной энерго-компании.
Подробно останавливаться на разметке элементов управления не буду, так как это всё достаточно подробно описано в мануале и вообще интуитивно понятно, особенно тому, кто имел дело с html/css-вёрсткой и/или разработкой в какой-либо визуальной среде (например, Delphi). Единственное, обратите внимание как я загрузил произвольное изображение в ImageView. В поле src указывается путь, начинающийся с символа @ и далее указываете адрес по дереву. В папке res я заблаговременно создал подпапку drawable и «закинул» туда логотип, а затем просто указал ImageView путь. Легко? По мне так очень.
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.*;
public class UfaTermometr extends Activity
<
@Override
public void onCreate(Bundle savedInstanceState)
<
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.refrbutton);
button.setOnClickListener( new Button.OnClickListener() <
public void onClick(View v) // клик на кнопку
<
RefreshTemper();
>
>);
RefreshTemper(); // при запуске грузим температуру сразу
>;
//—————————————————————-
public String GetTemper(String urlsite) // фукция загрузки температуры
<
String matchtemper = «» ;
try
<
// загрузка страницы
URL url = new URL(urlsite);
URLConnection conn = url.openConnection();
InputStreamReader rd = new InputStreamReader(conn.getInputStream());
StringBuilder allpage = new StringBuilder();
int n = 0;
char [] buffer = new char [40000];
while (n >= 0)
<
n = rd.read(buffer, 0, buffer.length);
if (n > 0)
<
allpage.append(buffer, 0, n);
>
>
// работаем с регулярками
final Pattern pattern = Pattern.compile
( » [^-+0]+([-+0-9]+)[^ [^(а-яА-ЯёЁa-zA-Z0-9)]+([а-яА-ЯёЁa-zA-Z ]+)» );
Matcher matcher = pattern.matcher(allpage.toString());
if (matcher.find())
<
matchtemper = matcher.group(1);
>
return matchtemper;
>
catch (Exception e)
<
>
return matchtemper;
>;
//—————————————————————-
public void RefreshTemper()
<
final TextView tTemper = (TextView) findViewById(R.id.temper);
String bashtemp = «» ;
bashtemp = GetTemper( «be.bashkirenergo.ru/weather/ufa» );
tTemper.setText(bashtemp.concat( «°» )); // отображение температуры
>;
>
После того как приложение написано, можно уже его отлаживать и тестировать.
Запуск и тестирование приложения
Вспоминаем про нашу виртуальную машину и запускаем привычной кнопкой или менюшкой Run → Run
Вот такую картину мы можем затем созерцать:
Заключение
В заключении хотелось бы сказать, что безусловно разработка приложений для Android приятна, достаточно проста и интересна. Конечно, мы рассмотрели лишь верхушку айсберга, но я надеюсь, что в умах тех из вас, кто раньше не пробовал делать ничего подобного «загорелась лампочка» и вполне возможно, что когда-то вашим приложением будут пользоваться миллионы.
Источники, ссылки
UPD: Устранение возможных ошибок
ERROR: Unable to open class file C:\workspace\Test\gen\com\example\test\R.java: No such file or directory
emulator: ERROR: no search paths found in this AVD’s configuration. Weird, the AVD’s config.ini file is malformed. Try re-creating it
— это следствие того, что у Вас кириллица в имени пользователя. Решается: идем в Компьютер → Свойства системы → Дополнительные параметры системы → Переменные среды. Создаем новую переменную с именем ANDROID_SDK_HOME и значением – путем, где находится папка AVD (например, C:\Android\). Создаем, далее ищем там же переменную Path, открываем и в поле значений через точку с запятой добавляем путь до папки tools Android SDK (например, C:\Android\tools). Сохраняем. Запускаем Eclipse, запускаем программу.
UPD 05.10.2011, во что превратилось данное приложение можно лицезреть на следующих скринах:
Это результат развития той самой болванки, которая выше дана в качестве примера.
Разработка и создание Android-приложений
Создание сайтов
Как сделать приложение для Android самостоятельно
Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.
Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.
Создание простейшего приложения состоит из нескольких этапов:
А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.
Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.
Необходимые инструменты
Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.
Если на компьютере не установлены Android SDK и другие компоненты, то Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.
Полезно установить и эмулятор Android, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с Android Studio.
Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.
Из чего состоит приложение
на Android
Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.
Теперь попробуем сделать своё приложение для Android.
Создаём Android-приложение
в Android Studio
Шаг 1
Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.
Шаг 2
Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).
Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.
Шаг 3
Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.
Шаг 4
После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.
Создаем приложение для ANDROID быстро и просто
После успешной установки мы можем создать свой первый проект.
Мы можем его запустить в эмуляторе, который идет комплекте с Visual Studio нажав клавишу F5.
Приводим код к такому виду. Здесь мы создаем WebView контейнер который будет грузить локальный HTML файл, который находится в проекте в папке Assets.
По такому принципу можно создать приложение быстро и просто. Файлы html будут выглядеть одинаково на всех устройствах. То есть, Вы можете сделать приложения для Android и iOS с одинаковым интерфейсом. Не надо изучать сложные языки разметки, не надо изучать сложные макеты (сториборды) на iOS. Все можно сделать на HTML.
В идеале, вместо локальных файлов можно сделать загрузку со стороннего сайта. В этом случае Вы можете менять контент приложения без его обновления в AppStore и Google Play.
Q: Но как быть с функциями самой платформы? Пуш сообщения? Как взаимодействовать с самой платформой?
Все очень просто! JavaScript можно использовать для вызова функций Android:
Мы видим, что теперь программа ругается на Export так как не знает что это такое.
Так вы можете подключать библиотеки если вдруг Visual Studio ругается на что то.
Данная функция это показ всплывающей информации на экране. Она выполняется именно на платформе Андроида. То есть мы можем написать в HTML файле вызов функции Андроида. Получается полное дружелюбие двух платформ по JavaScript интерфейсу. Данные можно передавать туда сюда. Вызывать переход от одной активити в другую. Все через HTML + JavaScript.
Немного модифицируем файл login.htm:
Теперь при нажатии на кнопку HTML вызывается функция Toast андроида и выводиться сообщение пользователю.
Как создать приложение под Android и заработать на нем. Часть 2 из 6.
Второй пост из серии будет посвящен знакомству с операционной системой Android и инструментами разработчика. Причем, я не буду рассказывать вам о том, что такое Android (это в принципе нереально в объемах даже нескольких постов), я лишь подскажу где искать и что искать. Всю остальную работу вы должны проделать сами, ибо единственный верный путь к надежным и глубоким знаниям лежит через самообучение. Предполагается, что перед выполнением действий, описанных в этом посте, вы ознакомились с Java.
Должно быть, самое пугающее обстоятельство для новичка, который решил заняться освоением Android, это обилие различных источников по этой теме. Попробуйте поискать в Google что-нибудь типа «уроки Android для начинающих» и поисковой выдаче не будет конца, а таргетированная реклама вроде «стань Android-разработчиком за одну неделю» будет приходить к вам во сне. Причины такого обилия материала просты: бешеная популярность операционной системы, ее открытость и доступность для всех и каждого.
К счастью, для человека, который решил всерьёз и надолго заняться изучением Android, все это многообразие информации вовсе не нужно. Вашей Библией в мире этой операционной системы станет лишь один сайт: http://developer.android.com, который может (и должен) ответить на любой ваш вопрос, связанный с разработкой. Потому что этот сайт создан разработчиками Android для Android-разработчиков. Кроме того, практически все уроки для начинающих, которые мне довелось увидеть, представляют собой полную или частичную копию (или перевод) материалов сайта.
Раздел «Руководства по API» содержит информацию об основах разработки под Android, описывает компоненты Android-приложений, дает рекомендации по построению пользовательских интерфейсов, и вообще содержит любую информацию по теме: от фундаментальных особенностей операционной системы до управления датчиками Android-устройств и OpenGL-графике.
Раздел «Курсы» позволит вам с нуля написать ваше первое приложение, а также поможет вам освоить все API, о которых рассказывается в предыдущем разделе. Большинство Android-уроков для новичков списаны именно отсюда.
Теперь, когда вы знаете где найти теорию для изучения и как получить инструмент для практики, пора приступать к обучению! Порядок ваших действий на данном этапе освоения платформы будет немного похож на инструкцию по рисованию совы:
1. Загрузите и установите Android Studio и всё сопутствующее программное обеспечение.
2. Читайте об основах Android, знакомьтесь с различными API (то есть программными инструментами для создания приложений), смотрите видео об успехах независимых разработчиков до тех пор, пока вам не надоест и руки не зачешутся от желания написать какой-нибудь код.
3. Приступайте к выполнению самого первого урока «Building Your First App» (он находится по адресу https://developer.android.com/training/basics/firstapp/index.html). Хоть наличие реального Android-устройства и не обязательно для выполнения примеров, поскольку всегда можно воспользоваться эмулятором, я вам очень рекомендую иметь настоящий Android-смартфон или планшет. Установка приложения для отладки и тестирования на реальное устройство занимает в разы меньше времени, чем на эмулятор.
4. Продолжайте выполнять другие уроки и параллельно читать руководства по встречающимся в уроках API, а также не забывайте возвращаться к учебнику по Java. Вы должны понимать, что именно происходит в каждой строчке написанного вами кода.
P.S. Не расстраивайтесь, если ваши первые приложения будут выглядеть не очень красиво, а функционал будет не слишком богатым. С набором опыта графический интерфейс ваших приложений будет плавно имплементировать принципы новомодного Material Design, а его внутренняя логика будет дополняться все новыми и новыми функциями.
Чтобы не быть голословным, приведу личный пример:
И обязательно заведите себе кота, помогающего в разработке!
Вашей Библией в мире этой операционной системы станет лишь один сайт: http://developer.android.com
это на первых этапах. Потом вашей библией, вашим другом, спасителем и солнцем станет stackoverflow
Спасибо, жду следующие части
@FirstPhoenix, огромное спасибо за интересные посты. Хотелось бы узнать, у вас был опыт программирования до этого или вы начали с нуля?
А через что ты отрисовываешь графики? Какая-то библиотека, или сам вьюху создавал?
на фото 2 человека, один держит кота, другой фотографирует?
Продолжение поста «Копируем ключ от домофона MIIFARE телефоном MCT»
Решил не затягивать.
Еще встречается другая проблема.
Приложение RFID tools позволяет нам работать с внешними модулями. Вообще то и MCT можно заставить работать с внешними устройствами, но здесь это реализовано лучше. Нам понадобится модуль PN532, немного доработанный. И обязательно наличие OTG в телефоне или планшете. Можно все сделать через блютус модуль, вроде HC-05/06, но лично мне такой вариант не понравился. Начинаем.
Предположим, что у вас получилось считать свою метку формата мифайр. Но так уж вышло, что заготовки в наличии только типа zero, те которые поддерживают магические команды. У них пишется нулевой блок нулевого сектора, но через MCT сделать это вы не сможете. И здесь нас выручит ARC122, либо, что более доступно и популярно, модуль PN532. Приложение поддерживает массу модулей, даже proxmark, правда не все версии. Главное меню и пункт TOOLS.
В меню мы можем выбрать подключенное устройство. Лично я использовал только PN532 и телефон. Но последний с задачей не справляется. В меню TOOLS можно посмотреть и отредактировать дамп и добавить свои ключи для чтения метки.
Заходим в PN532 и выбираем свое подключение. Далее нас бросает в такое меню.
NFC-list позволяет прочитать отрытую информацию из нулевого блока нулевого сектора. MFOC и MFCUK это доступные для нас атаки на защиту метки. Я их не использую, ибо нет необходимости и скорость работы неважная. Но поиграть со своим ключем вы можете. Нас же интересует главное меню Reader. Заходим. По порядку, вначале мы можем выбрать список ключей. Если метка закрытая, а ключи у нас уже есть, полученные например сниффером Копировальщик mifare 1k / сниффер то мы можем запросто добавить их в меню TOOLS вначале и теперь выбрать их для чтения или перезаписи метки. Далее идет ползунок, при нажатии на который, программа будет читать только 1 сектор, можно самому выбрать какой. Нас в основном интересует сектор 0. Это все касаемо чтения. Далее идут опции записи. Можно записать 0 блок, все блоки или конкретный. Я обычно пишу все и проходит гладко. Здесь же можно выбрать дамп, например заранее импортированный из приложения MCT. Приведу пример.
У меня есть дамп от моего подъезда и заготовка zero новая с дефолтными ключами. Выбираем стандартные ключи вверху, оставляем переключатель на записи всего дампа. Предварительно нужно положить заготовку на считыватель и нажать кнопку WRITE. После окончания записи высветится уведомление. Можно будет прочитать эту же заготовку приложением MCT, или RFID TOOLS. Смотря где у вас забиты ключи, от исходного ключа, ведь теперь для чтения первого сектора, вам они нужны. Победа, мы записали метку zero с телефона без ПК и дорогих устройств.
Предыдущие посты по теме RFID:
Напомню, что как раз сниффер позволяет вытянуть ключи из считывателя. Какой бы защищенной не была метка. Как всегда, общение в комментариях. По делу писать, есть контакт в профиле. Вопросы здесь. Можете предлагать темы для следующих постов. Спасибо за плюсы, подписки и обсуждения в комментариях. А я кажется за неделю оккупировал Лигу Радиолюбителей.
Копируем ключ от домофона MIIFARE телефоном MCT
Продолжаем тему постов про rfid.
Когда нибудь напишу объёмный пост, где постараюсь систематизировать знания. Там будет много теории и практической информации. А пока встречайте мини пост про приложение MIFARE Classic Tool. В недавнем посте про сниффер, случился такой диалог в комментариях.
Копировальщик mifare 1k / сниффер
Казалось бы, ситуация простая, решение тоже. Но как оказывается, люди не очень знают об этом приложении и не умеют пользоваться им. Ещё оно удобно, для проверки стандарта ключа. Если приложив метку, мы сможем считать uid функцией display tag info из настроек, то у нас mifare на частоте 13.56 МГц. Кстати, mifare тоже бывают разные, на 1k свет клином не сошелся. Возможно напишу об этом позже.
Предыдущие почты на тему rfid:
Копировальщик ключей домофона
Делаем ключ 3 в 1 (шлагбаум, домофон и калитка)
Проект компактного копировальщика ключей EM/Ibutton
Ключ от домофона EM-MARINE 2 в 1
Копировальщик mifare 1k / сниффер
Спасибо за внимание, плюсики и подписки. Мой контакт в профиле. Пишите, что ещё вам интересно касаемо темы rfid и других. Задавайте вопросы и комментируйте. Ваша активность это основной мотиватор для продолжения.