Learn about android programming

Как начать программировать под 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
Читайте также:  Как удалить голосового помощника андроид

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

Источник

Учимся программировать под Андроид

Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «How To Learn Android Development» от Amit Shekhar.

Как изучить разработку приложений под Андроид?

Я видел много вопросов о том, как начать изучать программирование под Андроид и стать успешным разработчиком. Здесь я попытался охватить большинство важных аспектов в Android Development.

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

Итак, как разработать приложение под Андроид?

Ниже представлены темы, которые, по моему мнению, являются самыми важными для разработки приложений под Андроид:

  • Прежде всего, вы должны обладать базовыми знаниями языка Java. В этом мне помогла книга Head-First Java
  • Установите Android Studio IDE на свой ПК или ноутбук.
    Ссылка автора
  • Когда вы уже подтянули знания по Java, найдите курс или книгу по разработке под Андроид. Обязательно подкрепляйте пройденное практикой
  • Ознакомьтесь с жизненным циклом Андроид-приложения.
    Ссылка автора
    Ссылка переводчика
  • Узнайте о том, как отлаживать приложение.
    Ссылка автора
    Ссылка переводчика
  • Изучите про навигацию между экранами, tasks и back stack.
    Ссылка автора
    Ссылка переводчика
  • Разберитесь с тем, что такое контекст в Андроид.
    Ссылка автора
    Ссылка переводчика
  • Прочитайте про SharedPreferences.
    Ссылка автора
    Ссылка переводчика
  • RecyclerView в Андроид.
    Ссылка автора
    Ссылка переводчика
  • Фрагменты.
    Ссылка автора
  • ViewPager в Андроид.
    Ссылка автора
    Ссылка переводчика
  • DialogFragments. Ссылка автора
  • Основные потоки.
    Ссылка автора
    Ссылка переводчика
  • Сторонние библиотеки.
    Ссылка автора
    Ссылка переводчика
  • Работа с сетью в приложении.
    Ссылка автора
    Ссылка переводчика
  • БД и ORM(объектно-реляционное отображение).
    Ссылка автора
    Ссылка переводчика
  • Службы, сервисы.
    Ссылка автора
  • Датчики, GPS, Acceleration.
    Ссылка автора
    Ссылка переводчика
  • Разберитесь, как создать пользовательское представление(view-элемент).
    Ссылка автора
    Ссылка переводчика
  • Handler in Android.
    Ссылка автора
    Ссылка переводчика
  • ThreadPool Executor.
    Ссылка автора
    Ссылка переводчика
  • Уведомления.
    Ссылка автора
  • Загрузчики.
    Ссылка автора
  • Поставщик контента.
    Ссылка автора
  • Обработка изменений в режиме выполнения.
    Ссылка автора
  • RxJava. В настоящее время также используется при разработке под Андроид.
    Ссылка автора
    Ссылка переводчика
  • Kotlin.
    Ссылка автора
    Ссылка переводчика
  • Dagger.
    Ссылка автора
    Ссылка переводчика
  • Архитектура MVP.
    Ссылка автора
    Ссылка переводчика
  • Архитектура MVVM.
    Ссылка автора
    Ссылка переводчика
  • Показатели производительности.
    Ссылка автора
  • Стиль и правила написания кода.
    Ссылка автора
    Ссылка переводчика
  • Аннотации.
    Ссылка автора
    Ссылка переводчика
  • Советы по разработке:
    Ссылка автора
    Ссылка переводчика
  • Статья про то, как улучшить код аннотациями
  • Как уменьшить размер APK-файла.
    Ссылка автора
    Ссылка переводчика
  • Оптимизация приложений под Android с помощью ArrayMap и SparseArray.
    Ссылка автора
    Ссылка переводчика
  • Git.
    Ссылка автора

Хорошего кода 🙂

Источник

Learn about android programming

stop Training level: Beginner

Build your first Android app in Java

stop Training level: Beginner

Certification and degree programs

Associate Android Developer Certification

Earn your certification by passing a performance-based exam that proves you have the skills of an entry-level Android developer. Available in Kotlin or Java.

stop Training level: Intermediate

Android Kotlin Developer Nanodegree

Master Android development with Kotlin in this paid Udacity Nanodegree, offering hands-on projects, mentor support, and career services.

stop Training level: Intermediate

For experienced Android Kotlin developers

Jetpack Compose

Get started with Jetpack Compose, a modern toolkit for building Android UI.

stop Training level: Intermediate

Accessibility

Learn to make your Android apps usable by everyone, including people with accessibility needs.

stop Training level: Intermediate

Kotlin coroutines

Use coroutines to simplify task management for commons use cases like making network calls and accessing local data.

stop Training level: Intermediate

Advanced Android Development

Expand the user experience, improve app performance, and add features like custom views, animations, and location-awareness using Kotlin.

stop Training level: Advanced

Kotlin language training

Kotlin Bootcamp for Programmers

In the Kotlin Bootcamp for Programmers course, you’ll learn the basics of Kotlin as you create programs in IntelliJ IDEA. This course is designed for programmers who know an object-oriented language such as Java or C++.

stop Training level: Intermediate

Kotlin for Java developers

Incorporate and convert Java code into Kotlin using Android Studio, and learn Kotlin language conventions along the way. You’ll also learn how to write Kotlin code to make it callable from Java code.

stop Training level: Intermediate

Источник

Learn about android programming

Awesome Android Learning Resources

👓 A curated list of awesome android learning resources for android app developers.

Awesome Android Learning Resources aims to be the starting point for Android App Developers to find the finest learning content for Android App Development.

The content is Android Kotlin App development focused. Android Java content which can be of benefit to developers is listed and are under Java section.

Content in languages other than English is tagged according to ISO 639-2 codes.

Confused where to begin? Start with Official Android Courses.

Jetpack Compose Learning Resources

  • Jetpack Compose Learning Resources — A continuously updated list of learning Jetpack Compose for Android apps.
  • Associate Android Developer — The exam is designed to test the skills of an entry-level Android developer. To study the certification, google offers its study guide, where you can read all topics and also practice your knowledge with the codelabs indicated for each competency. Despite being paid, you can study all topics and practice on all codelabs for free in the mentioned study guide.

Real-World Android by Tutorials — Build professional, secure Android apps for the real world using the most important architectures and libraries.

Читайте также:  Андроид загрузить свой рингтон

Programming Android with Kotlin — This book helps Android developers make the transition from Java to Kotlin and shows them how Kotlin provides a true advantage for gaining control over asynchronous computations.

How to Build Android Apps with Kotlin — This book starts with the fundamentals of app development. Moving ahead, you’ll get to grips with testing, learn how to keep your architecture clean, understand how to persist data, and gain basic knowledge of the dependency injection pattern. Finally, you’ll see how to publish your apps on the Google Play store.

Instant Android Fragmentation Management How-to — Instant Android Fragmentation Management How-to is a step-by-step guide to writing applications that can run on all devices starting from Android 1.6.

Instant Android Systems Development How-to — Instant Android Systems Development How-to provides a gentle introduction to the platform internals without sacrificing depth.

Android Things Quick Start Guide — This book takes you through the basics of IoT and smart devices. It will help you to interact with common IoT device components and learn the underlying protocols. For a simple setup, we will be using Rainbow HAT so that we don’t need to do any wiring.

Android High Performance Programming — Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world.

Android Internals: A Confectioner’s Cookbook — Deals exclusively with the internals of the Android operating system.

Android Apprentice — Android Apprentice is the book for complete beginners to Android development.

Reactive Programming with Kotlin — The book that teaches you to use RxJava, RxAndroid and RxKotlin to create complex reactive applications on Android and exercise full control over the library to leverage the full power of reactive programming in your apps.

