Starting programming in android

Как начать программировать под Android? Пошаговый план

В этой статье мы рассмотрим, как начать программировать под Android. Пошаговый план с ссылками на ресурсы, курсы и книги и типичные вопросы, которые задают на собеседованиях на позицию junior Android-разработчика. Ну а если вы хотите быстро за 12 занятий вникнуть в азы Android — то приглашаю на практический онлайн-интенсив где вы с наставником разработаете собственный проект.

Итак, вы решили начать программировать под операционную систему Android. Для начала, вам нужно изучить язык программирования. В мире Android на момент написания статьи (март 2020) года используются как Java, так и Kotlin, однако второй официально рекомендован компанией Google и набирает всё большую популярность, так что, если вы не знаете ни одного языка программирования — то можете изучать Kotlin, если же вы уже знаете какой-либо объектно-ориентированный язык программирования, то изучить Java или Kotlin для вас не составит труда. На рынке тренд идет в сторону Kotlin.

Изучаем язык

Kotlin

Чтобы освоить Kotlin, вам могут пригодиться, следующие ресурсы:

  • Try Kotlin — набор примеров и заданий по Kotlin cразу с консолью, в которой можно ввести код и проверить
  • Kotlin Bootcamp for Programmers — туториал от Google
  • Android Kotlin Fundamentals Course — набор мини-курсов для быстрого старта в Android — разработке
  • Книга «Kotlin. Программирование для профессионалов» — Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использовать его возможности
  • Kotlin Bootcamp for Programmers — хороший видеокурс, объясняющий основы программирования на Kotlin

Чтобы освоить Java, вам могут пригодиться, следующие ресурсы:

  • Изучаем Java Сьерра Кэти, Бэйтс Берт — эта книга не только научит вас теории языка Java и объектно-ориентированного программирования, она сделает вас программистом. В ее основу положен уникальный метод обучения на практике. В отличие от классических учебников информация дается не в текстовом, а в визуальном представлении.
  • Become a Java Developer — курс от Udacity, который поможет вам изучить Java
  • Джошуа Блох: Java. Эффективное программирование — эта книга является классикой для Java-программистов. Для новичков может быть несколько сложновата, но постарайтесь прочитать ее хотя бы половину и вернитесь к ней через годик, все сразу станет на свои места. Кстати, многие вопросы на собеседовании по Java взяты именно отсюда, так что не ленитесь, почитайте.
  • Java. Библиотека профессионала. Том 1. Основы | Хорстманн Кей С. — Эта книга давно уже признана авторитетным, исчерпывающим руководством и практическим справочным пособием для опытных программистов, стремящихся писать на Java надежный код для реальных приложений. Быстро освоить основной синтаксис Java, опираясь на имеющийся опыт и знания в программировании.

Изучаем Android SDK

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

  • Android Kotlin Fundamentals — набор туториалов для начинающих Android-разработчиков от Google на языке программирования Kotlin. Из курса вы узнаете об основных компонентах Android SDK, таких как Activity, Intent, BroadcastReceiver и других.
  • Become an Android Developer — курс на Udacity, где за 6 месяцев вам расскажут от том как разрабатывать мобильные приложения под Android
  • Школа мобильной разработки — набор лекций об устройстве Android от Яндекс. Часть материала немного устарела, но даже сейчас будет очень полезна как начинающим, так и уже более-менее опытным разработчикам.
  • Android Programming: The Big Nerd Ranch Guide — достаточно понятная книга для новичков, чтобы понять программирование под Android OS
  • The Busy Coder’s Guide to Android Development — книга, которая уже, наверное стала классикой для Android — программистов, один из самых полных источников знаний по Android OS

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

Читайте также:  Как настроить найти андроид

Изучаем популярные библиотеки

Итак, вы неплохо знаете синтаксис языка, понимаете ООП, умеете применять наследование там где оно нужно и ваши приложения более-менее работают. Возможно, еще без применения архитектуры (MVP/MVVM/VIPER/RIBs) и без навороченных библиотек или фрэймворков. Самое время изучить и их.

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

Для многопоточного программирования

  • RxJava 2 — видеокурс введение в RxJava на Stepic или бесплатный базовый курс по RxJava
  • Kotlin Coroutines — набор туториалов и документация по корутинам от Jet Brains
  • Основы работы с WorkManager— туториал по работе с WorkManager
  • Advanced Coroutines with Kotlin Flow and LiveData — туториал от Google как рабоать с корутинами и LiveData

Библиотеки для Dependency injection

Библиотеки для сетевого взаимодействия

  • Retrofit — пошаговый туториал, где вы создадите приложение для поиска фильмов

Библиотеки для обработки изображений

Библиотеки для работы с Json

Библиотеки для хранения данных

  • Room — мини-курс, который поможет понять основы Room + LiveData
  • Realm

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

Источник

Руководство по программированию под Android для начинающих

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

