Android. Продвинутый уровень


Содержание
Цукерберг рекомендует:  Мечты сбываются карьера программиста сразу после обучения

Что нужно знать и уметь, чтобы работать Andro />

В статье о выборе Andro >API и кастомизация. Всё это — рутинные проблемы, чьё наличие не должно влиять на ваше решение заняться разработкой под Android. Чтобы принимать их как должное, вам следует овладеть фундаментальными знаниями, список которых я составил в максимально возможном объёме.

Цукерберг рекомендует:  Html - Дефолтная рубрика - поиск напарника.

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

Что нужно знать для разработки приложений под Andro >

Английский язык на уровне чтения

Принципы ООП, java, jvm, garbage collector, Gradle, Git

Разбираться и отличать друг от друга MVC , MVP и MVVM

Dagger 2 — самый популярный фреймворк, реализующий Dependency Injection для Android

ButterKnife. Используется, когда нужно связывание полей и методов с Android views и когда лень копипастить findById

Retrofit. Нужен для работы с Rest- API

Конвертер для json Moshi

Timber (удобное и умное логирование)

Retrolambda. Позволяет использовать Java 8 лямбда-выражения

обёртка над sqllite StorIO

обёртка над sqllite Cupboard

LeakCanary. Помогает отлавливать утечки базы данных

U2020- MVP . Небольшой пример нашей архитектуры приложений

Знание Kotlin / C++

С чего начать разработку приложений для Andro >
  • Training for Android developers — родная тренинг-документация от Google для начинающего Android-разработчика
  • StartAndroid — отличный набор уроков на русском языке. Содержит широкий список детальных примеров и видеоуроков с комментариями ключевых моментов. Наверно лучший способ понять идеологию разработки, познакомиться с терминами и понятиями, а так же быстро стать начинающим android разработчиком.
  • курс Александра Климова, с которым вы освоите Android-разработку за 5 месяцев. Является отличным дополнением к startandroid.ru.
  • Android Tutorial — брошюрка, из которой можно узнать об основных понятиях и обозначениях в Android. После неё чтение любой документации должно даваться чуточку проще.
  • Набор простых шпаргалок и примеров работы с различными компонентами Android. В целом материал старый, но многие вещи в платформе не менялись годами. В любом случае станет хорошим стартом для молодого разработчика.
  • Vogella Tutorials — блог от эксперта Android Eclipce Ларса Фогеля на английском языке. Отличные детальные примеры, алгоритмы, паттерны и многое другое.
  • курс «Разработка под Android» на Hexlet. 136 видео уроков, тестов и домашних работ. Преподаватель — Виталий Непочатов. Курс от 19 декабря 2013 года.
  • курс Android Development for Beginners на Udacity для совсем начинающих. Его можно пройти бесплатно — Udacity всячески пытается заставить нажать на платную кнопочку, но если внимательно присмотреться и почитать, что написано на экране, то можно увидеть, как начать курс без оплаты.

Стоит яростно следить за…

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

Стать Android Developer


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

На старте приобрел два курса по Android разработке от школы LoftSchool.
В общем поставил цель к концу лета устроиться на работу на позицию Junior android developer!

Критерий завершения

Получить работу Junior Android Developer

Пройти курс Andro >

  1. Открытие курса
  2. Git и Github
  3. Интерфейс пользователя
  4. Отображение списков
  5. Фрагменты
  6. Интернет
  7. Material Design
  8. Авторизация
  9. Более сложные интерфейсы
  10. Кастомные View
  11. Бонусный вебинар
  12. Публикация приложения
  13. Закрытие курса

Пройти курс Andro >


  1. Открытие курса
  2. Tasks and Back Stack
  3. Сохранение состояния Activity
  4. Архитектура приложения. MVP
  5. Базы данных. SQL
  6. Базы данных. ROOM
  7. RxJava
  8. Архитектура приложения. MVVM
  9. Практический вебинар (Доделываем вкладки конвертера и кошельков)
  10. Практический вебинар (Доделываем экран кошельков)
  11. Базы данных. Realm
  12. Service
  13. JobScheduler и Notifications
  14. Бонусный вебинар
  15. Закрытие курса

Прочитать книгу Head First Java

  1. Погружаемся
  2. Путешествие в Объектвилль
  3. Свои переменные нужно знать в лицо
  4. Как себя ведут объекты

  5. Особо мощные методы
  6. Использование библиотеки Java
  7. Прекрасная жизнь в Объектвилле
  8. Серьезный полиморфизм
  9. Жизнь и смерть объектов
  10. Числа имеют значение
  11. Опасное поведение
  12. Очень графическая история
  13. Улучшай свои навыки
  14. Сохранение объектов
  15. Устанавливаем соединение
  16. Структуры данных
  17. Выпусти свой код
  18. Распределенные вычисления
  19. Приложение А
  20. Приложение Б

Пройти видео курс Java от простого к сложному

Технотрек по Java от Mail.ru

Прочитать книгу Head First Andro >

  1. С головой в пучину

  2. Приложения, которые что-то делают
  3. Предъявите свой интент
  4. Из жизни активностей
  5. Представление начинается
  6. Расставить по местам
  7. Обо всем по порядку
  8. В поисках короткого пути
  9. Модульная структура
  10. Разные размеры, разные интерфейсы
  11. Вложение фрагментов
  12. Виджеты и жесты
  13. Переработка отходов
  14. Подальше положишь.
  15. Работа с базами данных
  16. Получение данных
  17. Выполнение в фоновом режиме
  18. К вашим услугам
  19. Связаны вместе
  20. Другие макеты
  21. Система сборки Gradle
  22. Android Runtime
  23. Android Debug Bridge
  24. Ускорение работы

  25. Десять важнейших тем (которые мы не рассмотрели)

Технотрек по Andro >

Посмотреть лекции яндекса

Прочитать книгу Kotlin for Andro >

  1. Introduction
  2. Getting ready
  3. Creating a new project
  4. Classes and functions
  5. Writing your first class
  6. Variables and properties
  7. Anko and Extension Functions
  8. Retrieving data from API
  9. Data Classes
  10. Parsing data
  11. Operator overloading
  12. Making the forecast list clickable
  13. Lambdas
  14. Visibility Modifiers
  15. Kotlin Android Extensions
  16. Application Singleton and Delegated Properties

  17. Creating an SQLiteOpenHelper
  18. Collections and functional operations
  19. Saving and requesting data from database
  20. Null safety in Kotlin
  21. Creating the business logic to data access
  22. Flow control and ranges
  23. Creating a Detail Activity
  24. Interfaces and Delegation
  25. Generics
  26. Settings Screen
  27. A first walk into coroutines
  28. Testing your App
  29. Extra concepts
  30. Conclusion

Базы данных

  1. SQLite
  2. Room
  3. Realm

Andro >


  1. Retrofit 2
  2. Dagger 2

Прочитать книгу Head First Design Patterns

  1. Добро пожаловать в мир паттернов
  2. Объекты в курсе событий
  3. Украшение объектов
  4. Домашняя ОО-выпечка
  5. Уникальные объекты
  6. Инкапсуляция вызова
  7. Умение приспосабливаться
  8. Инкапсуляция алгоритмов
  9. Управляемые коллекции
  10. Состояние дел
  11. Управление доступом к объектам
  12. Паттерны паттернов
  13. Паттерны в реальном мире
  14. Приложение: Другие паттерны

Прочитать книгу Head First Object-Oiented Analysis and Design


  1. С чего начинаются хорошие программы
  2. Дайте им то, что они хотят
  3. Я тебя люблю, ты мой идеал. Теперь изменись
  4. Программы для реального мира
  5. Все течет, все меняется, Зарядка для программ
  6. «Меня зовут Арт. И я архитектор»
  7. Навести порядок в хаосе
  8. Не стремитесь к оригинальности
  9. Программы пишутся для заказчика
  10. Все вместе
  11. Десять главных тем (не рассмотренных в книге)
  12. Говорим на языке ООП

Прочитать книгу Reactive Programming with RxJava

  1. Reactive Programming with RxJava
  2. Reactive Extensions
  3. Operators and Transformations
  4. Applying Reactive Programming
    to Existing Applications
  5. Reactive from Top to Bottom
  6. Flow Control and Backpressure

  7. Testing and Troubleshooting
  8. Case Studies
  9. Future Directions
  10. More HTTP Server Examples
  11. A Decision Tree of Observable Operators

unit тесты

Разобраться с основными функциями Andro >

Andro >

  • A basic understanding of layouts and views
  • Activities and their lifecycle
  • User input
  • Getting data from the web
  • Storing data
  • Collection views (like ListViews) and Adapters (default and custom)
  • Action Bar
  • Accommodating different screen sizes and densities

Andro >

  • Project-level build.gradle
  • Module-level build.gradle
  • Finally, settings.gradle

Andro >

Написать клиент-серверное приложение

Написать Погодный виджет

Разработать простой виджет рабочего стола, для отображения погоды на сегодняшний день. Источником данных может быть любой интернет-сервис: например http://informer.gismeteo.ru/ (смотреть раздел xml-информер).

Требования по функционалу:
1. Размер виджета должен быть 4х1 ячеек;
2. Виджет должен предусматривать наличие кнопки с функционалом «Обновить данные»

Попытать выбить тестовое задание у какой нибудь компании

GEO TASK (Andro >

Приложение состоит из 3х экранов

1. Сплеш (картинка с неоднородным фоном на весь экран)
2. Активити ввода начальной и конечной точки
Содержит:
а) 2 таба Откуда и Куда.
Внутри таба:
• Поле ввода для поиска при вводе геоенкодер определяет вариант и координаты (до 7 штук)
• Список найденных вариантов (видимы 3 шт остальное скролл). Клик по элементу выбирает его.
• Карта показывает место выбранного варианта на карте
б) Кнопка поиска пути. При нажатии переход
на Форму результата.
3. Форма результата:
Карта, смасштабированная таким образом что включает:
• Местоположение пользователя по геолокации
• Путь от точки Откуда в точку Куда, полученный с помошью прямого запроса (HTTP GET) к Google сервису DirectionsAPI (https://developers.google.com/maps/docu . irections/).
Ответ от DirectionsAPI принимаем в виде JSON. Нас интересуют только координаты детали пути не важны. Отрисовываем в виде Polyline черного цвета.
После получения ответа от сервиса выше карты пишем:
Found или Unknown в зависимости от ответа Google.

Общие требования:
Портрет и ландшафт
Разрещения от 480х800 до 1080х1920
Android 2.3 4.2
Желательно оформление в стиле Android 4.x (Actionbar etc)

Facebook Client (Andro >

Реализовать приложение, которое подключается к публичному API произвольной соц. сети (предпочтительно FB/VK) или к другому сервису, который может отдать данные для их последующего отображения.

Если сервис отдает данные с координатами (например, instagram/foursquare), сделать возможность отображения полученных данных на карте.

Приложение должно:
1. Выводить список друзей/follower/фотографов, с фотографиями и минимальным описанием.
2. Выполнять просмотр более детальной информации/списка фотографий.
3. Выполнять просмотр больших фотографий (фотографии должны кешироваться на устройстве).

Тестовое задание Andro >

1) Простой клиент для социальной сети.

Задача:
Разработать клиентское приложение для просмотра своих фотоальбомов в социальной сети (на выбор facebook или vkontakte).

Требования по функционалу:
1. Логин/форма входа для авторизации в соц. сети.
2. Список фотоальбомов: таблица со списком. Ячейка таблицы – миниатюра обложки альбома и его название. Миниатюры должны подгружаться асинхронно, на время подгрузки отображать индикатор круглый загрузки.
3. Фотографии: таблица со списком фотографий. Ячейка таблицы – миниатюра фотографии, ее название, дата загрузки. Миниатюры также должны загружаться асинхронно. При нажатии на миниатюру открывается окно ее просмотра.
4. Просмотр фотографии на весь экран. Реализовать отображение дополнительной информации по фотографии.
5. Поддержка навигации по фотографиям в полноэкранном режиме с помощью жестов.

Тестовое задание Andro >

2) Виджет для рабочего стола

Задача:
Разработать простой виджет рабочего стола, для отображения случайной картинки с сервиса http://demotivators.to/ .

Требования по функционалу:
1. Размер виджета должен быть не мене 3х3 ячеек и предусматривать растягивание.
2. Виджет должен предусматривать наличие кнопки с функционалом «Обновить данные».
3. Предусмотреть конфигутор виджета с настройками частоты обновления демотиваторов и лимита загружаемых данных в сутки.
4. По тапу на картинке должна стартовать Activity с возможностью полноэкранного просмотра демотиватора, просмотра комментариев и рейтинга, а также возможностью сохранить картинку.
5. Реализовать логику получение данных с помощью Service.

Andro >Android-разработчик. Продвинутый курс

Курс обеспечивает глубокое погружение в промышленную Android-разработку на языке Kotlin, и за 5 месяцев позволяет прокачать свои навыки с уровня Junior до Middle или Senior Android-разработчика.

Что даст вам этот курс

Курс рассчитан на Android-разработчиков с опытом работы от 1 года, со знанием Java или Kotlin.

Вы научитесь:

  • Глубоко разбираться в Android SDK. Разница между junior- и senior-разработчиками в том, что первый может реализовать какую-то фичу, а второй может объяснить, что скрывается за каждой строкой кода этой фичи, найти потенциальные проблемные места и оптимизировать их. Вы узнаете, что происходит внутри классов и методов Android SDK, сможете заметно ускорить свое приложение, выбрать оптимальный алгоритм шифрования для вашего приложения, и организовать безопасное хранилище секретных данных.
  • Организовывать инфраструктуру. Разворачивать системы continuous integration и continuous delivery, выстраивать git flow, поднимать Docker-контейнеры и Jenkins внутри них. Научитесь внедрять и настраивать линтеры и чекстайлы для проверки качества кода. Сможете писать свои Gradle таски и плагины для автоматизации и оптимизации процессов сборки и тестирования.
  • Проектировать архитектуру приложения. Вы узнаете сильные и слабые места паттернов и архитектурных решений, научитесь правильно выбирать архитектурный паттерн для вашего приложения. Освоите GoF, MV* шаблоны для Android и принципы Clean Architecture. Научитесь проектировать мультимодульную архитектуру и проводить рефакторинг legacy кода.
  • Тестировать приложения. Недостаточно просто уметь писать тесты. Важно приучиться писать надежный и протестированный код, интеграционные тесты и UI-тесты. Рассмотрим популярные фреймворки для тестирования и подходы к написанию тестов.
  • Использовать современные библиотеки и фреймворки На профессиональном уровне освоите Dagger 2 и RxJava 2, сможете правильно организовывать DI в приложении с использованием Dagger 2, писать собственные операторы в RxJava и т.д.

Минимальные знания

  • Опыт разработки под Android от 1 года
  • Знание Java Core или Kotlin
  • Знакомство с системой контроля версий git
  • Знакомство с популярными фреймворками: Dagger, RxJava, Android architecture components
  • Опыт работы с сетью и хранилищами данных в Android
  • Понимание принципов RESTful API

Android Studio Debugging: Продвинутый уровень

Часть вторая

Перед погружением

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

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

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

И я рекомендую прочитать первую часть перед изучением этой статьи, если вы еще не читали ее.

Проверка выражения

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

Долгое время я не знал про эту возможность и пользовался различными подпорками-костылями. Вещь весьма удобная но есть вопрос…

А изменяется ли состояние объекта?

  • Останавливаю выполнение программы в режиме отладки на 4й строке — как раз перед вызовом метода test()
  • Применяю Проверку выражения к методу test() несколько раз
  • Проверяем check == 2
  • Если true то то состояние программы не меняется. Если больше то меняется.

Итак, барабанная дробь…

Итак, экспериментальным путем мы выяснили, что состояние объекта меняться, и код выполняется меняя состояние в JVM. Это стоит запомнить и держать в уме.

Продвинутая работа с breakpoint’s

На первый взгляд кажется что точка остановки (breakpoint) достаточно простая вещь. Но у нее есть много полезных опций и возможностей, с которыми как минимум стоит ознакомится.

Дополнительные опции breakpoint-a

По нажатию на правую кнопку мышки на breakpoint появляется вот такое меню.

Enabled — можно включить/выключить точку остановки не удаляя ее.

Suspend — флаг для включения/выключения остановки выполнения потока во время достижения точки остановки. А еще есть возможность выбрать что остановить — выполнение только текущего потока, на котором выполняется текущая строка кода, или вообще все потоки внутри процесса приложения.

Но зачем отключать остановку на точке остановки?

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

Вывод сообщения в консоль

При срабатывании точки остановки в консоль можно вывести 3 варианта сообщений:

  • Точка остановки достигнута
  • Stack-trace к точке остановки
  • Выполнить какое-то выражение и вывести его результат

Я долго искал — где в логах сообщение о том что точка остановки сработала. Оказывается эти сообщения выводятся не в Logcat а в консоль во вкладке Debug:

Кстати, на этом скриншоте видно 2 первых типа сообщения: “точка остановки достигнута” и stack-trace.

И вариант вывода в логи результат выполнения выражения:

Разработка мобильных приложений под Andro >

Веб-программирование

Google

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

Разработка мобильных приложений

Курсы Java

Этот курс в нашем Центре
успешно закончили
847 человек!

Andro >

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

Первый уровень даст Вам общее знание об архитектуре операционной системы Android, знакомство со средой разработки Android Studio, знание основных паттернов разработки приложений под Android. А главное – возможность создавать приложения, не требующие взаимодействия с внешним миром (через сеть, камеру и другие сенсоры).

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

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

Хотите стать успешным и востребованным разработчиком? Записывайтесь на этот курс. Он является первым в цепочке для разработчиков приложений под Android.

Программа курса соответствует требованиям профессионального стандарта «Программист».

По окончании курса Вы будете уметь:

  • применять знания об архитектуре ОС Android;
  • понимать особенности среды разработки Android Studio;
  • использовать основные паттерны разработки приложения под Android;
  • пользоваться основными возможностями и ресурсами платформы;
  • создавать Активности;
  • создавать удобное меню с точки зрения юзабилити;
  • обрабатывать события жизненного цикла приложения;
  • работать с пользовательским интерфейсом, представлениями и разметкой;
  • использовать Намерения;
  • работать с базами данных и контент-провайдерами;
  • тестировать созданные приложения для эффективной работы.

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

9 лучших приложений для продвинутых пользователей Andro >

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

Как и все похожие списки, эта подборка отражает субъективные предпочтения автора. Если вы несогласны с таким выбором программ и хотите предложить свои варианты — добро пожаловать в комментарии.

1. IFTTT

IFTTT позволяет автоматизировать работу многочисленных программ и сервисов, подключённых к вашему устройству. Это приложение может, к примеру, включать Wi-Fi, как только вы приходите домой, или делать бэкап новых снимков на диске Google Drive. IFTTT поддерживает ещё сотни подобных сценариев взаимодействия между различными службами и приложениями. Выбирайте уже готовые или создавайте свои варианты автоматизации по предложенному шаблону — все это бесплатно.

2. App Cloner

Эта программа клонирует другие программы. Зачем? Допустим, приложение вашего любимого мессенджера или социальной сети не имеет поддержки нескольких аккаунтов, которая вам очень нужна. В таком случае поможет App Cloner. Он создаст копии выбранной программы на вашем устройстве, к которым можно будет подключить дополнительные аккаунты.

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

3. Air Droid

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

В бесплатной версии Air Droid действуют ограничения на количество подключаемых устройств и объем передаваемых файлов. Их можно отключить, оформив платную подписку.

4. LastPass

Если вы используете большое количество сервисов, то знаете как это неудобно — постоянно придумывать, запоминать и вводить логины и пароли от своих аккаунтов. Менеджер паролей LastPass избавляет от этих проблем. Он генерирует, надёжно хранит и вводит все нужные вам имена и комбинации в полуавтоматическом режиме.

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

5. Clipper

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

Безлимитное хранилище заметок, онлайн-синхронизация между устройствами и некоторые другие функции Clipper доступны только в платной версии программы.

6. All-In-One ToolBox

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

7. Drippler

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

8. Nova Launcher

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

9. Solid Explorer

В Google Play вы найдёте немало программ-проводников, которые предоставляют широкий контроль над файловой системой. Solid Explorer — определённо в числе лучших из них. К его достоинствам можно отнести простой и стильный интерфейс, высокую скорость работы, мощный поиск по устройству, удобные инструменты для управления архивами и файлами, интеграцию с облачными сервисами и поддержку FTP. Программа платная с 14-дневным пробным периодом.

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

[Geekbrains] Программист Andro >

Курс: «Программист Andro >комментарием: «Отличный курс из-под большого хайда для любимого ресурса«. Материал может быть удален по запросу правообладателя. Оцениваем курс

Описание курса:

В 2014 году количество смартфонов в России впервые превысило количество покупаемых телефонов, а Android-устройства заняли более 60% отечественного рынка, и 80% рынка мирового. Разработка приложений под Android сегодня требуется не только крупным компаниям — она выводит на качественно новый уровень любой бизнес — от доставки пиццы до службы такси. И деловая среда уже поймала эту волну. С 2012 по 2014 год количество вакансий для Android-разработчиков выросло на 110%, а с потребностью вырос и авторитет программистов, которые получили возможность не цепляться за первое предложение, а выбирать из предложенных вакансий наиболее оптимальную.

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

Ключевые навыки:

  • Знание Java Core
  • Знание Andro >Что Вы будете изучать
    Никаких скучных теорий. Семь практических курсов.
  • Урок 1. Базовые понятия
    Обзор курса, Введение в платформу Java, Настройка среды, Простейшая программа Hello world в блокноте, Запуск и выполнение, Среды разработки(IDE), Знакомство со средой разработки Eclipse, Idea, Hello world в среде Eclipse, Idea
  • Урок 2. Типы данных
    Примитивные типы данных, Объявления переменных и их инициализация, Константы, Стек,куча и где хранятся данные в Java, Преобразования типов в Java, Основные операторы в языке Java: арифметические, логические, битовые, строковые, Работа с символами и строками, Вывод результатов работы программы на консоль
  • Урок 3. Управление потоком выполнения и циклы
    Основы процедурного программирования, Ветвления, Циклы, Проектирование методов, Конструкторы, Хорошие и плохие названия, Параметры методов, Перегрузка методов, Рекурсия
  • Урок 4. Введение в ООП
    Классы и объекты, Абстракция, Инкапсуляция, Наследование, Полиморфизм, Модификаторы доступа
  • Урок 5. Продвинутое ООП
    Принципы проектирования и основы языка UML, Диаграммы классов, Абстрактные классы, Интерфейсы клонирования, Множественное наследование в Java, Программирование в соответствии с интерфейсом, а не реализацией
  • Урок 6. Collеction Framework
    Виды контейнеров в Java: List, Map,Set, Основные реализации контейнеров, Основные приемы использования контейнеров, Проход по элементам коллекции, шаблон проектирования Iterator, Сравнение элементов коллекции, Сортировка элементов коллекции
  • Урок 7. Исключения
    Концепция обработки исключений, Сравнение традиционного механизма обработки ошибок с механизмом, обработки исключений, Блок try-catch-finally, Типы исключений, Стандартные исключения в Java и их роль, Выброс исключения из метода
  • Урок 8. Написание программы «Сетевой чат»
    Основы работы с библиотекой Swing, Основы работы с файловой системой в Java, Написание игры «Морской бой» с нуля — в течении 7и уроков, Написание программы «Сетевой чат», Написание программы «simple Web-server»

Android. Уровень 1. Разработка под мобильные устройства

  • Урок 1. Введение в платформу Android
    Знакомство. Программа курса Общие сведения о платформе Android, историческая справка Архитектура платформы Android Этапы создания приложений, от идеи до GooglePlay Установка и настройка необходимых инструментов Основные компоненты Android SDK Обзор среды разработки (Eclipse и AndroidStudio) Пример простого приложения «Hello, Android!»
  • Урок 2. Activity и ресурсы приложения
    Основные компоненты Android приложения Модель безопасности и разрешения Структура Android проекта Жизненный цикл Activity и методы обратного вызова Использование LogCat Ресурсы в Android приложении (cтроки, размеры, цвета, массивы) Альтернативные ресурсы и квалификаторы Локализация приложения
  • Урок 3. Разработка пользовательского интерфейса
    Особенности проектирования UI для мобильных платформ Различия в проектировании UI для телефонов и планшетов Основные характеристики экранов Принципы построения UI в Android Макеты и компоненты контейнеры Обзор стандартных элементов UI в Android Создание разных версий дизайна для различных конфигураций устройства
  • Урок 4. Меню и Диалоги
    Меню в приложении Android ActionBar, меню опций и контекстное меню элементов Создание вложенных меню Принципы построения диалоговых окон в Android Класс DialogBuilder Диалоги AlertDialog, TimePickerDialog и DatePickerDialog Создание собственного диалогового окна
  • Урок 5. Коллекции в Android
    Введение в концепцию MVC (Model-View-Controller) Коллекции в Android и класс AdapterView Использование компонента ListView Различные источники данных для списков Работа с элементами списка Класс BaseAdapter, создание собственного адаптера Работа с компонентом GridView Работа с компонентом Spinner
  • Урок 6. Activity и класс Intent
    Механизм намерений в Android Добавление нового Activity в приложение Явный вызов Activity и класс Intent Передача параметров через объект Intent Получение результата работы Activity Неявный вызов Activity Работа со стандартными приложениями (Телефон, SMS, Почта, Браузер) Переопределение класса приложения
  • Урок 7. Хранение данных
    Обзор возможностей хранения данных в Android Сохранение промежуточного состояния Activity Класс SharedPreferences и настройки приложения Работа с внутренней (защищенной) памятью Получения состояния карты памяти Работа с файлами на карте памяти Разработка класса для работы с текстовыми файлами Активы приложения и Raw ресурсы
  • Урок 8. Фрагменты и web
    Понятие фрагментов и их жизненный цикл Архитектура фрагментов в Android Классы Fragment и FragmentManager Взаимодействие фрагментов с Activity Использование фрагментов Работа с протоколом HTTP в Android Пример приложения web-клиента Подведение итогов

