NewsFeed-MVI-Dagger
所属分类:collect
开发工具:kotlin
文件大小:0KB
下载次数:0
上传日期:2020-03-26 08:10:39
上 传 者:
sh-1993
说明: kotlin内置Android新闻应用程序:MVI+Dagger+NetworkBoundResource+ViewModel+Livedata。,
(Android News Application built in kotlin: MVI+Dagger+NetworkBoundResource+ViewModel+Livedata.,)
文件列表:
.idea/ (0, 2020-03-26)
.idea/codeStyles/ (0, 2020-03-26)
.idea/codeStyles/Project.xml (3567, 2020-03-26)
.idea/codeStyles/codeStyleConfig.xml (142, 2020-03-26)
.idea/gradle.xml (748, 2020-03-26)
.idea/kotlinCodeInsightSettings.xml (201, 2020-03-26)
.idea/markdown-navigator-enh.xml (4493, 2020-03-26)
.idea/markdown-navigator.xml (2998, 2020-03-26)
.idea/misc.xml (199, 2020-03-26)
.idea/vcs.xml (180, 2020-03-26)
app/ (0, 2020-03-26)
app/build.gradle (5156, 2020-03-26)
app/proguard-rules.pro (751, 2020-03-26)
app/src/ (0, 2020-03-26)
app/src/androidTest/ (0, 2020-03-26)
app/src/androidTest/java/ (0, 2020-03-26)
app/src/androidTest/java/com/ (0, 2020-03-26)
app/src/androidTest/java/com/android/ (0, 2020-03-26)
app/src/androidTest/java/com/android/myapplication/ (0, 2020-03-26)
app/src/androidTest/java/com/android/myapplication/newsfeed/ (0, 2020-03-26)
app/src/androidTest/java/com/android/myapplication/newsfeed/ExampleInstrumentedTest.kt (696, 2020-03-26)
app/src/main/ (0, 2020-03-26)
app/src/main/AndroidManifest.xml (962, 2020-03-26)
app/src/main/java/ (0, 2020-03-26)
app/src/main/java/com/ (0, 2020-03-26)
app/src/main/java/com/android/ (0, 2020-03-26)
app/src/main/java/com/android/myapplication/ (0, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/ (0, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/BaseApplication.kt (380, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/ (0, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/NewsApi.kt (1264, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/data/ (0, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/data/ArticleNetwork.kt (634, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/data/SourceNetwork.kt (504, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/responses/ (0, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/responses/HeadlinesResponse.kt (513, 2020-03-26)
app/src/main/java/com/android/myapplication/newsfeed/api/responses/SourcesResponse.kt (335, 2020-03-26)
... ...
# NewsFeed-MVI-Dagger
## Project Overview
NewsFeed, provides live top and breaking headlines for a country, specific category in a country, single source, or multiple sources, by interacting to [News API](https://newsapi.org/)
## Screenshots
![Headlines](https://user-images.githubusercontent.com/51857962/77375276-1e23cd80-6dc1-11ea-9e38-69da7f95a66e.png) ![headline_dialog](https://user-images.githubusercontent.com/51857962/77375281-211ebe00-6dc1-11ea-9e73-d1a97f362fda.png) ![Sources](https://user-images.githubusercontent.com/51857962/77375284-25e37200-6dc1-11ea-965c-1915ad1d78b4.png) ![source-articles](https://user-images.githubusercontent.com/51857962/77375290-2976f900-6dc1-11ea-8a05-4423bdb36a3b.png) ![favorites](https://user-images.githubusercontent.com/51857962/77375294-2bd95300-6dc1-11ea-8d97-0c081ed41224.png)
## API Key Note
**Define key in build.gradle**
In your Android studio root directory, locate the `gradle.properties` under `.gradle` folder and add the following:
Add `NEWS_APIKEY = "YOUR-API-KEY"`.
## Language
[Kotlin](https://kotlinlang.org/)
## Features
- MVI with Android Architecture Components(Room, LiveData, ViewModel)
- Leverage `NetworkBoundResource`
- `Dagger2` for Dependency injection architectural pattern
- Discover the top headlines news in a country
- Look for top headlines news based on Sources and categories
- Users can mark an article as favorite in the details view by tapping a heart icon
- Pagination and endless scrolling using custom pagination.
- Handle network status and network failures
- ConstraintLayout(guidelines, barriers... etc)
- ViewPager2
- Material design.
- Custom Navigation Controller for Multiple navigation graph
- Bottom Navigation Bar
- `Kotlin Coroutines`
## Libraries
- [AndroidX](https://developer.android.com/jetpack/androidx/) - Previously known as 'Android support Library'
- [Glide](https://github.com/bumptech/glide) - for loading and caching images
- [Retrofit 2](https://github.com/square/retrofit) - Type-safe HTTP client for Android and Java by Square, Inc.
- [Gson](https://github.com/google/gson) - for serialization/deserialization Java Objects into JSON and back
- [Dagger 2](https://dagger.dev/) - for dependency injection
- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/)
- [Room](https://developer.android.com/topic/libraries/architecture/room)
- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel)
- [LiveData](https://developer.android.com/topic/libraries/architecture/livedata)
- [Navigation](https://developer.android.com/guide/navigation?gclid=CjwKCAiA-vLyBRBWEiwAzOkGVLT4zk8NhxWujb6P4i-NUdcw4U3hWy5gKcnTkHE3IgE18_dayy7bBRoCxtYQAvD_BwE)
- [Material Design](https://material.io/develop/)
## External Resources
- [CodingWithMitch/courses](https://codingwithmitch.com/courses/)
**NewsFeed uses the News API but is not endorsed or certified by NewsApi.**
近期下载者:
相关文件:
收藏者: