Java for Android
visit websiteJava is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere (WORA)
Why is this technology on hold?
Google heavily pushes towards Android development in Kotlin. All new samples and libraries nowadays are written in Kotlin, and old documentation is gradually translated into Kotlin. Besides Google, we also see a lot of advantages in using Kotlin over Java, which is why we are not writing new code in Java anymore.
Related technologies
Kotlin
Kotlin is a modern programming language that makes developers happier. Initially started as language to run on the JVM, it quickly gained popularity among Android developers, and got another boost as Google made it the default programming language for Android.
Useful language features / libraries
Kotlin Coroutines
Asynchronous or non-blocking programming is the new reality. Whether we're creating server-side, desktop or mobile applications, it's important that we provide an experience that is not only fluid from the user's perspective, but scalable when needed.
There are many approaches to this problem, and Kotlin takes a very flexible one by providing Coroutine support at the language level and delegating most of the functionality to libraries, much in line with Kotlin's philosophy.
As a bonus, coroutines not only open the doors to asynchronous programming, but also provide a wealth of other possibilities such as concurrency, actors, etc.
https://kotlinlang.org/docs/reference/coroutines-overview.html
Mockk
TDD can lead to more modularized, flexible, and extensible code. The use of the mock object design pattern contributes to the overall modularization of the code because this pattern requires that the code be written so that modules can be switched easily between mock versions for unit testing and "real" versions for deployment.
Koin
A pragmatic lightweight dependency injection framework for Kotlin developers. Written in pure Kotlin, using functional resolution only: no proxy, no code generation, no reflection.