Как начать разрабатывать под Android. Android: программирование для начинающих

Faq 03.09.2019
Faq

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

А ещё все новые Хромбуки отныне и навсегда обзавелись поддержкой Android-приложений: их можно скачивать, устанавливать и запускать, как в родной среде. Рынок Android-программ лишь растёт. Не следует думать, что время ушло – ещё совсем не поздно начать. Всё, что нужно для старта: приготовиться, сделать глубокий вдох, подобрать подходящий язык программирования – и начать свое путешествие.

Но какой язык программирования будет лучшим именно для вас? Выбор подходящего инструмента разработки – первая задача, с которой никто не справится лучше вас. Многое зависит от опыта в программировании (либо от отсутствия опыта в конкретных средах разработки), от личного комфорта при использовании того или иного языка. К счастью, выбор приличный. В данной статье рассмотрена подборка лучших языков программирования для Android.

Когда дело касается приложений для Android, язык Java никак не может стать неверным выбором. Помимо того, что это официальный язык программирования данной ОС, он ещё и второй по распространённости на ресурсе GitHub, и столь популярен он уже более 20 лет. Это значит, что инструкций и учебников по Java существует великое множество, да и беспокоиться об устаревании этого языка в ближайшем будущем совершенно не следует.

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

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

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

Использование Kotlin – это применение в программном продукте всех лучших сторон Java, без его недостатков. Синтаксис и другие особенности программирования на Kotlin современны, понятны, быстры. Это действительно удобная среда для разработки. Там, где Java кажется громоздким, неуклюжим и староватым языком, Kotlin выглядит комфортно, свежо и даже красиво. В какой-то степени можно считать, что Kotlin был специально создан для разработки приложений Android.

Обратная сторона медали? Kotlin – очень молодой язык. Его первые версии были выпущены в 2011 году, а официальный релиз состоялся лишь в 2016. Есть и хорошие новости: Kotlin – бесплатный и с открытым исходным кодом. Стоит ожидать, что он будет развиваться семимильными шагами. Но в любом случае должно пройти несколько лет, прежде чем этот язык зарекомендует себя по-настоящему надёжным выбором.

C# — невероятный язык программирования! Он взял от Java всё самое лучшее, оставив за бортом худшие особенности этого языка. И развивался он в том же правильном русле. Похоже, что в Microsoft некогда разглядели потенциал Java и решили разработать собственную, лучшую версию.

Долгое время серьёзным недостатком использования C# было то, что он работал лишь в системах Windows: этот язык основывается на.NET Framework. Но в 2014 году это обстоятельство изменилось: Microsoft открыла исходные коды.NET Framework. Более того, в 2016 году корпорация приобрела компанию Xamarin – разработчика Mono (проект, позволяющий программам C# работать на различных платформах).

Итогом этих славных дел стало то, что сегодня можно использовать среды Xamarin.Android и Xamarin.iOS для создания мобильных приложений в Visual Studio или Xamarin Studio. Отличный способ для начала разработки, ведь в дальнейшем можно будет использовать средства этого языка в других областях – скажем, создание сложных игр при помощи Unity и C#. Наглядные примеры приложений, созданных в Xamarin? MarketWatch – ни больше, ни меньше.

Наконец, отметим, что ещё недавно за работу в Xamarin требовалась плата. Но Microsoft сделала эту среду бесплатной!

Хотя Android не обладает нативной поддержкой Python, существуют инструменты, позволяющие писать приложения на Python, а затем конвертировать их в «родные» для Android приложения APK. Великолепный пример жизнеспособности Python в качестве действительно эффективного языка. Почитатели языка Python, желающие попробовать себя в разработке Android-приложений, обязательно оценят эту возможность – не вникая при этом в дебри Java.

Среди наиболее популярных решений для конвертации кода Python в APK – проект Kivy. И дело даже не в его природе open source, и не только в поддержке Windows, Mac, Linux и iOS вдобавок к Android. Kivy спроектирован таким образом, чтобы действительно ускоряет разработку приложений. Во всяком случае, можно использовать его в качестве инструмента для прототипирования. Сколько всего можно сделать при помощи лишь нескольких строк кода!

