Цель заброшена
Автор не отписывался в цели 6 лет 9 месяцев 5 дней
Android разработка: от Junior к Middle
Дано: есть знание Java на среднем уровне, Android - на уровне "очень новичок")) Сразу все пункты писать долго и сложно. Так что со временем пункты будут модифицироваться и изменяться.
Хочу 1: уверенный в себе middle-специалист на иинтерсном проекте.
Хочу 2: опубликованное приложение на Google Play Market.
Критерий завершения
Позиция Middle в трудовой книжке))
Личные ресурсы
Время
Экологичность цели
Достичь цели могу только я, никто вместо меня не сделает)
- 
                    
                    
Clean Code. Чистая архитектура. Роберт Мартин
Мне уже несколько человек сказали, что эта книга просто "must have". Люди советоватли умные, надо читать, пока есть возможность))
    - 
                                                                        
Часть I. Введение
 - 
                                                                        
Часть II. Начальные основы: парадигмы программирования.
 - 
                                                                        
Часть III. Принципы дизайна.
 - 
                                                                        
Часть IV. Принципы организации компонентов.
 - 
                                                                        
Часть V. Архитектура.
 - 
                                                                        
Часть VI. Детали.
 - 
                                                                        
Часть VII. Приложение.
 
 - 
                                                                        
 - 
                    
                    
Kotlin In Action. Dmitry Jemerov, Svetlana Isakova
Очень рекомендуемая всеми книга для изучения Kotlin.
    - 
                                                                        
Введение в Kotlin
 - 
                                                                        
Kotlin, что это и зачем
 - 
                                                                        
Основы Kotlin
 - 
                                                                        
Определение и вызов функций
 - 
                                                                        
Классы, объекты и интерфейсы
 - 
                                                                        
Лямбда-выражения
 - 
                                                                        
Система типов Kotlin
 - 
                                                                        
Перегрузка операторов и другие соглашения
 - 
                                                                        
Функции высшего порядка
 - 
                                                                        
Обобщённые типы
 - 
                                                                        
Аннотации и механизм рефлексии
 - 
                                                                        
Конструирование DSL
 - 
                                                                        
Сборка проектов на Kotlin
 - 
                                                                        
Документирование кода на Kotlin
 - 
                                                                        
Экосистема Kotlin
 
 - 
                                                                        
 - 
                    
                    
Kotlin. Документация.
Скоро без знания Kotlin будет никуда. Существующие проекты поддерживают java, а вот новые все больше пишут на kotlin.
Так что изучаем и срочно.
    - 
                                                                        
Документация Kotlin. Basics. (https://kotlinlang.org/docs/kotlin-docs.pdf)
 - 
                                                                        
Документация Kotlin. Classes and Objects.
 - 
                                                                        
Документация Kotlin. Functions and Lambdas.
 - 
                                                                        
Документация Kotlin. Multiplatform Programming.
 - 
                                                                        
Документация Kotlin. Other.
 - 
                                                                        
Документация Kotlin. Reference.
 - 
                                                                        
Документация Kotlin. Java Interop.
 - 
                                                                        
Документация Kotlin. JavaScript.
 - 
                                                                        
Документация Kotlin. Native.
 - 
                                                                        
Документация Kotlin. Coroutines.
 - 
                                                                        
Документация Kotlin. Tools.
 - 
                                                                        
Документация Kotlin. Evolution and FAQ.
 - 
                                                                        
Задания на Kotlin https://play.kotlinlang.org/koans/Introduction/Hello,%20world!/Task.kt
 - 
                                                                        
Kotlin and Android https://developer.android.com/kotlin/
 - 
                                                                        
Advanced Kotlin tips https://android.jlelse.eu/advanced-kotlin-tips-local-infix-and-inline-functions-tail-recursion-sealed-classes-and-more-
 - 
                                                                        
Kotlin lambdas https://antonioleiva.com/?s=Functional+Android
 - 
                                                                        
Collection operations in Kotlin https://antonioleiva.com/collection-operations-kotlin/
 - 
                                                                        
Kotlin Android Extensions https://kotlinlang.org/docs/tutorials/android-plugin.html
 - 
                                                                        
Coroutines https://kotlinlang.org/docs/reference/coroutines/coroutines-guide.html
 - 
                                                                        
Example application on Kotlin
 
 - 
                                                                        
 - 
                    
                    
Unit Testing.
Приложения надо тестировать, желательно хорошо и быстро. Соответсвенно, поднимаем уровень.
    - 
                                                                        
JUnit Best Practices Guide. (https://howtodoinjava.com/best-practices/unit-testing-best-practices-junit-reference-guide/)
 - 
                                                                        
Write unit tests.
 - 
                                                                        
Mocking Libraries.
 - 
                                                                        
Документация. https://junit.org/junit5/docs/current/user-guide/
 
 - 
                                                                        
 - 
                    
                    
Архитектурные антипаттерны
     - 
                    
                    
UML диаграммы для начинающих
     - 
                    
                    
Material design для Android
     - 
                    
                    
Debugging
Разобраться на достойном уровне в процессе debug-а приложения в Android Studio.
    - 
                                                                        
Studio. https://www.jetbrains.com/help/idea/tutorial-java-debugging-deep-dive.html
 - 
                                                                        
Logging. https://developer.android.com/studio/command-line/logcat
 - 
                                                                        
Android debugging. https://developer.android.com/studio/debug/
 - 
                                                                        
Breakpoints. https://developer.android.com/studio/debug/#breakPoints
 
 - 
                                                                        
 - 
                    
                    
Schedule task. WorkManager
WorkManager: классы и концепции, детальное рассмотрение функций и возможностей.
     - 
                    
                    
Application Permissions .
    - 
                                                                        
Разрешения и запрос разрешений.
 - 
                                                                        
Собственные разрешения.
 - 
                                                                        
Лучшие практики.
 
 - 
                                                                        
 - 
                    
                    
Операции с сетью
    - 
                                                                        
Подключаемся к сети. https://developer.android.com/training/basics/network-ops/connecting.html
 - 
                                                                        
Выбираем Http клиента. https://developer.android.com/training/basics/network-ops/connecting.html#http-client
 - 
                                                                        
Проверяем интернет соединение. https://developer.android.com/training/basics/network-ops/managing.html#check-connection
 - 
                                                                        
Определяем изменение состояния сети. https://developer.android.com/training/basics/network-ops/managing.html#detect-changes
 - 
                                                                        
Управляем использованием сети. https://developer.android.com/training/basics/network-ops/managing.html#manage-usage
 
 - 
                                                                        
 - 
                    
                    
Unit Test with Kotlin Spek
Научиться писать тесты для Android приложения, написанного на kotlin, с помощью spek.
    - 
                                                                        
Unit Test with Kotlin (Mockito, RxJava & Spek) https://android.jlelse.eu/keddit-part-9-unit-test-with-kotlin-mockito-spek-76709812e3b6
 - 
                                                                        
Официальный сайт. https://spekframework.org/core-concepts/
 - 
                                                                        
Writing Specifications with Kotlin and Spek. https://www.baeldung.com/kotlin-spek
 - 
                                                                        
И ещё одна документация. https://spekframework.github.io/spek/docs/latest/
 
 - 
                                                                        
 - 
                    
                    
Architecture knowledge
- 
                                                                        
MVC/MVP/MVVM https://academy.realm.io/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/
 - 
                                                                        
Android Architecture Components. Handling lifecycles https://developer.android.com/topic/libraries/architecture/lifecycle
 - 
                                                                        
ViewModel https://developer.android.com/topic/libraries/architecture/viewmodel
 - 
                                                                        
LiveData https://developer.android.com/topic/libraries/architecture/livedata
 - 
                                                                        
Saving UI States https://developer.android.com/topic/libraries/architecture/saving-states
 - 
                                                                        
Room Persistence Library https://developer.android.com/topic/libraries/architecture/room
 - 
                                                                        
Clean Architecture https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/
 - 
                                                                        
Clean Architecture in Android https://github.com/AndroidArchitecture/AndroidArchitectureBook
 - 
                                                                        
Architecting Android...The evolution https://fernandocejas.com/2015/07/18/architecting-android-the-evolution/
 - 
                                                                        
Adding DI to Clean Architecture Tasting Dagger 2 on Android https://fernandocejas.com/2015/04/11/tasting-dagger-2-on-android/
 - 
                                                                        
Clean architecture using Android Architecture Componentsd https://fernandocejas.com/2018/05/07/architecting-android-reloaded/
 - 
                                                                        
Android MVP for Beginners https://android.jlelse.eu/android-mvp-for-beginners-25889c500443
 - 
                                                                        
Mosby: Getting started http://hannesdorfmann.com/mosby/getting-started/
 - 
                                                                        
Moxy — реализация MVP под Android с щепоткой магии https://habr.com/post/276189/
 - 
                                                                        
Moxy. Как правильно пользоваться? https://www.slideshare.net/profyclub_ru/moxy-arello-mobile
 - 
                                                                        
Android Architecture Components https://developer.android.com/topic/libraries/architecture/
 - 
                                                                        
ViewModel Overview https://developer.android.com/topic/libraries/architecture/viewmodel
 - 
                                                                        
LiveData overview https://developer.android.com/topic/libraries/architecture/livedata
 - 
                                                                        
Handling lifecycles with lifecycle-aware components https://developer.android.com/topic/libraries/architecture/lifecycle
 - 
                                                                        
Saving UI States https://developer.android.com/topic/libraries/architecture/saving-states
 - 
                                                                        
ViewModel и LiveData: паттерны и антипаттерны https://habr.com/post/338590/
 - 
                                                                        
Architecture Components https://startandroid.ru/ru/courses/architecture-components.html
 - 
                                                                        
Example application MVP
 - 
                                                                        
Example application MVVM
 
 - 
                                                                        
 - 
                    
                    
Dependency Injection. Dagger2
- 
                                                                        
Dagger 2 https://github.com/google/dagger
 - 
                                                                        
Dependency Injection in Android with Dagger 2 and Kotlin https://www.raywenderlich.com/171327/dependency-injection-android-dagger-2
 - 
                                                                        
Understanding Dagger 2 https://medium.com/@Miqubel/understanding-dagger-2-367ff1bd184f
 - 
                                                                        
Dagger 2: Part1 https://habr.com/post/279125/
 - 
                                                                        
Dagger 2: Part2 https://habr.com/post/279641/
 - 
                                                                        
Koin: Getting started with Android https://insert-koin.io/docs/1.0/getting-started/android/
 - 
                                                                        
The Koin DSL https://insert-koin.io/docs/1.0/reference/koin-dsl/
 - 
                                                                        
Example application. Dagger.
 
 - 
                                                                        
 - 
                    
                    
Rx
- 
                                                                        
RxJava: What's different in 2.0 https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
 - 
                                                                        
RxJava https://github.com/ReactiveX/RxJava
 - 
                                                                        
RxAndroid https://github.com/ReactiveX/RxAndroid
 - 
                                                                        
RxAndroid: Extensions https://github.com/ReactiveX/RxAndroid/wiki
 - 
                                                                        
Backpressure https://github.com/ReactiveX/RxJava/wiki/Backpressure
 
 - 
                                                                        
 - 
                    
                    
Android
- 
                                                                        
Activities https://developer.android.com/guide/components/activities/
 - 
                                                                        
App resources overview https://developer.android.com/guide/topics/resources/providing-resources?hl=en
 - 
                                                                        
Layouts https://developer.android.com/guide/topics/ui/declaring-layout
 - 
                                                                        
Screen compatibility overview https://developer.android.com/guide/practices/screens_support?hl=ru
 - 
                                                                        
Handle configuration changes https://developer.android.com/guide/topics/resources/runtime-changes
 - 
                                                                        
Handling the configuration change yourself https://developer.android.com/guide/topics/resources/runtime-changes?hl=en#HandlingTheChange
 - 
                                                                        
ImageView http://developer.alexanderklimov.ru/android/views/imageview.php
 - 
                                                                        
Buttons https://developer.android.com/guide/topics/ui/controls/button
 - 
                                                                        
Radio Buttons https://developer.android.com/guide/topics/ui/controls/radiobutton?hl=ru
 - 
                                                                        
Checkboxes https://developer.android.com/guide/topics/ui/controls/checkbox?hl=ru
 - 
                                                                        
Toggle Buttons https://developer.android.com/guide/topics/ui/controls/togglebutton?hl=ru
 - 
                                                                        
Dialogs https://developer.android.com/guide/topics/ui/dialogs?hl=en
 - 
                                                                        
Toasts overview https://developer.android.com/guide/topics/ui/notifiers/toasts?hl=ru
 - 
                                                                        
Localize your app https://developer.android.com/guide/topics/resources/localization?hl=ru
 - 
                                                                        
Menus https://developer.android.com/guide/topics/ui/menus?hl=en
 - 
                                                                        
Styles and Themes https://developer.android.com/guide/topics/ui/look-and-feel/themes?hl=ru
 - 
                                                                        
Material Design for Android https://developer.android.com/guide/topics/ui/look-and-feel/?hl=ru
 - 
                                                                        
App Manifest Overview https://developer.android.com/guide/topics/manifest/manifest-intro?hl=en
 - 
                                                                        
Permissions overview https://developer.android.com/guide/topics/permissions/overview?hl=ru
 - 
                                                                        
Intents and Intent Filters https://developer.android.com/guide/components/intents-filters?hl=en
 - 
                                                                        
Start another activity https://developer.android.com/training/basics/firstapp/starting-activity?hl=ru
 - 
                                                                        
Interacting with Other Apps https://developer.android.com/training/basics/intents/
 - 
                                                                        
Sending the User to Another App https://developer.android.com/training/basics/intents/sending
 - 
                                                                        
List View https://developer.android.com/guide/topics/ui/layout/listview
 - 
                                                                        
Android List View http://www.tutorialspoint.com/android/android_list_view.htm
 - 
                                                                        
Grid View https://developer.android.com/guide/topics/ui/layout/gridview
 - 
                                                                        
Building Layouts with an Adapter https://developer.android.com/guide/topics/ui/declaring-layout#AdapterViews
 - 
                                                                        
Custom Adapter for List View https://stackoverflow.com/questions/8166497/custom-adapter-for-list-view
 - 
                                                                        
Hold View Objects in a View Holder https://developer.android.com/training/improving-layouts/smooth-scrolling#ViewHolder
 - 
                                                                        
Creating a tab layout with TabHost and TabWidget https://maxalley.wordpress.com/2012/10/25/android-creating-a-tab-layout-with-tabhost-and-ta
 - 
                                                                        
Create a List with RecyclerView https://developer.android.com/guide/topics/ui/layout/recyclervie
 - 
                                                                        
Shared preferences https://developer.android.com/guide/topics/data/data-storage#pref
 - 
                                                                        
Internal storage https://developer.android.com/guide/topics/data/data-storage#filesInternal
 - 
                                                                        
External storage https://developer.android.com/guide/topics/data/data-storage#filesExternal
 - 
                                                                        
Databases https://developer.android.com/guide/topics/data/data-storage#db
 - 
                                                                        
Save data in a local database using Room https://developer.android.com/training/data-storage/room/
 - 
                                                                        
Using Parcelable https://guides.codepath.com/android/using-parcelable#overview
 - 
                                                                        
Parcelable VS Java Serialization https://www.3pillarglobal.com/insights/parcelable-vs-java-serialization-in-android-app-development
 - 
                                                                        
AsyncTask https://developer.android.com/reference/android/os/AsyncTask
 - 
                                                                        
Loaders https://developer.android.com/guide/components/loaders
 - 
                                                                        
Settings https://developer.android.com/guide/topics/ui/settings
 - 
                                                                        
Fragments https://developer.android.com/guide/components/fragments
 - 
                                                                        
Action Bar https://startandroid.ru/ru/uroki/vse-uroki-spiskom/177-urok-107-android-3-actionbar-razmeschenie-elementov.html
 - 
                                                                        
Add the app bar https://developer.android.com/training/appbar/
 - 
                                                                        
Creating swipe views with tabs https://developer.android.com/training/implementing-navigation/lateral
 - 
                                                                        
Create a navigation drawer https://developer.android.com/training/implementing-navigation/nav-drawer
 - 
                                                                        
Handle navigation click events https://developer.android.com/training/implementing-navigation/nav-drawer#ListItemClicks
 - 
                                                                        
Services overview https://developer.android.com/guide/components/services
 - 
                                                                        
Broadcasts overview https://developer.android.com/guide/components/broadcasts
 - 
                                                                        
Notifications Overview https://developer.android.com/guide/topics/ui/notifiers/notifications
 - 
                                                                        
Firebase Cloud Messaging https://firebase.google.com/docs/cloud-messaging/
 - 
                                                                        
Perform network operations overview https://developer.android.com/training/basics/network-ops/
 - 
                                                                        
Connect to the network https://developer.android.com/training/basics/network-ops/connecting
 - 
                                                                        
Retrofit http://square.github.io/retrofit/
 
 - 
                                                                        
 
- 3632
 - 08 октября 2018, 15:01
 
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением