Requirements-to-get-a-Job
It's a list of things that allow me to be employed as a Junior Developer!
1. Introducing Android OS and Components
Introducing Support Library
Introducing Gradle build system
2. Android general overview
Debug tools, Profiling
Android Project Structure
Device Compatibilty
Permissions
3. Base Application components Overview: Activity, Service, Broadcast Receiver, ContentProvider
Activity. Lifecycle (most popular callbacks to use and their specifics) and backstack
Services. Lifecycle. Foreground Service, Background Service and restrictions, Bound service.
Context and memory leaks (reasons with examples)
Intent, IntentFilter
Broadcast Receiver, Broadcast Manager. Say about limitations and specifics
Content Sharing
ContentProvider (brief overview)
4. Fragment Fragment Lifecycle
Fragment Manager
Ways to add Fragment
Nested Fragments
Retain Fragments
Fragment's communication
5. Views and Layouts Introducing Android UI System
View Hierarhy
LayoutInflater
Popular Layouts (FrameLayout, LinearLayout, few words about RelativeLayout)
Views (TextView, Button, ImageView)
View Lifecycle, Custom Views
Touch Events
ButterKnife
WebView
Drawer, ViewPager
ActionBar, Toolbar, Options
AdapterView, RecyclerView
CoordinatorLayout, ConstraintLayout
6. Resources and configuration Resources overview
Locales, Screen sizes
Vector
7. Theme and Styles Material Design Basics
Style
Themes
DayNight Themes
Animation Framework. Animating Views and Fragments
8. Patterns
9. Multithreading Processes and Application Lifecycle
AsyncTask (brief overview)
ThreadPool, ThreadPoolExecutor
Looper, Handler
Application Lifecycle (Process lifecycle)
Doze and App Standby. Power management restrictions.
WorkManager. JobScheduler, AlarmManager and GcmNetworkManager. Where and when to use.
10. Persistence Types of storage (Internal, External)
SQLite
Shared Preferences
Content Providers (FileProviders)
ORM overview
11. Networking Necessary permissions
Connectivity
Gson
Moshi
OkHttp
Retrofit
12. Architecture principles General Architecture principles
MVP
MVVM
Clean Architecture
13. Third party libraries RxJava (overview onNext, onComplete, onError)
Dagger 2
Room
LiveData
ViewModel
14. Support Library and Play Services Support Library overview
Play Services overview
15. Android Testing Unit Test
Mocking frameworks
Instrumental Tests
UI tests (Espresso, Robolectric)
16. Play market and Firebase Play Market overview
Publishing Application
Firebase overview
Proguard
17. Notifications Notification overview
Push notifications GCM/FCM
Notification Topics
Notification Channel (Android O)
Remote Notification
Firebase Notification