1

Этап 1

Организовать рабочее место

2

Этап 2

Подтянуть знания в Java-core

3

Этап 3

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

4

Этап 4

Изучить теоретические основы Андроид разработки

5

Этап 5

Углубленное изучение Java

6

Этап 6

Еще один чек-лист знаний перед собеседованием

7

Этап 7

Что я должен буду знать.

8

Этап 8

Создать свое второе приложение (более сложное) с использованием клиент-серверных технологий

9

Этап 9

Что нужно знать и чем нужно уметь пользоваться

10

Этап 10

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

1

Этап 1

Организовать рабочее место

2

Этап 2

Подтянуть знания в Java-core

3

Этап 3

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

4

Этап 4

Изучить теоретические основы Андроид разработки

5

Этап 5

Углубленное изучение Java

6

Этап 6

Еще один чек-лист знаний перед собеседованием

7

Этап 7

Что я должен буду знать.

8

Этап 8

Создать свое второе приложение (более сложное) с использованием клиент-серверных технологий

9

Этап 9

Что нужно знать и чем нужно уметь пользоваться

10

Этап 10

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

13 марта 2016 01 января 2017
Цель завершена 26 декабря 2016
Карьера и работа

Стать Android разработчиком

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

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

Создать несколько pet-проектов и приложений, разместить в GooglePlay

 Личные ресурсы

Время, знание основ программирования и ООП, начальные знания синтаксиса Ruby, Java-core, Python, JS, HTML, сайт startandroid.ru, различные сайты, книги и видеокурсы по Java и Android разработке, вера в себя и огромное желание учиться.

 Экологичность цели

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

  1. Организовать рабочее место

    1. Скачать, установить JDK.

    2. Скачать, установить Android SDK. Настроить среду разработки Android Studio или IDEA.

    3. Скачать, установить и настроить эмулятор Genymotion

    4. Скачать, установить Git и настроить работу с GitHub

  2. Подтянуть знания в Java-core

    1. Прочитать книгу Head First Java. Авторы: Кэти Сиерра, Берт Бейтс (есть в наличии)

    2. Прочитать книгу Java 8. Руководство для начинающих, 6-е издание. Автор: Герберт Шилдт (есть в наличии)

    3. Пройти видео курсы от geekbrains.ru. Java 1 (есть в наличии)

    4. Написать несколько программ для проверки знаний. (крестики-нолики, морской бой и т.д.)

  3. Написать свое первое приложение

    Написал, https://github.com/solandmedotru/RemindMeAbout

    Залил на Google Play https://play.google.com/store/apps/details?id=ru.solandme.remindmeabout

    Продолжаю поддерживать и обновлять, по мере обучения

    1. Создать свое первое работающие приложение (напоманание о праздниках с возможностью отправки поздравлений из базы)

    2. Опубликовать приложение на Google Play

    3. Получить отзывы и добиться 1000 скачиваний

    4. Добавить рекламу в приложение и заработать первые 100 долларов

  4. Изучить теоретические основы Андроид разработки

    1. Прочитать книгу Head First. Программирование для Android. Автор Д. Гриффитс, Д. Гриффитс (есть в наличии)

    2. Пройти видео курсы от geekbrains.ru Профессия Андроид - разработчик. Уровень 1 (есть в наличии)

    3. Пройти видео курсы от geekbrains.ru Профессия Андроид - разработчик. Уровень 2 (есть в наличии)

    4. Просмотреть все видео на сайте startandroid.ru и fandroid.info (есть в наличии)

    5. Пройти видео курсы от Тимура Батыршинова по Android разработке (есть в наличии)

    6. Пройти видео курс от LoftSchool. Комплексное обучение разработке на Android. (есть в наличии)

    7. Прочитать книгу Android. Программирование для профессионалов 2-е издание.

    8. Прочитать книгу. Программирование для андроид 5. Самоучитель. Колиснеченко Д.Н.

  5. Углубленное изучение Java

    1. Прочитать книгу Java 8. Полное руководство. Автор: Герберт Шилдт (есть в наличии)

    2. Пройти видео курсы от geekbrains.ru. Java 2 (есть в наличии)

  6. Еще один чек-лист знаний перед собеседованием

    1. Файл AndroidManifest.xml: зачем нужен, необходимые параметры, секции.

    2. Структура проекта: assets, res, src, gen, libs. Что лежит в каждой папке, что должно лежать под версионным контролем, а что нет

    3. Компоненты приложения. Activity, Service, BroadcastReceiver, ContentProvider.

    4. Особенности запуска Activity и Service. Что такое Task, Activity Stack. Как принимается решение о запуске процесса Service.

    5. ContentProvider, зачем нужен, как используется. Доступ и использование ContentResolver. Работа с курсорами. Помнить про managed cursors.

    6. BroadcastReceiver: статические и динамические, механизмы вызова, lifecycle.

    7. Межпроцессное взаимодействие. Что такое и зачем нужен Intent, как передавать информацию с его помощью, что такое Bundle и зачем нужен Parcel

    8. Построение UI приложения. Что такое Layout и View, какие бывают типы layout'ов(4 штуки), зачем они применяются.

    9. Хранение данных в платформе: 4 типа. Internal, External Storage, DB, SharedPreferences. Варианты использование, отличия.

    10. Локализация. Встроенные средства платформы для локализации, моменты выбора локали.

    11. Виджеты. Механизм создания виджетов, доступные средства UI в них. Что такое AppWidgetProvider.

    12. Работа в фоне. Когда использовать Service, когда AsyncTask. Что такое AsyncTask, его связь с UI.

    13. Модель безопасности в Android. Разрешения.

    14. Использование телефонных средств: сенсоров, вибрации, GPS.

    15. Новинки платформы: Loaders, Fragments, In-app billing.

    16. Производительность в платформе: best practices. Неиспользование enums до 2.2, использование final и проч.

    17. Поддержка старых версий платформы: доступ до функциональности через Reflection.

    18. Собственные views: механизмы отрисовки, Canvas.

    19. Состояния компонент: какие компоненты системы могут сохранять состояния(Activity и View), способы сохранения и восстановления состояний

    20. Механизмы подписи приложений для публикации в Android Market.

    21. Android NDK: вызов нативного кода

    22. Фреймворки для разработки под различные мобильные OS: Titanium, PhoneGap и прочие.

  7. Что я должен буду знать.

    1. Общая архитектура приложения. Компоненты приложения.

    2. Интерфейс (Fragments, ActionBar, диалоги и прочее). Работа с анимацией элементов управления. Создание кастомных элементов управления.

    3. Многопоточность (Threads + Handler, AsyncTask, runOnUiThread, post).

    4. Работа с файлами.

    5. Сеть. Сокеты. WebView.

    6. Сервисы.

    7. Google Maps и GPS (в перспективе возможно OpenStreetMap и MapKit Яндекса).

    8. SQLite.

    9. Протоколы. HTTP/HTTPS, JSON, XML, OAuth2, возможно protobuf.

    10. API социальных сетей (ВКонтакте, Facebook, Twitter, Instagram, Flickr).

    11. Создание виджетов.

  8. Создать свое второе приложение (более сложное) с использованием клиент-серверных технологий

    1. Создать клиентскую часть (мобильное приложение)

    2. Создать серверную часть (на Node.js, Ruby on Rails или на чем к тому времени я буду уметь писать)

    3. Покрыть хотя бы 70% кода тестами

  9. Что нужно знать и чем нужно уметь пользоваться

    Приветствуется:

    • Знание Kotlin / C++
  10. Найти ментора, пройти стажировку и выбрать дальнейший путь развития

    1. Найти ментора (Гуру)

    2. Пройти стажировку

    3. Устроится на работу или уйти во фриланс (еще не решил)

  • 4206
  • 13 марта 2016, 12:16
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?