Android. Уровень 2. Профессиональная разработка приложений

  • Урок 1. База данных SQLite
    Введение в реляционные базы данных. Язык структурированных запросов SQL. База данных SQLite в Android. Пример приложения для работы с БД.
  • Урок 2. Интент-фильтры и контент-провайдеры
    Интенты (действия, категории, данные). Интент-фильтры. Контент-провайдеры. Пример приложения с контент-провайдером.
  • Урок 3. Позиционирование и карты
    Методы определения местоположения. Работа с картами Google Maps. Внедрение карт в приложение. Управление картой в приложении. Добавление точек на карту. Определение местоположения без карт.
  • Урок 4. Многопоточность в Android. Сервисы
    Понятие процесса и потока. Главный поток приложения. Thread и Runnable. Классы AsyncTask и Loader. Метод post(). Сервисы (службы) в Android.
  • Урок 5. Broadcast Receivers. Виджеты
    Понятие Broadcast Receiver. Примеры использования бродкастов. Виджеты начального экрана. Пример простого виджета.
  • Урок 6. Телефония, сенсоры, bluetooth
    Менеджер телефонии в Android. Отслеживание входящих вызовов. Сенсоры устройства. Bluetooth.
  • Урок 7. Компоненты UI. Графика. Анимация
    Создание компонентов UI. Жизненный цикл компонента UI. Графика в Android. Анимация.
  • Урок 8. Отладка приложений
    Отладка Android приложений. Точки останова и пошаговое выполнение. Интерфейс ADB shell. DDMS, Traceview, LogCat

Два месяца обучения и практической работы c языком Java
Месяц обучения и практической работы с Android
Два месяца обучения и практической работы по продвинутому уровню Android

Andro >Курс обеспечивает глубокое погружение в промышленную Android-разработку на языке Kotlin, и за 5 месяцев позволяет прокачать свои навыки с уровня Junior до Middle или Senior Android-разработчика.

Чт 20:00, Пн 20:00

Курс рассчитан на Android-разработчиков с опытом работы от 1 года, со знанием Java или Kotlin.

Вы научитесь:

  • Глубоко разбираться в Android SDK. Разница между junior- и senior-разработчиками в том, что первый может реализовать какую-то фичу, а второй может объяснить, что скрывается за каждой строкой кода этой фичи, найти потенциальные проблемные места и оптимизировать их. Вы узнаете, что происходит внутри классов и методов Android SDK, сможете заметно ускорить свое приложение, выбрать оптимальный алгоритм шифрования для вашего приложения, и организовать безопасное хранилище секретных данных.
  • Организовывать инфраструктуру. Разворачивать системы continuous integration и continuous delivery, выстраивать git flow, поднимать Docker-контейнеры и Jenkins внутри них. Научитесь внедрять и настраивать линтеры и чекстайлы для проверки качества кода. Сможете писать свои Gradle таски и плагины для автоматизации и оптимизации процессов сборки и тестирования.
  • Проектировать архитектуру приложения. Вы узнаете сильные и слабые места паттернов и архитектурных решений, научитесь правильно выбирать архитектурный паттерн для вашего приложения. Освоите GoF, MV* шаблоны для Android и принципы Clean Architecture. Научитесь проектировать мультимодульную архитектуру и проводить рефакторинг legacy кода.
  • Тестировать приложения. Недостаточно просто уметь писать тесты. Важно приучиться писать надежный и протестированный код, интеграционные тесты и UI-тесты. Рассмотрим популярные фреймворки для тестирования и подходы к написанию тестов.
  • Использовать современные библиотеки и фреймворки На профессиональном уровне освоите Dagger 2 и RxJava 2, сможете правильно организовывать DI в приложении с использованием Dagger 2, писать собственные операторы в RxJava и т.д.