Впрочем, в отсутствии у Python нативной поддержки, не получится воспользоваться и преимуществами родной для Android среды. Приложения, написанные с Kivy, как правило, компилируются в более объёмные APK, медленный старт и, в целом, производительность ниже среднего. Однако каждый вновь выпущенный релиз по-настоящему лучше предыдущего, а мобильные устройства сегодняшнего дня настолько мощны, что неоптимальная производительность приложений значит не столь уж много. Пусть этот фактор не будет препятствием.

Пара примеров приложений на Android, написанных в Kivy: Kognitivo и Barly.

  1. HTML5 + CSS + JavaScript

Эта тройка языков, когда-то созданных для разработки фронт-энд приложений в веб-среде, с тех пор переросла в нечто большее. Теперь инструментов HTML5, CSS и JavaScript вполне достаточно для создания самых разных приложений и для мобильных устройств, и для классических ПК. По сути, программист создаёт веб-приложение, способное использовать всю мощь и магию оффлайн-платформ.

Для создания Android-приложений этим способом можно использовать возможности Adobe Cordova – это фреймворк с открытым исходным кодом, который также поддерживает операционные системы iOS, Windows 10 Mobile, Blackberry, Firefox, и многие другие. Однако, какой бы полезной ни была Cordova, для создания в ней сколь-нибудь приличного приложения требуется серьёзная работа. Поэтому многие программисты отдают предпочтение проекту Ionic Framework (который использует «Кордову» для развертывания на различных платформах).

Примеры приложений для Android, написанные на HTML5, JavaScript и CSS: Untappd и TripCase.

Есть и другая возможность: использование библиотеки React Native. Её можно развернуть на Android, iOS и платформе «Универсальных приложений Windows». Эту библиотеку используют специалисты Facebook, Instagram и других крупных компаний, поэтому можно положиться на её надёжность. Обучение не самое простое, но когда оно подойдёт к финалу, в ваших руках будет вся мощь, гибкость и удобство, которые только можно пожелать.

Lua – старый скриптовый язык, который изначально создавался в качестве дополнения для программ, написанных на более сложных языках: C, VB.NET и т.д. В этом языке есть некоторые особенности, которые выделяют Lua из ряда подобных ему – к примеру, начало массивов с 1 вместо 0, или отсутствие нативных классов.

Таким образом, для определённых задач Lua можно использовать в качестве основного языка программирования. Лучший тому пример – SDK Corona. При помощи Corona можно создавать мощные, богатые по функциональности приложения с возможностью развёртывания на Windows, Mac, Android, iOS, и даже Apple TV + Android TV. В Corona также встроены возможности для монетизации, плюс – это приличный по объёмам рынок, где можно отыскать полезные в работе плагины.

Чаще всего Corona используют для создания игр (среди примеров – Fun Run 2 и HoPiko), однако есть и образцы утилит, а также бизнес-приложений (My Days и Quebec Tourism).

  1. C/C++

Для создания приложений Android, Google официально предоставляет две среды разработки:

  • SDK (использует Java);
  • и NDK (использует нативные языки, наподобие C и C++).

Отметим, что для создания приложения целиком, использовать C, C++ и «голый» Java не получится. Вместо этого NDK позволяет создавать библиотеки, к функциям которых могут обращаться части Java-кода из приложения.

Как правило, нет необходимости использовать NDK. Эту среду не стоит использовать в качестве основной хотя бы потому, что придётся больше заниматься кодингом на C/C++, а не на Java. Существование NDK оправдано в тех задачах, когда требуется выжать как можно больше производительности при выполнении сложных вычислительных задач. Также NDK позволяет внедрять в приложение библиотеки C и C++.

Но в других случаях стоит придерживаться Java везде, где возможно. Разработка Android-приложений на C/C++ в разы сложнее, чем на Java. И чаще всего выигрыш в производительности слишком незначителен.

Какими приложениями вы хотели бы заняться?

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

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

Этот урок научит вас основам того как написать приложение для Android используя среду разработки Android Studio. Устройства Андроид становятся всё более распространенными, спрос на новые приложение все время только увеличивается. Android Studio бесплатная, простая в использовании среда разработки.

Для этого урока лучше всего, если у вас есть хотя бы поверхностные знания языка Java так как это язык используемый Android. В уроке не будет слишком много кода так как я исхожу из того что вы немного знакомы с Java или готовы найти то что вы еще не знаете. Создание приложения займет 30-60 минут, зависит от того как быстро вы скачаете и установите все необходимые программы. После знакомства с этим уроком по созданию своего первого приложения для Андроид, возможно вы найдете себе новое веселое хобби или даже начнете карьеру многообещающего разработчика мобильных приложений.