Это руководство предназначено для введения в основные понятия программирования под Android, так что после его изучения вы будете понимать некоторые базовые концепции программирования под эту ОС.

От вас же, в свою очередь, требуется только желание и базовое понимание программирования на языке Java. Не так много, правда? Что ж, начнём!

Для разработки приложений под Android можно использовать любые из перечисленных операционных систем:

  • Microsoft Windows XP или более поздняя версия
  • Mac OS X 10.5.8 или более поздняя версия с чипом Intel
  • Linux, включающая GNU C Library 2.7 или более позднюю версию

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

Поздравляем, ваше оборудование готово к работе! Однако прежде чем приступить к вашему первому приложению, поговорим о том, что из себя представляет приложение на Android и из чего оно состоит.

Компоненты приложения являются своего рода «строительными блоками» для приложения Android. Эти компоненты связаны файлом-манифестом приложения AndroidManifest.xml, который описывает каждый компонент приложения и взаимодействие этих компонентов между собой.

Есть четыре базовых типа компонентов, которые могут быть использованы в приложении Android:

  • Операции (Activities) представляют собой элементы пользовательского интерфейса (одна операция – один экран) и отвечают за взаимодействие пользователя с экраном мобильного устройства;
  • Службы (Services) представляют собой длительные операции, работающие в фоновом режиме и не имеющие пользовательского интерфейса (например, передача данных), вместо этого они, как правило, запускаются иными элементами, уже имеющими пользовательский интерфейс, и взаимодействуют с ними;
  • Приемники широковещательных сообщений (Broadcast receivers) представляют собой компоненты, реагирующие на объявления самой ОС, передаваемые всей системе (как хороший пример – объявление о низком уровне заряда батареи устройства). Они также не имеют пользовательского интерфейса, однако могут передавать данные другим компонентам, где они демонстрируются пользователю в виде уведомлений;
  • Поставщики контента (Content providers) представляют собой компоненты, управляющие взаимодействием приложения с его базой данных — посредством поставщика контента другие компоненты приложения могут запрашивать или изменять данные.

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

  • Фрагменты (Fragments) – части пользовательского интерфейса в Операциях (см. выше);
  • Виды (Views) – элементы пользовательского интерфейса, отображаемые на экране, например, кнопки, списки и т. д.;
  • Макеты (Layouts) – определяют элементы пользовательского интерфейса, их свойства и расположение;
  • Намерения (Intents) – соединяют вместе различные компоненты приложения или связывают друг с другом работу разных приложений;
  • Ресурсы (Resources) – внешние элементы, такие, как строки, константы или изображения;
  • Манифест (Manifest) – конфигурационный файл приложения.

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

Итак, давайте приступим к созданию простого Android-приложения, которое будет выводить на экран «Hello World!».

Читайте также:  Как удалить пароль с андроида если забыл его

У вас к этому времени уже должен быть установлен Android Studio последней версии. Ниже будет приведена небольшая пошаговая инструкция:

  1. Откройте Android Studio.
  2. В открывшемся окне кликните на «Start a new Android Studio project», чтобы создать новый проект.
  3. В открывшемся окне в строку «Application name» введите название вашего будущего приложения. Нажмите Next.
  4. В следующем окне вам нужно выбрать тип устройств, для которых создается приложение – в нашем случае необходимо выбрать «Phone and Tablet» (смартфоны и планшетные компьютеры), а в выпадающем списке под названием «Minimum SDK» нужно выбрать версию Android, для которой создается приложение (обычно указывается самая ранняя версия, способная запустить приложение) – в нашем конкретном случае выберем версию Android 6.0. Если в вашей версии есть возможность выбрать язык программирования (выпадающее окно Language), выберите пункт “Java”. Остальные опции можно оставить без изменений. Нажмите Next.
  5. На следующем этапе выберите пункт Empty Activity – это будет означать, что экран нашего приложения не будет иметь никаких дополнительных элементов. Нажмите Next.

Теперь перед вами открылась привычная среда разработки. К сожалению или к счастью, но сейчас вам не нужно будет писать код – среда разработки уже сделала это за вас, создав файлы для приложения, выводящего «Hello world!» на экран, по умолчанию. Вместо этого хотелось бы обратить ваше внимание на несколько созданных файлов и папок, найти которые вы можете в колонке слева, отображающей все элементы проекта.

В папке «Java» содержатся исходные файлы формата .java для вашего приложения. По умолчанию в ней находится исходный файл MainActivity.java, имеющий класс Операция – он запускается при нажатии пользователем на иконку приложения на устройстве. Этот файл содержит главный код приложения, и именно он преобразуется в файл .exe для запуска приложения на устройстве.

Это файл типа «Манифест», который описывает основные характеристики приложения и определяет каждый из его компонентов. Он является своего рода интерфейсом между ОС Android и вашим приложением – если компонент не упомянут в этом файле, он не будет отображен и в операционной системе.

Это автоматически генерируемый файл, содержащий определённые данные касательно приложения – такие, как, например, версия SDK.

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

Попытайтесь запустить приложение кнопкой «Run» – в появившемся диалоговом окне выберите пункт «Create New Virtual Device». В последующих окнах нужно будет выбрать размер экрана и версию Android – помните, что она должна быть не ниже, чем указанная на этапе создания проекта. В случае, если данная версия Android будет отсутствовать на компьютере, Android Studio предложит ее загрузить. Остальные пункты можно оставить без изменений – на данный момент нет необходимости их изменять. После выбора всех настроек нажмите кнопку «Finish», и если вы увидели на своем мониторе экран телефона с названием вашего приложения сверху и с надписью «Hello world!» на экране, значит, вы можете себя поздравить – вы создали свое первое Android-приложение!

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

Источник

Programming With Your Android Smartphone: The Tools You Need

Mobile phones are basically just mini portable computers these days. The best devices on the market can give you many of the features you can get with a regular laptop. Programming with a smartphone is therefore very possible. All a developer needs to know is the right tools to get.

Unfortunately, information on how to use a phone as an environment for developing applications and websites is somewhat hard to find. Unless you’re very specific, searching the internet will often lead you to a page about how to code and debug apps that run on mobile phones.

That is why we decided to dig deep and uncover what you’ll need to turn your phone into a desktop-like programming device.

1. A Text Editor

To develop on your smartphone, the first thing you’ll need is a source-code editor. Essentially, an editor will allow you to create and edit text files written in various programming languages. In other words, this is where you write your code.

Similar to a desktop editor, your Android tool should be easy to navigate, customizable by modifying font size, color schemes, etc., and offer simple cut, copy and paste features. The abilities to handle UTF-8 encoded text and highlight syntax are also elements you may want in your editor.

Читайте также:  Сброс настроек андроид 10 до заводских настроек редми 9с

The Play Store is well-populated with text editors, but if you’re new to programming on your phone, go for the most popular app you can get, preferably for free. If you’re familiar with Vim Touch for PC, an Android version exists, and its handy features are well laid out to make touchscreen editing a lot more bearable.

I would also recommend a more code-writing oriented keyboard than the one that ships with your device. One of the best is Hacker’s Keyboard, which makes special characters like brackets or colons easier to type by laying them out as they typically appear on a computer keyboard.

2. A File Manager

If you ask an Android enthusiast why they prefer the platform to iOS, they’ll likely say it’s because Android comes with a file manager application that offers the ability to create folders and move files around. However, these apps are usually very limited for a programmer, primarily because they don’t show all the data on your phone.

Because every program you write or app you build will be represented as a file in your Android device, you’ll need an explorer that gives the flexibility to find and manipulate files as you please. I recommend OI File Manager, a free, open-source replacement for Android’s file explorer, which will let you copy, move, rename and share files easily.

3. A View-Source Handler

If you’re developing a web-based application, a View Source handler is a necessity. What it does is let you open your source code by typing the URL address on a browser.

View Source Mobile is available as an add-on for browsers like Opera Mobile, Dolphin, and Firefox. Alternatively, you could get an app called VT View Source, a stand-alone browser that offers the same capabilities as the add-on, along with a few extra features specific to developers.

4. A Web Server for Testing Web Applications

Developers of websites and web-based applications need web servers to store files which can be accessed by the target user via the internet. When someone visits your site or uses your app online, their browser communicates with your web server and exchanges information to determine what will be shown on the visitor’s screen. Popular online website hosts such as HostGator and Godaddy provide cheap servers for hosting online applications.

Local web servers for testing and staging purposes can also be easily built with XAMPP and WAMP which are among the most popular web server packages for PC, but you can also get the same features on Android. The best app for the job is Palapa Web Server, which gives you MySQL, PHP and Lighttpd all pre-configured into a single, free stack-package, although beware trying to run a local server on a more budget Android device that may not have the specs to handle it. Palapa even lets you edit the server config files directly in the app itself.

5. Extras

Although the above are the core tools you’ll need to do web development on your Android device; there are other apps you can get to expand your exploits, especially if you’ve rooted your device.

For instance, if you’re going to be an active smartphone programmer, you may want to be able to manually grant and revoke permissions to apps that can access root privileges. For that purpose, SuperSU is an excellent tool for controlling a rooted smartphone.

Moreover, your Android smartphone isn’t really a computer without a command line. And while Android Terminal Emulator offers some utilities on its own, install BusyBox Free, which will add more GNU/Linux features to your Terminal Emulator.

Lastly, if privacy and security are a priority, Orbot and ChatSecure are among the apps you wouldn’t want to miss. Orbot is basically Tor for Android, while ChatSecure offers an encrypted channel for off-the-record (OTR) chatting.

So that’s a start on how to get your Android smartphone ready for coding. Tell us your own favorite tools for programming your smartphone in the comments… And be sure to subscribe to get more articles like this in your inbox!

Источник

Оцените статью