Nowadays, Kotlin Coroutines introduce an advanced and efficient approach of concurrency design pattern, which can be used on Android to simplify asynchronous codes. Moreover, a suspending function asynchronously returns a single value, but the critical question is how can we return multiple asynchronously computed values? In Kotlin coroutines, a flow is a type that can be able to emit multiple values sequentially like receiving live updates from a database, as opposed to suspend functions that return just only a single value. This article aims to discuss the main concepts, entities, and async possibilities in Kotlin flow.
Basically, asynchronous programming can be considered as an indispensable issue in advanced Android apps because as an Android developer you have to manage expensive and heavy tasks away from UI thread. Nowadays, Kotlin Coroutines introduce an advanced and efficient approach of concurrency design pattern, which can be used on Android to simplify asynchronous codes. As a matter of fact, this approach is much more simple, comprehensive, and robust in comparison with other approaches in Android. This article aims to discuss some key concepts, functions, and classes of Kotlin Coroutines in Android development.
Fundamentally, asynchronous programming is a means of parallel…
As a matter of fact, Kotlin is a general-purpose, statically typed, and open-source programming language. A recent study by Google represents that developers who adopt Kotlin are, on average, 50% more likely to be satisfied with their programming language. Besides, currently, more than 70% of the top 1000 apps in the Google Play store include Kotlin code. This article will discuss some critical concepts, features, and best practices in using Kotlin for building modern Android apps.
Basically, Kotlin is a general-purpose, statically typed, and open-source programming language. It runs on Java Virtual Machine (JVM), and also it can be used…
Basically, Android notification provides information for users, and it can be an effective way for communicating with them as well. Besides, Android notifications become visible to users in various locations and formats, such as an icon in the status bar, a more detailed entry in the notification drawer, a badge on the app’s icon, and on paired wearables in a self-directing way. This article aims to discuss some advanced features and best practices in using Android notification.
A notification is a message, which you can be able to show to the user outside of your application’s normal UI. Notifications appear…
As a matter of fact, a fragment is a reusable class that implements a portion of an activity in Android development. Fragments can be able to provide modularity and reusability into your activity’s UI by allowing you to separate the UI into discrete pieces. Furthermore, Android Jetpack has been announced by Google recently as a set of libraries, tools, and guidance for modern Android development. This article will discuss some advanced features and improvements in using fragments, which have been designed by Google for Android developers.
As we know, fragments were introduced in Android Honeycomb API level 11 as micro…
As you know, a growing interest to Machine Learning forced the companies to focus and invest on it. Machine Learning (ML) is the major of computational science, which focuses on analyzing and interpreting patterns and structures in data to enable learning, reasoning, and decision making outside of human being interaction. Furthermore, Machine Learning is a programming approach that provides your Android apps the capability to learn and improve automatically from previous experience. As a result, Google has designed and implemented a number of advanced features and tools for Android Machine Learning. …
Nowadays, Google has announced some new features for user engagement and business success such as Google Play Instant and Android App Bundle. Google Play Instant enables native Android apps and games to launch on devices running Android 5.0 or higher without being installed. Furthermore, with the introduction of the Android App Bundle, developers can be able to build smaller apps and smoother deployment process automatically. Another point is that the App Bundle format introduces Dynamic Features. Dynamic Features allow you to modularize specific features, and then deliver them to your users on-demand. …
As a matter of fact, writing high-quality code for high-complexity Android applications needs considerable effort and experience. Even though an application should meet the customer’s requirements, it must be flexible, testable, and maintainable. To face some challenges and problems in software development, Clean Architecture has been represented. Clean Architecture is a software design philosophy that separates the elements of a design into ring levels. Nowadays, Google has announced Android Architecture Components that includes a new set of libraries. This can be useful for designing robust, testable, and maintainable Android apps by following Clean Architecture principles. …
As a matter of fact, Android Studio is the official integrated development environment for Google’s Android Operating System (OS) that has been built on JetBrains’ IntelliJ IDEA. Nowadays, the stable version of Android Studio 4.1 has been released by Google, which addresses common editing, debugging and optimization use cases. This essay aims to discuss some new features of Android Studio 4.1 that are vital for developing modern apps.
Basically, Android Studio is the official integrated development environment for Google’s Android Operating System (OS), built on JetBrains’ IntelliJ IDEA software. …
As you know, testing your Android app plays a vital role in development process. After running tests on your app, you can be able to verify your app’s correctness, functional behavior, and usability before the releasing process. There are a number of tools and methods in Android testing. However, nowadays, Google has announced AndroidX Test, which brings some advanced features and capabilities into this way. This essay aims to discuss some main concepts and ideas in Android testing in recent years.
As a matter of fact, testing your app is a key factor of the app development process. By running…
Senior Android Developer/Technical Writer/Researcher/Artist https://www.linkedin.com/in/kayvan-kaseb