Clean Architecture mobile Android supplement with strained principles

Authors

  • Н.O. Kozub Luhansk Taras Shevchenko National University, Starobilsk, Ukraine
  • Yu.H. Kozub Luhansk Taras Shevchenko National University
  • H.A. Mohylnyi Luhansk Taras Shevchenko National University, Starobilsk, Ukraine
  • A.V. Zhukov Luhansk Taras Shevchenko National University, Starobilsk, Ukraine

DOI:

https://doi.org/10.33216/1998-7927-2021-269-5-5-10

Keywords:

Android, Kotlin, CLean Architecture, Kotlin Coroutines, Android Jetpack, Dependency Rule, pattern, Dependency Injection

Abstract

In the article the existing methods of developing a mobile Android application using the principles of CLean Architecture in order to optimize the architecture of software products at the start of the project are considered. The conceptual approaches and principles of Clean Architecture are studied, the possibility of building Android-applications according to the layered scheme according to which layers are connected by the Dependency Rule dependence rule is considered. The Android application “Lucky Days - Lunar Calendar” uses Android Studio based on the source code of the IntelliJ IDEA Community Edition product and the Kotlin programming language, which runs on top of the JVM and is compiled into JavaScript. The application codes for the I/O stream are shown, which demonstrates the use of the coroutine.In addition to the capabilities available in IntelliJ IDEA, Android Studio has implemented a new unified subsystem for building, testing, and deploying applications, which is based on Gradle tools and supports the use of continuous integration tools. The description of the program interface is given, the fragments of the codes responsible for the most important functions are resulted. It also includes advanced refactoring tools, compatibility checks with past releases, performance issues, memory usage monitoring, and usability assessment, tailored to the Android platform. A quick edit mode has also been added to the editor. To simplify the design of the application, we used the Android Navigation library from the Jetpack set and created a graph of connections between the application windows. A SQLite database was created and archived for the mobile application, and an EventBus with a set of functions was implemented to organize communication between unrelated parts of the application. Examples of Event-class and State-class codes used in the developed application are given. The proposed method of creating rational code that meets the principles of Clean Architecture, namely the separation of business logic from the display of list items is implemented for the development of Android-application.

References

1. Robert C. Martin. The Clean Architecture. URL: https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html (дата звернення: 20.06.2021);

2. Architecting Android...The clean way? URL: https://fernandocejas.com/2014/09/03/architecting-android-the-clean-way (дата звернення: 03.06.2021);

3. Мобільний додаток “Lucky Days - Lunar Calendar” : URL: https://play.google.com/store/apps/details?id= com.zhukovartemvl.luckydays (дата звернення: 01.06.2021);

4. Жуков А. В., Козуб Г.О. Розробка мобільного додатку за допомогою мови програмування Kotlin та сервісу Firebase. Тенденції та перспективи розвитку науки і освіти в умовах глобалізації : зб. наук.праць Міжнар. наук.-практ. інтернет-конф. Переяслав, 2019.Вип №52. С. 273 –275;

5. Kotlin Programming Language. URL: https://kotlinlang.org (дата звернення: 05.06.2021);

6. Coroutines Overview. URL: https://kotlinlang.org/docs/reference/coroutines-overview.html (дата звернення: 05.06.2021);

7. Android Jetpack. URL: https://developer.android.com/ jetpack (дата звернення: 06.06.2020);

8. Android Studio. URL: https://developer.android.com/studio?hl=ru (дата звернення: 14.06.2021);

9. Android Navigation. URL: https://developer.android. com/guide/navigation/ (дата звернення: 10.06.2021);

10. Iotable RecyclerView. URL: https://github.com/ AlexGladkov/iotable (дата звернення: 14.06.2021);

11. Dropbox. URL: https://www.dropbox.com (дата звернення: 15.06.2021);

Published

2021-09-10