Цель заброшена
Автор не отписывался в цели 5 лет 9 месяцев 6 дней
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/
-
- 3230
- 08 октября 2018, 15:01
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением