Build android application for basic level with:
1. MVVM with unidirectional data flow
2. Retrofit for hit api from https://newsapi.org/
3. Koin dependencies injection
4. Kotlin coroutine
5. No edit screen record
Notes:
Simple app
News Api
URL
```
https://newsapi.org/v2/top-headlines?...
```
Category
```
technology,
science
```
Setup dependencies
Retrofit (networking)
Coroutine (asynchronous lib)
Koin (dependencies injection)
Setup networking and data layer
Create webservices
Create data response with plugin JsonToKotlin
Nullable
Gson serializer
Setup retrofit provider
Setup koin module for provide webservices instance
Create Koin provider
Bind koin provider into the Application
Create Repository in domain and data layer
Setup data domain (entity)
Non-nullable for avoiding nullable in view layer
Default value
Immutable property
Create mapper for map `News Response` into `News`
Setup koin module
Setup ViewModel
Convert `Flow` from repository into `LiveData` for observer in view
Setup dependencies for provided `asLiveData()`
Setup koin module
Setup simple view
Observer live data in activity
Check result in text view
Run on emulator
Render result in recyclerview
Setup recyclerview
Add recyclerview in layout
Create item layout for each news
Create view holder for each news item
Setup Glide Library dependencies for image networking
Change `annotationProcessor` with `kotlin-kapt`
Create news adapter
Create auto notifier instead of `notifyDataSetChanged`
Change `addNews` to kotlin style
Setup in activity
Create clickable item
Restructure app package
Next?
View binding
State Event (MVI)
Kotlin extensions util
Copyright background sound:
- - - -
Almost in F - Tranquillity by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 license. https://creativecommons.org/licenses/...
Source: http://incompetech.com/music/royalty-...
Artist: http://incompetech.com/
- - - -
Fluidscape by Kevin MacLeod is licensed under a Creative Commons Attribution 4.0 license. https://creativecommons.org/licenses/...
Source: http://incompetech.com/music/royalty-...
Artist: http://incompetech.com/
- - - -