Этап 1: Устанавливаем Android Studio

  1. Необходимо установить JDK (Java Development Kit ) и JRE (Java Runtime Environment). Скачать можно по этой ссылке . Выбираете там версию для вашей ОС, принимаете лицензионное соглашение, скачиваете и устанавливаете.
  2. Теперь идем сюда http://developer.android.com/sdk/index.html и скачиваем (осторожно, придется скачать около 3 гигабайт).
  3. Запускаем установку и следуем инструкциям.

Этап 2: Создаем новый проект

  1. Откройте Android Studio.
  2. В меню «Quick Start », выберите «Start a new Android Studio project ».
  3. В окне «Create New Project » (окно которое открылось), назовите ваш проект «HelloWorld ».
  4. Название компании по желанию.*
  5. Нажмите «Next ».
  6. Убедитесь, что галочка стоит только на «Phone and Tablet ».
  7. Если вы планируете тестировать своё первое приложение на вашем телефоне, то убедитесь, что выбрана правильная версия Андроид (не старше той, что на телефоне).
  8. Нажмите «Next ».
  9. Выберите «Blank Activity ».
  10. Нажмите «Next ».
  11. Оставьте все остальные поля как они есть.
  12. Нажмите «Finish ».

*Типовое название компаний для андроид проектов «example.name.here.com».

Этап 3: Редактируем приветствие

  1. Перейдите на вкладку activity _main .xml , скорее всего она уже активна.
  2. Убедитесь, что внизу экрана активна вкладка Design (скорее всего это так).
  3. Перетащите мышкой фразу «Hello , World ! » из левого верхнего угла телефона в центр экрана.
  4. В левой части экрана находится дерево папок. Откройте папку под названием «values ».
  5. В этой папке дважды щелкните на файл «strings .xml ».
  6. В этом файле найдите строчку содержащую текст «Hello world! » и добавьте к этому тексту «Welcome to my app ! ».
  7. Вернитесь на вкладку «activity _main .xml ».
  8. Убедитесь, что ваш текст находится по центру экрана телефона и содержит текст «Hello world ! Welcome to my app ! ».

Этап 4: Добавляем Кнопку

  1. На вкладке «activity _main .xml » выберите внизу вкладку «Design ».
  2. В колонке слева от окна, где находится телефон, найдите папку под названием «Widgets ». Там находятся различные кнопки.
  3. Возьмите кнопку «Button » и перетащите её на экран телефона. Она должна находиться по центру экрана прямо под вашим текстом.
  4. Убедитесь, что кнопка все еще выбрана (синяя рамка вокруг неё).
  5. В нижнем правом углу есть окошко со свойствами выбранного объекта. Промотайте вниз и найдите строчку под названием «text ».
  6. Поменяйте текст «New Button » на «Next Page ».

Этап 5: Создаём Second Activity

  1. В верхней части дерева файловой системы проекта, щелкните правой кнопкой мыши на папке под названием «app ».
  2. Выберите New > Activity > Blank Activity .
  3. В появившемся окне в верхней строчке введите «SecondActivity ».
  4. Нажмите «Finish ».
  5. Перейдите на вкладку «activity _second .xml » и убедитесь, что внизу выбрана вкладка «Design ».
  6. Переместите текст из верхнего левого угла телефона в центр экрана, как мы делали на предыдущих шагах.
  7. Убедитесь, что текстовый блок все еще выбран (синяя рамка) и в нижнем правом углу свойств объекта найдите строчку «id » и введите туда «text 2 ».
  8. В верхнем левом углу (в дереве проекта) снова выберете двойным нажатием «strings .xml ».
  9. Под строчкой Hello world! Welcome to my app!

    добавьте следующую строку

    Welcome to the second page!

  10. Вернитесь на вкладку «activity_second.xml ».
  11. Снова выберите текстовый блок.
  12. В нижнем правом углу в свойствах объекта найдите строчку «text » и введите туда «@ string /second _page ».
  13. Убедитесь что в текстовом поле теперь написано «Welcome to the second page ! » и блог располагается в центре экрана.

Этап 6: Прописываем действие для кнопки


Этап 7: Тестируем приложение

  1. На панели инструментов в верхней части окна Android Studio нажмите на зеленый символ воспроизведения.
  2. В окне «Choose Device » выберите пункт «Launch emulator » и выберете устройство.
  3. Нажмите на кнопку «OK ».
  4. Когда эмулятор запустится (это может занять длительное время) приложение автоматически откроется на виртуальном устройстве.
  5. Убедитесь что весь текст отображается правильно и нажатие на кнопку приводит вас к следующей странице.

Внимание : Если вы получаете сообщение «HAX kernel module is not installed! », то тут возможны два варианта. Дело в том, что данную виртуализацию поддерживают лишь современные процессоры Intel и вам необходимо лишь включить её в BIOS. Если же у вас процессор, который не поддерживает данную функцию, вам придется протестировать приложение на реальном телефоне или воспользоваться не встроенным, а сторонним эмулятором.

Как получить файл.apk в Android Studio

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

Когда вы получите файл, то можете скопировать его на свой телефон и установить приложение.

Этап 8: Результат

Поздравляю! Вы только что завершили написание своего первого Android-приложения с некоторыми основными функциональными возможностями. Готовое приложение должно иметь страницу приветствия пользователя и кнопку, которая приведет пользователя на вторую страницу.

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

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

Вот языки программирования, которые может рассматривать для себя будущий Android-разработчик:

  • Java – это официальный язык разработки для Android, и он поддерживается средой разработки от Google. Выучить его может быть не так просто.
  • Kotlin – этот язык был представлен в качестве второго официально поддерживаемого языка. Во многом он похож на Java, но начать работу с ним проще.
  • C/C++ – Android Studio поддерживает C++. Этот язык еще сложнее, но он активно применяется при разработке игр.
  • C# – этот язык может понравиться начинающим. Он поддерживается средами разработки Unity и Xamarin. Они дают преимущества при разработке игр и продуктов для разных платформ.
  • BASIC – этот язык поддерживает среда разработки B4A IDE, которая является простым, но мощным инструментом.
  • Corona/LUA – среда LUA хороша для разработки кросс-платформенных продуктов. Она значительно упрощает создание приложений и предоставляет доступ к нативным библиотекам.
  • PhoneGap (HTML, CSS, JavaScript) – этот вариант подходит для тех, кто умеет создавать интерактивные веб-страницы. С PhoneGap вы сможете похожим образом создавать кросс-платформенные приложения.

Теперь разберем эти варианты подробнее.

Java

Язык программирования Java первым приходит в голову, когда речь заходит о разработке под Android. Java был выпущен компанией Sun Microsystems в 1995 году. Он используется для разного типа приложений. Если говорить об Android-приложениях, Java – это лучший выбор для тех, кто хочет уйти в разработку для Android с головой. Однако это не самый лучший язык для новичка. Вы непременно столкнетесь с трудностями. Если вы начинающий, хотите создать игру или хотите начать обучение, но еще не определились, какого именно результата вы хотите достичь, возможно, следует начать с чего-то более простого.

Kotlin

Kotlin, так же как Java, хорош для разработки Android-приложений. Отличие в том, что Kotlin проще для начинающих, но все еще не проще, чем многие другие варианты. Он заслуживает внимания, так как язык молодой, и вы можете работать с ним в Android Studio, что является большим плюсом.

C/C++

Не самый лучший выбор для создания простых приложений. Вы можете работать с языком в Android Studio с помощью Android NDK, но в отличие от Java и Kotlin он не выполняется на Java Virtual Machine. Однако он работает нативно на устройстве, что может дать вам больше возможностей в работе с памятью. Вы можете добиться с его помощью лучшей производительности в случае с 3D-играми. Если это ваш выбор, готовьтесь к трудностям. Возможно, вам лучше использовать готовый игровой движок для создания игр.

C#

C# – это более простая версия C и C++, разработанная компания Microsoft. С этим языком вам не нужно заботиться о работе с памятью, как и в случае с Java. Однако C# более современный и чистый, в сравнении с Java. C# и Unity окажутся очень полезными и простыми в разработке игр. Для разработки приложений среда Unity не так хороша. C# – отличный выбор, но он ограничит ваши возможности в случае, если вы желаете стать профессиональным Android-разработчиком.

BASIC

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

Corona

Corona в связке с LUA позволит разрабатывать не только для Android, и это значительно проще, чем начинать учить Java. Вам понравится, и результат порадует, но для того, чтобы развивать свои навыки, придется учить что-нибудь еще. Как и в случае с BASIC, профессионалом не стать.

PhoneGap

Последний вариант годится для тех, кто хорош в веб-разработке и может создать интерактивный сайт, используя HTML, CSS и JavaScript. PhoneGap позволит этими же инструментами создать приложение. Этот вариант имеет очень мало общего с разработкой для Android, но подойдет, если вы преследуете конкретные цели и не планируете разрабатывать для Android в будущем.

Вариантов много. Уверены, вы сможете сделать правильный выбор.

По материалам Android Authority

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

Совсем недавно на GeekBrains мы затрагивали для мобильных платформ, но в этот раз остановимся поподробнее на Android. Вот 10 языков, которые позволят вам создать мобильное приложение любого типа и сложности:

Java

Не будет большим преувеличением назвать Java официальным языком Android. Во всяком случае, почти вся образовательная документация, все интернет-курсы основаны на этом. А еще это самый популярный язык по оценке TIOBE, второй по количеству исходников на GitHub, да и вообще большой красивый язык. Именно поэтому изучение Java должно быть первоочередной задачей для любого Android-разработчика. Пусть это будет непросто (все-таки языку 22года, а легкость никогда не была его коньком), пусть теоретически можно обойтись более современными языками, помните - невозможно добиться существенных успехов на Android, абсолютно не понимая Java, не говоря уже о конкретных исходниках.

C#

При всем нескончаемом скепсисе, направленным в сторону продуктов Microsoft, стоит признать, что C# этого не заслуживает. Это прекрасный язык, вобравший в себя всё лучшее от Java, при этом учтя и исправив многие недостатки.

Что касается разработки приложений под Android, то здесь к вашим услугам одни из самых функциональных сред Visual и Xamarin Studio . А еще знание C# станет для вас приятным бонусом, когда доберетесь до использования Unity 3D . С таким набором возможности будут безграничны.

Python

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

Самым популярным фреймворком является Kivy , который без труда поможет вам создать приложение для Play Market на чистом Python. А если нет, то помогут добрые разработчики в чате . Если вы еще не овладели им, рекомендуем пройти .

Kotlin

В тексте про я уже пытался объяснить, почему Kotlin сам по себе отличный язык, а в связке с Java он ещё лучше. Действительно, официально выпущенный лишь год назад, Kotlin очень быстро завоевывает сердца разработчиков по всему миру практически полным отсутствием недостатков.

С его помощью (точнее с помощью родной среды IntelliJ IDEA) вы не будете чувствовать никаких проблем в разработке нативных приложений для Android. При этом спрос на специалистов Kotlin пока низок, а значит, получив опыт работы с ним, вы рискуете в будущем получить конкурентное преимущество.

Языки веба

Стандартный языковой набор работника веба: HTML, CSS и JavaScript. Не зная эти 3 языка, вы сведете себя к разработке приложений достаточно узкой направленности. Даже если вы непосредственно веба в будущей работе касаться не хотите, то гибридных приложений избежать получиться вряд ли.

Работать с HTML, CSS и JavaScript можно используя среды PhoneGap Build или, в более специализированном случае, Adobe Cordova . Больших знаний они от вас не потребуют, а результат обеспечат. Или вот из последнего, React Native от Facebook - это уже следующий уровень удобства взаимодействия, но опыта и документации скопилось мало. В общем, выбирайте, благо есть из чего.

Lua

Язык, который старше Java, куда менее популярный, но всё равно востребованный. У него есть ряд преимуществ, вроде динамической типизации, относительно простого синтаксиса, но до наших дней он дожил благодаря задействованности в играх. Именно удобство создания программной прослойки между движком и оболочкой открыло перед Lua двери в мир карманных гаджетов.

Corona SDK - среда для разработки мобильных кроссплатформенных приложений, преимущественно игр, где главным инструментом является Lua. С 2015 года она распространяется бесплатно, рассчитана на начинающих разработчиков, плюс ко всему вы можете найти много полезной информации, как в англоязычном, так и русскоязычном сегменте интернета.

C/C++

На самом деле Google предоставляет разработчиков две среды разработки: SDK, предназначенная для работы с Java, и NDK , где нативными языками являются C/C++. Да, конечно вы не напишете целое приложение с использованием лишь этих языков, но с их помощью вы можете создать библиотеку, которую впоследствии при помощи Java подключите к основному телу программы.

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

А на каких языках пишете вы?

Многие программисты хотят заняться разработкой приложений под Android. Но немногие представляют, какие шаги здесь надо предпринять. Эта подборка призвана помочь новичкам в освоении Android-разработки.

Начало работы

Новичкам в программировании поможет наша .

Для новичков в Android Google сделал хорошее введение в Android на своём сайте. Также есть замечательный краудсорсинговый гид по Android . Кроме того, есть курс от Google на Udacity.

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

Вы всегда можете найти у нас на сайте.

FAQ

Я хочу начать разрабатывать под Android. С чего мне начать?

Первый и важнейший шаг в разработке под Android – это изучение Java и XML. Как только вы более менее познакомитесь и с тем, и с другим, изучите официальную Документацию по Android и пройдите несколько уроков, пока не почувствуете себя достаточно уверенным для создания собственных проектов. Удачи!

Нужно ли мне Android-устройство для разработки?

Вы можете писать приложения без какого-либо Android-устройства, используя включённый в поставку эмулятор (или усовершенствованный Genymotion). Однако для учёта аппаратных требований ничто не заменит тестирование на настоящем устройстве.

Какую IDE мне лучше использовать?

  • Android Studio - официально поддерживаемая IDE для разработки под Android. Именно она используется в современных руководствах и видео, в том числе и от Google.
  • Eclipse была основной IDE для разработки под Android на протяжении многих лет, поэтому большинство устаревших уроков, ресурсов, видео и скриншотов сделаны на ней.
  • IntelliJ IDEA был альтернативой Eclipse, но в настоящее время разумнее начать с Android Studio. Android Studio – это ответвление IntelliJ IDEA, так что вы получите все её преимущества плюс бонусы под Android.

Может, мне стоит забыть про Java и начать учить Kotlin?

Google теперь официально поддерживает Kotlin как язык разработки под Android, но это не значит, что про поддержку Java можно забыть. В ближайшем обозримом будущем документация, инструменты, новые фичи платформы будут поддерживать как Kotlin, так и Java. Хотя Kotlin - более молодой язык с некоторыми приятными особенностями, вы всё ещё можете создавать отличные приложения на Java. Выбор зависит только от вас, но если вам не принципиально или вы новичок, то, возможно, лучше сделать выбор в пользу Kotlin.

Ресурсы

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

Официальные ресурсы Android

Дизайн

  • Красивости для Android – вдохновение для создания графических интерфейсов под Android.

Рассылки

  • Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.

Коллекции библиотек

Инструменты

  • Genymotion – крайне полезный и функциональный эмулятор.
  • Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
  • Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.

Примеры open source приложений

Идеи для приложений

Итак, у вас есть идея для приложения… Люди каждый день об этом пишут. Но перед тем, как просить помощи в реализации проекта, нужно ответить на следующие ключевые вопросы:

Каков мой бюджет?

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

Какая у меня маркетинговая стратегия?

Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?

Какой список задач у данного проекта?

А также, какие есть ограничения? Сколько мне нужно разработчиков?

Откуда будут приходить/где будут храниться данные?

А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?

Есть ли цель заработать денег?

Если да, как вы собрались её достигать? Через рекламу, IAP , подписки, платные приложения? Всё вышеперечисленное?

Как вы будете платить вашим разработчикам?

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

Какой будет способ тестирования?

На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?

Как скоро вы хотите опубликовать приложение в магазине?

Это однозначно повлияет на конечный доход.

Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?

Продумайте реализацию этой функциональности.

Какова ваша целевая аудитория?

Это нишевое приложение или оно может быть распространено повсюду?

Реализована ли уже моя идея?

Если да, как я могу улучшить её или что в ней отсутствует?

Что делать с идеями для приложений, если вы не разработчик?

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

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

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

Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.

Пересмотр вашей идеи

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

  • Распределяйте работу настолько справедливо, насколько это возможно.
  • Фокусируйтесь прежде всего на ваших навыках.
  • Ваша загрузка должна примерно равняться 2 месяцам полноценной работы. Для простых приложений загрузка, конечно, может быть меньше. Вы можете попросить сообщество (например,


Рекомендуем почитать

Наверх