Что нужно знать и уметь, чтобы работать Andro />

В статье о выборе Andro >API и кастомизация. Всё это — рутинные проблемы, чьё наличие не должно влиять на ваше решение заняться разработкой под Android. Чтобы принимать их как должное, вам следует овладеть фундаментальными знаниями, список которых я составил в максимально возможном объёме.

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

Что нужно знать для разработки приложений под Andro >

Английский язык на уровне чтения

Принципы ООП, java, jvm, garbage collector, Gradle, Git

Разбираться и отличать друг от друга MVC , MVP и MVVM

Dagger 2 — самый популярный фреймворк, реализующий Dependency Injection для Android

ButterKnife. Используется, когда нужно связывание полей и методов с Android views и когда лень копипастить findById

Retrofit. Нужен для работы с Rest- API

Конвертер для json Moshi

Timber (удобное и умное логирование)

Retrolambda. Позволяет использовать Java 8 лямбда-выражения

обёртка над sqllite StorIO

обёртка над sqllite Cupboard

LeakCanary. Помогает отлавливать утечки базы данных

U2020- MVP . Небольшой пример нашей архитектуры приложений

Знание Kotlin / C++

С чего начать разработку приложений для Andro >
  • Training for Android developers — родная тренинг-документация от Google для начинающего Android-разработчика
  • StartAndroid — отличный набор уроков на русском языке. Содержит широкий список детальных примеров и видеоуроков с комментариями ключевых моментов. Наверно лучший способ понять идеологию разработки, познакомиться с терминами и понятиями, а так же быстро стать начинающим android разработчиком.
  • курс Александра Климова, с которым вы освоите Android-разработку за 5 месяцев. Является отличным дополнением к startandroid.ru.
  • Android Tutorial — брошюрка, из которой можно узнать об основных понятиях и обозначениях в Android. После неё чтение любой документации должно даваться чуточку проще.
  • Набор простых шпаргалок и примеров работы с различными компонентами Android. В целом материал старый, но многие вещи в платформе не менялись годами. В любом случае станет хорошим стартом для молодого разработчика.
  • Vogella Tutorials — блог от эксперта Android Eclipce Ларса Фогеля на английском языке. Отличные детальные примеры, алгоритмы, паттерны и многое другое.
  • курс «Разработка под Android» на Hexlet. 136 видео уроков, тестов и домашних работ. Преподаватель — Виталий Непочатов. Курс от 19 декабря 2013 года.
  • курс Android Development for Beginners на Udacity для совсем начинающих. Его можно пройти бесплатно — Udacity всячески пытается заставить нажать на платную кнопочку, но если внимательно присмотреться и почитать, что написано на экране, то можно увидеть, как начать курс без оплаты.

Стоит яростно следить за…

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

Android. Продвинутый уровень

Android sdk – незаменимый набор инструментария для разработчиков андроид приложений. Впрочем, комплект инструментов.

Android studio – интегрированная среда разработки, предназначенная для создания приложений. Причем в этой.

Использование fastboot повсеместное, наряду с ADB. Где скачать fastboot и как использовать, вы.

В переводе на русский apply update from adb означает “применить обновление от adb”.

В предыдущих материалах мы детально рассказывали об ADB. В этот раз вы узнаете.

Рано или поздно, владельцы Android знакомятся с ADB. Отладочный инструмент незаменим при прошивке.

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

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

В статье описаны актуальные способы разблокировки загрузчика на смартфонах Huawei и Honor. Важно.

Главная помеха на пути любителей кастомизации и экспериментов – закрытый загрузчик. Поскольку на.

ОС Android предлагает пользователю широкие возможности кастомизации. При этом доступ к большинству функций.

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

Ежегодно для ОС Android растет число вредоносных приложений и файлов. А мошенники и.

Получение обновлений – радостное событие для каждого владельца Android смартфона и планшета. Поскольку.

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

В этом году на рынке появятся первые «процессоры» с кэшем 3-го уровня –.

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

Обновление 5.0 Lollipop принесло много новых и интересных функций. ОС Android получила единый.

Компания ARM разработала новую платформу для построения процессоров – DynamIQ. Какие новшества стоит.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих