Need help with Android-CleanArchitecture-Kotlin?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

android10
3.1K Stars 647 Forks 271 Commits 71 Opened issues

Description

This is a movies sample app in Kotlin, which is part of a serie of blog posts I have written about architecting android application using different approaches.

Services available

!
?

Need anything else?

Contributors list

# 314
Java
Android
android...
android...
265 commits
# 164,253
archite...
kotlin-...
Kotlin
archite...
1 commit
# 124,846
dalvik
Android
Shell
archite...
1 commit
# 162,756
Kotlin
dagger-...
archite...
kotlin-...
1 commit
# 164,266
archite...
kotlin-...
Kotlin
archite...
1 commit
# 164,211
archite...
kotlin-...
Kotlin
archite...
1 commit

banner

Android - Clean Architecture - Kotlin Build Status codecov

The purpose of this repo is to follow up Clean Architecture principles by bringing them to Android. It is worth saying that the idea is to take advantage of the Kotlin Programming Language features plus also pull in lessons learned and ideas from other interesting aproaches like Functional Programming.

Blog post with implementation details explanation:

Architecting Android… Reloaded

Android - Clean Architecture - Java:

There is another Android Clean Architecture repository written in Java: https://github.com/android10/Android-CleanArchitecture with really nice discussions: https://github.com/android10/Android-CleanArchitecture/issues. Article, lessons learned and some more material coming up. Check the following known bugs and TODO list.

Other material worth reading:

Architecting Android…The clean way?

Architecting Android…The evolution

Tasting Dagger 2 on Android

Clean Architecture…Dynamic Parameters in Use Cases

----------------------------------------------------------------------------------------------

Sample app

----------------------------------------------------------------------------------------------

Clean Architecture

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

Android 3 Layers Architecture

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

UI Layer: MVVM

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

Data Layer: Repository

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

Local Development

Here are some useful Gradle/adb commands for executing this example:

  • ./gradlew runApp
    - Builds and install the debug apk on the current connected device.
  • ./gradlew compileApp
    - Builds the debug apk.
  • ./gradlew runUnitTests
    - Execute unit tests (both unit and integration).
  • ./gradlew runAcceptanceTests
    - Execute acceptance and instrumentation tests in the connected device.
  • ./gradlew runTestCoverage
    - Reports code coverage on tests within the Android codebase.
  • ./gradlew runStaticCodeAnalysis
    - Run static analysis on the Android codebase.

Discussions

Refer to the issues section: https://github.com/android10/Android-CleanArchitecture-Kotlin/issues

Code style

Here you can download and install the java codestyle. https://github.com/android10/java-code-styles

License

Copyright 2018 Fernando Cejas

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

https://fernandocejas.com

Buy Me A Coffee

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.