Android Test-Driven Development by Tutorials — A book that teaches you to write sustainable, testable apps, as well as to apply testing strategies to legacy projects via Espresso and UI tests, code coverage and refactoring.

Advanced Android App Architecture — In Advanced Android App Architectures, you’ll find a diverse and hands-on approach to architecting your apps on Android. Learn how to build scaleable and maintainable architectures in Android and Kotlin, including MVC, MVP, MVI, MVVM and VIPER!

Saving Data on Android — A book that will teach you to persist data on Android — saving locally or remotely — along with the modern techniques for synchronization, allowing your app to be reactive and always up-to-date.

Data Structures & Algorithms in Kotlin — A book that teaches you the fundamental tools of implementing key data structures in Kotlin, and how to use them to solve algorithms.

Kotlin for Android App Development — This book hits the sweet spot between theory and practice, teaches you the best practices for object-orientation, functional programming, interoperability and more in Kotlin, and gives you a practical intro with hundreds of code listings.

Elements of Android Jetpack — This book follows in the footsteps of The Busy Coder’s Guide to Android Development, to introduce developers to Android app development, focusing on Jetpack. Here you will learn how to set up an Android app for Java or Kotlin, create a user interface, and more!

Exploring Android — This book has you build an app from the beginning. Whereas traditional programming guides are focused on breadth and depth, this book is focused on “hands-on”, guiding you through the steps to build the app.

Elements of Android R — Each new release brings new opportunities and new challenges for Android developers. Many of the new challenges are extensions of the problems introduced in last year’s Android 10. So, if you are worried about further changes to storage or permissions, or you are nervous about new restrictions being placed on developers, this book is for you!

Elements of Android Q — As usual, Android 10 changed some things that affect developers and apps. This book profiles those changes and helps point out what you need to do to adjust your app to cope with those changes. So, if you are worried about the death of external storage and other things that Android 10 brings with it, this book is for you!

Learning RxJava — In this book, you’ll cover the core fundamentals of reactive programming and learn how to design and implement reactive libraries and applications.

Gradle Recipes for Android — This hands-on guide provides a collection of Gradle recipes to help you quickly and easily accomplish the most common build tasks for your Android apps.

Android System Programming — Build, customize, and debug your own Android system.

Head First Android Development — You’ll learn hands-on how to structure your app, design flexible and interactive interfaces, run services in the background, make your app work on various smartphones and tablets, and much more.

Professional Android — Professional Android, 4th Edition shows developers how to leverage the latest features of Android to create robust and compelling mobile apps

Android Studio 3.6 Development Essentials — Update your Android studio skills and build modern Android applications using Java.

Mastering Firebase for Android Development — Develop a fully functional dynamic Android application using the latest features of Firebase.

The Busy Coder’s Guide to Android Development — This book contains over 200 chapters, covering everything from the first steps in getting an app going to advanced development techniques. Use the search field in the nav bar to see what is inside this book and the rest of the CommonsWare library!

Читайте также:  Qsp для андроид без sd карты

Android’s Architecture Components — This book dives deep into the Architecture Components, showing you how they work individually and in concert.

Android Programming: The Big Nerd Ranch Guide — Dive in to learn the foundations of Android application development. The content is now in Kotlin and updated with modern Android practices.

Atomic Kotlin — Atomic Kotlin is the book and associated learning resources by Bruce Eckel and Svetlana Isakova.

Effective Kotlin — Effective Kotlin summarizes the best practices and experiences of the Kotlin community, together with a deep explanation of some lesser-known Kotlin functionalities. All of the best practices are presented as simple rules with detailed explanations.

Kotlin Cookbook — Use Kotlin to build Android apps, web applications, and more—while you learn the nuances of this popular language.

Kotlin Apprentice — Learn programming with Kotlin! The Kotlin Apprentice is a book designed for complete beginners to Kotlin, a modern language used for Android development.

Kotlin Coroutines by Tutorials — Android is inherently asynchronous and event-driven, with strict requirements as to on which thread certain things can happen. Learn how to use Kotlin coroutines to solve common Android programming problems using asynchronous programming techniques!

Functional Kotlin — Learn how to apply Functional Programming with Kotlin to real-life projects with popular libraries like Arrow.

Hands-On Data Structures and Algorithms with Kotlin — Understand and solve complex computational problems and write efficient code with Kotlin.

Elements of Kotlin Coroutines — This book is designed to help you get “spun up” on coroutines and how they can be applied in your projects.

Elements of Kotlin — This introductory book to Kotlin focuses on helping existing programmers get up to speed on reading and writing Kotlin code. Particular emphasis is placed on the sorts of syntax and language capabilities that most Kotlin developers will need, with light coverage of the advanced capabilities that allow library developers to create easy-to-use APIs.

Programming Kotlin — If you want to learn the essentials of Kotlin, from the fundamentals to more advanced concepts, you’ve picked the right book.

Kotlin docs — Kotlin Language Documentation.

Hands-on Design Patterns with Kotlin — The mission of this book is to ease the adoption of design patterns in Kotlin and provide good practices for programmers.

Learning Concurrency in Kotlin — Beginning with an introduction to Kotlin’s coroutines, you will learn how to write concurrent code and understand the fundamental concepts needed to be able to write multithreaded software in Kotlin.

Learn Kotlin Programming — Kotlin is a general-purpose programming language used for developing cross-platform applications. Complete with a comprehensive introduction and projects covering the full set of Kotlin programming features, this book will take you through the fundamentals of Kotlin and get you up to speed in no time.

Effective Kotlin — Effective Kotlin summarizes the best practices and experiences of the Kotlin community, together with a deep explanation of some lesser-known Kotlin functionalities. All of the best practices are presented as simple rules with detailed explanations.

Kotlin Programming: The Big Nerd Ranch Guide Book — Learn the new language that’s taking the Android world by storm in Kotlin Programming: The Big Nerd Ranch Guide.

Mastering Kotlin — By the end of the book, you’ll have obtained an advanced understanding of Kotlin in order to be able to build production-grade applications.

Kotlin in Action — Kotlin in Action guides experienced Java developers from the language basics of Kotlin all the way through building applications to run on the JVM and Android devices.

The Joy of Kotlin — The Joy of Kotlin teaches you to write comprehensible, easy-to-maintain, safe programs with Kotlin.

Head First Kotlin — Head First Kotlin is a complete introduction to coding in Kotlin.

Kotlin Glossary — A short, sweet 21-page ebook on Kotlin that has a lot of terminologies, code snippets and helpful tips to help you in your Kotlin journey, whether you’re a beginner or someone who needs a Kotlin cheatsheet. 📒

ANDROID™ 4 APPLICATION DEVELOPMENT — This book focuses on basics of the Android developlment with JAVA as programming language.

Debug your Android apps with Charles Proxy. — A step by step guide to use Charles proxy to debug your android apps.

Debug your Apps without cable — As an Android developer, Debugging is one of the most common tasks which we do on a daily basis, lets do it easily.

  • Google Africa Developer Scholarship (limited to Africa) is a program that gives participants free access to select courses, projects, embedded labs (powered by Qwiklabs) and skill assessments on Pluralsight; plus support from the Google Developer community. The program is in partnership with tech talent companies Pluralsight, Andela and Google. Google will give full scholarships (with certifications in Android and cloud development) to the top 1,000 students (beginner and intermediate developers) at the end of the training.
  • The Google Developer Scholarship and the Power of Community is a Scholarship for students across the EMEA (Europe, Middle East and Africa) region announced by Udacity and Google. On offer was the chance to land a scholarship for Udacity’s Android Basics, Android Developer and other Developer Nanodegree programs.

Note: Listed below are only a few courses provided by each platform. Please visit their site for a full catalog.

Android Things courses — Listed a few courses | Visit site for full catalog

CodingWithMitch courses — Listed a few courses | Visit site for full catalog

Источник

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