Android Tutorial - Learn Android Development

These step-by-step tutorials will help you in Android Development.

Guided Online Course

Android Online Course For Professionals

Learn the latest in Android and update yourself

Millions of developers are learning at MindOrks
Janishar AliAmit Shekhar
Instructors
Janishar Ali, Amit Shekhar

Android Online Course For Beginners

Start your career in Android Development

Millions of developers are learning at MindOrks
Himanshu SinghAmit Shekhar
Instructors
Himanshu Singh, Amit Shekhar

All Free Android Tutorials by MindOrks

Programming - Java & Kotlin
Learn the basics of Java programming language. The basics of Java programming language is a must for Android Development. To get the most out of the Kotlin, Java knowledge is necessary. Learn the basics of Kotlin programming language. As now, Kotlin is officially the first-class language for Android app development, learning Kotlin is very important.
LinkDescription
Java Tutorial For Beginners - Learn Java From BasicsIn this video series, we will learn how to get started with Java from basics.
Kotlin Tutorial - Learn KotlinIn this video series, we will learn how to get started with Kotlin from basics.
Why You Must Try Kotlin For Android Development ?Kotlin is a statically typed programming language for the JVM, Android and the browser.
Understanding open Keyword in KotlinWe will learn about open keyword in Kotlin. We will get to know how and when to use open keyword in Kotlin.
Learn Kotlin Visibility Modifiers — private, protected, internal, publicWe will learn about visibility modifiers in Kotlin. In Kotlin, we have four visibility modifiers i.e. private, protected, internal, and public. We have created a detailed tutorial on the same.
Learn Kotlin — Returns, Jumps & LabelsWe will learn the concept of labels and jumps in Kotlin. We will see the types of jump expressions that are used in Kotlin.
How to convert a Kotlin source file to a Java source file?We will learn how to convert a Kotlin source file to a Java source file. We will do the file conversion by two methods. So, let's see how.
Property, Getter, and Setter  - KotlinWe will learn about Property, Getter, and Setter in Kotlin. We have a detailed explanation of Getter and Setter In this blog.
Safe calls(?.) vs Null checks(!!) in KotlinWe will learn about Safe calls(?.) and Null Checks(!!) in Kotlin. Both are used to avoid NullPointerException in Kotlin. So, let's see how we can use these in our code.
@JvmStatic, @JvmOverloads and @JvmField in KotlinWe will learn how we can use the Kotlin code in our existing Java code with the help of @jvmStatic, @JvmOverloads and @JvmField in Kotlin.
How to create a singleton class in Kotlin?We will learn how to create a singleton class in Kotlin? If you don't know anything about the singleton class then don't worry, we will cover every part of the singleton class.
Companion object in KotlinWe will learn about the concept of companion object that is used to call the members of a class with the help of class name and not by making an instance of the class.
Code Formatting in Kotlin using ktlintWe will learn how to format your Kotlin code using ktlint in our project. ktlint is a tool that is used to check if our Kotlin code is according to the Kotlin code standards or not. If not, then it will format the code for you. So, let's learn how to do that.
Understanding Init block in KotlinWe will understand about init block and how can we use it.
Pair and Triple in KotlinWe will learn how to use Pair and Triple in Kotlin. Pairs and Triples can be used in Kotlin to return two or three variables of same or different types of variables, respectively.
ForEach in KotlinWe will learn about forEach in Kotlin. We will compare it to For Loop and make you understand by an example
Replace Switch with When in KotlinWe will learn how to use when instead of switch in Kotlin. We will see some examples to understand the usage of when in the best possible way.
Primary and Secondary Constructors in KotlinWe will learn about Primary and Secondary Constructors in Kotlin. Unlike other object-oriented languages, Kotlin has two types of constructors. So, We will learn how to use them.
Learn Kotlin — Extension FunctionsAs the name implies, the extension functions are the functions that help us to extend the functionality of classes without having to touch their code.
Learn Kotlin- Destructuring DeclarationsDestructuring is a convenient way of extracting multiple values from data stored in (possibly nested) objects and Arrays. It can be used in locations that receive data (such as the left-hand side of an assignment).
Learn Kotlin - Data ClassWe frequently create a class to do nothing but hold data. In such a class some standard functionality is often mechanically derivable from the data. In Kotlin, this is called a data class and is marked as data.
Learn Kotlin —  Sealed ClassesFrom the documentation: Sealed classes are used for representing restricted class hierarchies, when a value can have one of the types from a limited set, but cannot have any other type. They are, in a sense, an extension of enum classes: the set of values for an enum type is also restricted, but each enum constant exists only as a single instance, whereas a subclass of a sealed class can have multiple instances which can contain state.
Learn Kotlin —  apply vs withThere are many great features available in Kotlin, we can take advantage of all these features to write the better application in Kotlin. Among all those features, apply and with are important feature. We must know when to use which one.
Learn Kotlin —  lateinit vs lazyThere are many great features available in Kotlin, we can take advantage of all these features to write the better application in Kotlin. Among all those features, lateinit and lazy are important property initialization feature. We must know when to use which property initialization.
Android KTX - Android development with KotlinWe will learn how to implement the Android KTX feature of the Android Jetpack that was announced in the Google I/O 2018. We will learn how Kotlin will help us to write the same code and use the same APIs used in Java in a much easier and faster way.
Interfaces in KotlinWe will learn how to work with interfaces in Kotlin. We will learn how to have default implementations and many more.
FlatMap vs Map in KotlinWe are going to talk about FlatMap vs Map in Kotlin and how we can use these on collections. We will also see how to use them together on collections to serve our purpose.
Difference between List and Array types in KotlinWe will learn the difference between the List and the Array in Kotlin. We will see when to use List and when to use Array in Kotlin.
What is the equivalent of Java static methods in Kotlin?We will learn the equivalent of Java static methods in Kotlin. We will learn how to achieve the functionality of Java static methods in Kotlin because, in Kotlin, there is nothing known as static.
Using Scoped Functions in Kotlin - let, run, with, also, applyWe will understand the different Scoped functions that are used in Kotlin, what are the differences between each one of them and where to use these scoped functions correctly. let, run, with, also, apply.
What is the difference between const and val?We will find the difference between const and val in Kotlin. Developers generally get confused between these two terms. So, let's find out the difference.
How to check if a lateinit variable has been initialized?We will learn how to check if a lateinit variable has been initialized in Kotlin?
Android Studio
Learn how to use Android Studio which is the recommended IDE for Android Development by Google. Learn about Android Studio IDE Overview, Project Structure — Java/Kotlin, XML.
LinkDescription
Install Android StudioWe will learn how to install Android Studio in our system. We will learn how to download and install Android Studio in Windows, Mac, and Linux. Also, we will learn how to enable developer option in our mobile device.
Android Studio Tutorial For BeginnersThis tutorial is for those who are starting Android development and are facing some problem while using Android Studio.
Build your first Android application in KotlinWe will learn how to create and run your first Android application in Kotlin with the help of Android Studio. We will learn how to create an emulator in Android Studio and how to run applications on an emulator and on mobile devices.
Tips and Tricks of Android StudioWe will learn about some of the Tips and Tricks of Android Studio. This is very important because a machine can do a lot of things if the operator, operating the machine knows how to use it efficiently. Same is with Android Studio. Using some shortcuts will help us in making projects in a lesser time than ever.
Android Components
Learn about the Activity Lifecycle, Tasks & Back Stack, Service, Content Provider.
LinkDescription
Android Activity and its LifecycleWe will learn about Activities in Android. In this, we will learn how to create an activity and what is the lifecycle of activity in detail. We will also learn about Intents and how to navigate from one Activity to another.
How to implement Splash Screen in Android?We will learn about two ways to implement the SplashScreen. One is by using Handler and other is by using RxJava.
Using LocalBroadcastManager in AndroidWe will learn about LocalBoradcastManger. We will learn what the LocalBroadcastManager is and how we can use this in our Android project.
Service vs IntentService in AndroidWe will learn the difference between Service and IntentService. Services are used to perform some tasks in the background without using the UI of the application and at the same time, you can use other applications parallelly.
Understanding the Application Lifecycle in AndroidWe will learn about the Application life cycle in Android. We will learn how to make use of various application states that a particular application has in general.
Android Content Provider in KotlinWe will learn about Content Provider in Android. Content Provider is one of the Android Component helps to access data of other apps. We will be learning Content Provider implementation in Kotlin.
Android Task and Back Stack ReviewAndroid Activities are the logical construct of the screens that we want a user to navigate through. The relation that each Activity holds with respect to other is very crucial for a good user experience.
Intents
Learn about Intents and its types.
LinkDescription
What are intents in Android?We will learn about Intents in Android. Intents are used to communicate between various components in Android application. If you are new to Android then this is the must-read. Also, if you have done Application development in Android, then you will learn various new things about Intents. So, let's learn together the concept of Intents in Android.
Static User Interface
Learn about some of the Static User Interfaces such as Button, ImageView, TextView, EditText, and etc.
LinkDescription
Android User Interface — View ComponentsWe will learn about the Android User Interface. We will learn about various view components like Button, TextView etc provided by Android Studio. So, let's get started.
Android Layouts - Relative/Linear/FrameWe will learn about various layouts in Android. We will learn about LinearLayout, RelativeLayout, and FrameLayout. We will learn all these with the help of some examples.
Using Constraint Layout in AndroidGoogle introduced ConstraintLayout, a new layout for Android at their I/O developer event this year. ConstraintLayout combines a simple, expressive and flexible layout system with the powerful features built into the Android Studio Designer tool. It makes it easier to create responsive user interface layouts that adapt automatically to different screen sizes and changing device orientations.
Best Practices for Using Text in AndroidWe will learn some of the best practices od using text in Android. This is very important because we know that almost 70% of the application is covered by text. So, the performance of the application majorly depends on the texts present in it. We have created a detailed tutorial of the same.
Android TextView Decoration TutorialWe will learn how to decorate TextView in Android. We will use both XML and Kotlin code for TextView decoration. So, read this and use it in your Android project.
What is tools:context in Android layout files?We will learn about tools:context attribute that is present in every layout file by default.
Using Coordinator Layout in AndroidWe will learn how to use Coordinator Layout in Android. Coordinator Layout is super-powered FrameLayout that is used to handle the physical transactions or animations between various views present in a particular Activity.
AutoSizing TextView Implementation for AndroidWe will learn how to autosize the textview. We will learn how to make the TextView scalable according to the size of the container. We have created a complete tutorial of Autosizing the textview.
Dynamic User Interface
Learn about some of the Dynamic User Interfaces such as RecyclerView, ViewPager, and etc.
LinkDescription
Android ReyclerView in KotlinWe will learn about the RecyclerView in Android.
RecyclerView Multiple View Types in AndroidWe will learn how to use multiple view types in a RecyclerView in Android with a small Android Project.
Android ViewPager in KotlinWe will learn about the ViewPager in Android.
Exploring Android ViewPager2 in AndroidAs Google introduced a new ViewPager called the ViewPager2 with some cool features like vertical orientation, use of Recycler View and many more. So, We will explore the new ViewPager2 with its implementation as well .
Using Swipe-to-refresh in Android ApplicationWe will be learning the Swipe-to-refresh gesture that is being used in various application like the Facebook app or the Instagram app, where the user of the app refreshes the app according to their need.
Play with Flexbox-Layout for AndroidLearn about Google's library Flexbox layout for Android. FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
Android BottomSheet Example in KotlinWe will learn how to implement BottomSheet in Kotlin and handle all its callback.
Android Bottom Navigation Example in KotlinAndroid Bottom Navigation Example in Kotlin. How to implement the BottomNavigationView in Kotlin?
Android Navigation Drawer in KotlinWe will learn how to implement Navigation Drawer in Android with Kotlin.
Android Material Tabs in KotlinHow to create Material Tabs in Android in kotlin?
Navigation Drawer Android ExampleNavigation Drawer is the sliding menu that appears on the android screen with a hamburger menu icon in the ActionBar. The construction of it requires placing multiple views inside the navigation portion of the DrawerLayout.
Android View Evolution : PlaceHolderViewImplementing RecyclerView with dynamic content and adding listeners on each is a very irritating task. Let's leave animation alone, if we have to do it for nested Recyclers then it’s a nightmare.
Android Advance Image Gallery ExampleWe would be building a list of images with two types of views. One of the top with horizontal image list and below with vertical image list and apply animations on these view items as shown in the above display image....
Android Beginner Image Gallery ExampleThis example demonstrate creation of a list of images with animation using PlaceHolderView. For the sake of this example we will be placing our images in the drawable folder.
Android Expandable News Feed ExampleThis view is very different from the Android ExpandableListView in the sense that it’s based on PlaceHolderView which is based on RecyclerView. So, we have the power of reusing the views and managing the memory, that too is a very modular and simple interface.
Android Tinder Swipe View ExampleTutorial using PlaceHolderView: In this example we will develop views and architecture to simulate the Tinder Swipe.
Modifying Android Tinder Swipe View Example to support auto resizeThis thread is in continuation to the Android Tinder Swipe View Example. it modifies the example codes to auto fit various screen sizes. It also fixes the issue of card overlapping the like/dislike buttons and making them unclickable.
Android Infinite List with Load More ExampleWe will be building a news feed, which will simulate JSON data loading from the internet and then populate the list items.....
Using SnapHelper in RecyclerViewSnapHelper is a helper class that helps in snapping any child view of the RecyclerView. For example, you can snap the firstVisibleItem of the RecyclerView as you must have seen in the play store application that the firstVisibleItem will be always completely visible when scrolling comes to the idle position.
CustomView
Learn how to build Custom View in Android.
LinkDescription
Create your own Custom ViewWe will learn about the custom view and how to implement it as one. We will talk about each and every aspect of CustomView like onDraw(), onMeasure(), Why it is necessary and how simply you can create your own Views.
Understanding Canvas API in AndroidWe will see how we can use canvas to draw our own custom shape and drawings .
UI Resources
Design of UI in Android using styles, fonts, and etc.
LinkDescription
Understanding Density Independence Pixel: sp, dp, dip in AndroidWhat is the best measurement unit for designing for Android Screen? Density Independent Pixel, Scaled Independent Pixels, Density Pixels or Pixels.
Build Material and Dark Themes Apps Using Style in AndroidWe will learn how to build material and dark themes apps using styles in Android. We will see how we can change the look of the application just by writing some styles code for our application.
Implementing Dark Mode Theme in AndroidWe will learn how to implement the dark theme in Android app in Android Q
Color Palette API in AndroidWe will learn about the Color Palette API in Android. Here we will see how can we generate dynamic colors based on an image.
How to create a Transparent Activity in Android?We will learn how to create a Transparent activity in Android. By using Transparent activity, your app will be launched but nothing will be displayed in the background of the window.
Using SVG Vector Drawables in AndroidWe will learn how to use SVG Vector Drawables in our Android applications. By using SVG images in your app, you can use the same image or icon in every device size and you don't have to worry about the quality of images i.e. you don't have to add different size images for different size mobile devices.
Using Custom and Downloadable Fonts in AndroidWe will learn how to use custom and downloadable fonts in android that was introduced in Android 8.0. Now there is no need of writing some piece of code for using the fonts. Also you can choose from any of the thousands of fonts on Google Fonts and use them in your app.
Animations
How to add animation in Android App?
LinkDescription
Getting started with Lottie Animation in AndroidWe are going to understand how to get started with the Lottie Animation library in Android. We will learn and build an application using Lottie.
How to Add Uber Car Animation in Android App?We will learn how to add Uber-like Car Animation in Android App. We will be using Google Map for showing the Car moving from Origin to Destination.
Animation in Android - Android TutorialWe will learn how to use Animation in our Andoird Application. Animations are used to convey the message in a better way. It helps in improving the user experience. So, this is all about Animations in Android. So, let's learn about Animation.
Getting started with Motion Layout: Android TutorialsWe will learn how to use MotionLayout in Android. MotionLayout is a subclass of ConstraintLayout for building animations. Here you will learn how to apply animation without writing any java or kotlin code.
Fragments
Learn about the Fragment and its lifecycle in Android.
LinkDescription
Android  Fragments and its LifecycleWe will learn about the Fragments in Andorid.
How to communicate between fragments?We will learn how to communicate between various Fragments in our Activity. You can have more than one Fragments in your Activity and it becomes a necessary task to learn how to communicate between those Fragments. So, let's learn how we can do this.
Implementing DialogFragment in AndroidWe will learn how to implement a DialogFragment in our Android Application. A Dialog Fragment is a fragment that floats over some activity. One common example of Dialog is Alert Dialog. In the tutorial, we will learn how to make our own custom Dialogs.
Saving Fragment States with BottomNavigationViewWe are going to understand how to save the fragment states using BottomNavigationView in Android. This helps in avoiding the recreation of the fragments when the user switches between fragments using BottomNavigationView.
Support User Interface
Learn about more UI components like ProgressBar, WebView, and etc.
LinkDescription
How to download a file in Android and show the progress very easily?How to download a file in Android and show the progress very easily? Most of the time while developing Android Apps, we come across a common use-case that is to download a file in Android and show the progress in the progress dialog. At MindOrks, we have an open-source library PRDownloader that solves this problem very easily.
Android WebView — in kotlinWe will learn about the Android WebView.
Permissions in Android
Learn how to take Permission from user in Android.
LinkDescription
What are the different protection levels in Android Permission?We will learn different protection levels in permission in Android application. There are three protection levels i.e. Normal, Signature and Dangerous. We will learn about all these permissions.
Implementing Easy Permissions in Android: Android TutorialWe will learn how to implement Easy Permissions in Android. Easy Permissions are used to ask for permissions required by the application explicitly. These are used to ask users for permissions that are dangerous in nature and involves user privacy.
Understanding and Implementing Permission in Android QWe will understand the new privacy-based location permission in Android Q and how to implement it in your app.
Storage
Learn about the Android Storage System.
LinkDescription
Understanding Storage System To Store Data In AndroidWe will understand about the Android Storage System. We will learn about the Internal Storage, External Storage, Shared Preference, Database, and Shared Storage. We will also learn when to use which storage system in Android.
Understanding the Scoped Storage in AndroidWe will understand the concept of Scoped Storage in Android. It was introduced with Android 10 and it provides limited and the required storage access to the application. Let's learn more about it.
Android SharedPreferences in KotlinWe will learn about the Android SharedPreferences in Kotlin.
Implementing Preferences Settings Screen in AndroidWe will learn how to implement the Preferences Settings Screen in Android. Settings screen are used to change the functionality and behavior of a particular application without changing the system settings. For example, you can change the background of a particular application by using the Settings feature.
Android Room Persistence Library in KotlinRoom Database is an abstraction layer over the SQLite Database which helps us to reduce our work with the SQLiteOpenHelper class.
Android SQLite Database in KotlinSQLite database helps us to store the data in the database. Android comes with the built-in implementation of SQLite Database.
Powerful Android ORM: greenDAO 3 TutorialgreenDAO is an open source Android ORM making development for SQLite databases easy. It relieves developers from dealing with low-level database requirements while saving development time.
Git
Learn the Fundamentals of Git and GitHub.
LinkDescription
Fundamentals of Git and GitHub | TutorialIn this video tutorial, we will learn how to get started with Git from basics.
How to contribute to Open Source?How to contribute to Open Source?
Build
Learn about the build system in Android.
LinkDescription
Speed up Gradle build for Android to save your timeWe will talk about how can we speed up your gradle build to run it quickly and save your time
Building Android applications with Gradle — TutorialWe will learn how to use Gradle in Android to build some applications. We will learn some Gradle commands that can be used to perform various Gradle functions using the command line and not the Android Studio. Also, we will learn gradlew tasks and build variants.
Gradle Tips and Tricks for AndroidWe will learn some Gradle tips and tricks for Android. After reading this, you will be able to use various features of Gradle that will help you in developing an Android App faster than before.
Gradle for Android Developers - Getting the most of itWe are going to understand what Gradle actually is and how important a role it plays in Android Development. How can we get the most of it?
Threading
Learn about threading to execute several tasks in parallel.
LinkDescription
Understanding Android Core: Looper, Handler, and HandlerThreadLooper, Handler, and HandlerThread are the Android’s way of solving the problems of asynchronous programming. They are not old school, but a neat structure on which a complex android framework is built.
Using ThreadPoolExecutor in AndroidThis article will cover thread pools, thread pool executors, and their use within Android. We’ll cover these topics thoroughly, with lots of example code. A thread pool manages a pool of worker threads (the exact number varies depending upon how it’s implementation).
Java & Android Multithreaded Programming: Runnable, Callable, Future, ExecutorIn this blog we will write a complete Java program that simulates API call to fetch user recent activities including likes, comments, posts, and friends concurrently from a server using ThreadPoolExecutor, Callable, Future, and Runnable.See complete code here:
Run parallel tasks in Java or Android, and get callback when all completeWe will write a Java program that execute several tasks in parallel and then send a callback when all of those tasks completes.
Android Networking Bare Skin: Understanding JPostAndroid networking is typically very involved if you try to implement bottom-to-top. So, we rely on third-party libraries. But never understand what’s underneath it.
Advanced Kotlin
Learn more in Kotlin.
LinkDescription
Understanding Higher-Order Functions and Lambdas in KotlinThis article is for anyone who is curious about the higher-order functions and lambdas in Kotlin but has no idea what they are exactly. The goal is to make you understand what are higher-order functions and lambdas which means that there are few simplifications done while writing this. If you understand what higher-order functions and lambdas in Kotlin are, then my mission will be accomplished.
Mastering Kotlin Coroutines In Android - Step By Step GuideWe are going to master the Kotlin Coroutines in Android. We will cover what exactly Coroutines are and how they are useful. We will also go through the step by step guide on how to implement Kotlin Coroutines in Android. We will understand why there is a need for the solutions which Kotlin Coroutines provide. We will also talk about the scopes and the exception handling in Kotlin Coroutines.
Function literals with receiver in KotlinWe will learn about the function literals with receiver in kotlin. We will be learning about lambdas, higher-order functions and more
Mastering Kotlin DSL In Android - Step By Step GuideWe are going to learn how to write Kotlin DSL in your android project. We will also see a few examples of how to write custom DSLs in your project.
Understanding inline, noinline, and crossinline in KotlinWe are going to learn the inline, noinline, and crossinline keywords in Kotlin. We will understand when to use the inline, when to use noinline and when to use the crossinline in Kotlin depending on our use-case. Most of the time, we do mistake while using these keywords inline, noinline, and crossinline in Kotlin. Let's understand it clearly to use it properly.
What are Coroutines in Kotlin?Coroutines are great features available in Kotlin Language. I played with it and really liked it. Coroutines are light-weight threads. A lightweight thread means it doesn’t map on the native thread, so it doesn’t require context switching on the processor, so they are faster.
What is suspend function in Kotlin Coroutines?We are going to learn about the suspend function in Kotlin Coroutines. Suspend function is the building block of the Coroutines in Kotlin. It is important to learn about the suspend function. We will deep dive into the source code of Kotlin to understand it today.
Kotlin withContext vs Async-awaitWe are going to learn about the withContext and Async-await in Kotlin. We will also see how the withContext and Async-await differ from each other and when to use which one.
Room Database with Kotlin Coroutines in AndroidWe are going to learn how to use Room Database with Kotlin Coroutines. We will learn to write the code inside the ViewModel with Kotlin Coroutines that follows a basic MVVM Architecture.
Exception Handling in Kotlin CoroutinesWe are going to talk about how we can handle exceptions while using Kotlin Coroutines. We will discuss various ways to handle it efficiently in our Android project.
Parallel Multiple Network Calls Using Kotlin CoroutinesWe are going to learn how to make the multiple network calls in parallel using Kotlin Coroutines. We will learn to write the code inside the ViewModel with Kotlin Coroutines and LiveData that follows a basic MVVM Architecture. This will also help you in doing any type of background tasks in parallel using Kotlin Coroutines.
Unit Testing ViewModel with Kotlin Coroutines and LiveDataIn this article, we are going to learn how to write the unit-test for ViewModel with Kotlin Coroutines and LiveData that follows a basic MVVM Architecture. We will write the unit-test for the ViewModel which makes a network call and then, validate if our ViewModel is working as expected or not.
Using Retrofit with Kotlin Coroutines in AndroidWe are going to understand how to use Retrofit with Kotlin Coroutines in Android. Also, we will be understanding the suspend keyword and using LifeCycle scopes for Kotlin Coroutines.
A Complete Guide To Learn Kotlin For Android DevelopmentA Complete Resources and Tutorials To Learn Kotlin For Android Development At One Place.
What is Flow in Kotlin and How to use it in Android Project?What is Flow in Kotlin and How to use it in Android Project? In this blog we will learn what is the need of Flow in Kotlin and its explaination.
Creating Flow Using Flow Builder in KotlinWe are going to discuss the different types of flow builders and how to create Flow using Flow Builder. We will learn to create Flow with examples.
Understanding Terminal Operators in Kotlin FlowWe are going to learn about the Terminal Operators in Kotlin Flow. The Flow APIs in Kotlin Coroutines are very helpful when it comes to handling the stream of data.
Exception Handling in Kotlin FlowWe are going to learn about the Exception Handling in Kotlin Flow. We will also learn how to handle errors in the real-use of Android Development.
Kotlin Flow Retry Operator with Exponential Backoff DelayWe are going to learn about the Kotlin Flow retry and retryWhen operators and how to retry the task with exponential backoff delay using it.
Debugging
Learn how to solve bugs by debugging the code.
LinkDescription
How to access SQLite Database in Android for Debugging?We will learn how to access SQLite Database in Android for Debugging with the help of the Android Debug Database library. By using the Android Debug Database library, you can view/add/edit/delete values of the tables present in the database.
Measure Method Execution Time In Android Debug BuildWe will learn how to measure the method execution time in debug build of your application. Method execution time will help in reducing the time complexity of your method and this in return accelerates your Android App performance.
How to enable logging in OkHttp ?We will learn about how to log your API calls better using OkHttp . We will learn how to create our own custom Interceptor and log more.
Better Logging in Android Using TimberWe will be learning about a third party library which we use to log in android studio.
Debugging Android Databases And Shared Preferences In The Easiest WayDebugging your application is an important part of the Android Development. When it comes to debugging databases in an android application, it is very difficult to see what’s happening inside the database. The same is true with shared preferences.
Use StrictMode To Find Things You Did By Accident In Android DevelopmentAs long as we are human, we are bound to make mistakes. StrictMode is a developer tool which detects things you might be doing by accident and brings them to your attention so you can fix them.
Why Debugging is a Learning Opportunity For Developers?Let’s see why Debugging is a Learning Opportunity For Developers?
Memory Leak
Learn how to detect and fix memory leaks in Android.
LinkDescription
How to use Memory Heap Dumps data?We will learn how to use memory heap dump data to identify memory leaks in our application. A memory leak occurs when an object is present in the memory and that object is not being used in the program.
Understanding Memory Usage In AndroidWe will understand the Android memory usage. We will see how the memory usage of your application can increase or decrease your users. This contains detailed information about memory usage in Android.
Android Memory Leaks InputMethodManager SolvedMain Activity is not garbage collected even after finish because it is referenced by InputMethodManager indirectly.
Understanding Context In Android ApplicationWhat is Context? If we go by name, it’s the context of the current state of the application(object). It lets newly-created objects understand what has been going on. You can use the context to get the information regarding activity and application.
Detecting and fixing memory leaks in AndroidMany a time we see ANR dialog while using android apps, lags in our apps, we also see OutOfMemoryError in Android Studio while building apps. All these kinds of stuff happen due to memory leaks.
3rd Party Library
Learn how to use 3rd Party Libraries such as RxJava, Dagger, and etc.
LinkDescription
RxJava Anatomy: What is RxJava, how RxJava is designed, and how RxJava works.RxJava has become the single most important skill for Android development. Most of you must have worked with it in some form, either in your own codebase or through other third party libraries, like Fast Android Networking and Retrofit.
A Complete Guide To Learn RxJavaA Complete Resources To Learn RxJava At One Place. RxJava is used for reactive programming. In reactive programming, the consumer reacts to the data as it comes in. Reactive programming allows for event changes to propagate to registered observers. As we know that the RxJava is the most important library for Android Projects. So we must have a proper grip on using RxJava in the Android Projects.
Understanding Types Of Observables In RxJavaObservable, Operator and Observer. An Observable is like a speaker which emit value. It does some work and emits some values. An Operator is like a translator which translate/modify a data from one form to another form. An Observer gets those values.
Implement Search Using RxJava OperatorsNowadays, most of the applications that we use in our daily life come with a search feature which provides us a facility to get things very quickly we are looking for. So, having a search feature is very important. And, we as a developer have a responsibility to implement it in a better way.
RxJava Operators Tutorial - Learn by ExamplesI believe there is an operator for everything in RxJava. We are going to learn RxJava operators by examples in which we will cover some typical problems in Android and its solution using the RxJava operators.
Error Handling in RxJavaWe will learn how to handle errors in RxJava. We would be understanding various ways to handle the error and will also see a real-life example for better understanding.
Understanding RxJava Create and fromCallable OperatorWe are going to learn the RxJava Create and fromCallable Operators. We will understand when to use the Create operator and when to use the fromCallable operator depending on our use-case. Most of the time, we do mistake while using RxJava Operators. Let's understand it clearly to avoid the mistake.
RxJava Operator - Map Vs FlatMapRxJava has so many operators. In order to use them correctly, we must know about them. Here, We will discuss the Map and the FlatMap.
Understanding RxJava Defer OperatorWe are going to learn the RxJava Defer Operator. We will understand when to use Defer operator depending on our use-case. Most of the time, we do mistake while using the RxJava Defer Operator. Let's understand it clearly to avoid the mistake.
Understanding RxJava Timer, Delay, and Interval OperatorsWe are going to learn the RxJava Timer, Delay, and Interval Operators. We will understand when to use Timer operator, when to use Delay operator and when to use Interval operator depending on our use-case.
Understanding RxJava Zip Operator With ExampleWe are going to learn the RxJava Zip Operator with an example. Zip combine the emissions of multiple Observables together via a specified function and emit single items for each combination based on the results of this function. We will also see the advantages of Zip Operator.
Implement Caching In Android Using RxJava OperatorsImplement Caching In Android Using RxJava Operators with three data sources as memory, disk, and network. First, we need to understand why caching is useful? Caching is very useful in the following situations: Reduce network calls, we can reduce the network calls by caching the network response. Fetch the data very fast, we can fetch the data very fast if it is cached.
RxJava Operator - Concat Vs MergeRxJava Operator - Concat Vs Merge. RxJava has so many operators. In order to use them correctly, we must know about them. Here, we will discuss the Concat and the Merge Operators.
RxJava + Fast Android NetworkingFast Android Networking now supports RxJava. Let’s explore why RxJava support is important. RxJava is used for reactive programming. In reactive programming, the consumer reacts to the data as it comes in. Reactive programming allows for event changes to propagate to registered observers.
OkHttp Interceptor - Making the most of itWe will learn how to work with the OkHttp Interceptors. We will also see the real use cases where we can use it and how we can use it to get the most of it. In Android, we have so many use-cases that can be done using the OkHttp Interceptors.
Implement Pagination In RecyclerView Using RxJava OperatorsIn this blog, learn how to implement Pagination in RecyclerView using the RxJava Operators.
Migrating from RxJava 1.0 to RxJava 2.0 and Learn RxJava by ExamplesThis article will help you learn RxJava 2.0 by example. It will also show you how to migrate from RxJava 1.0. If you are just getting starting with RxJava, here’s a sample project to learn it with examples. You can dive right in, build the project, and start learning.
Understanding RxJava Subject — Publish, Replay, Behavior and Async SubjectThis article is all about the Subject available in RxJava. A Subject is a sort of bridge or proxy that is available in some implementations of ReactiveX that acts both as an observer and as an Observable.
Implementing EventBus With RxJava — RxBusRxBus implementation with RxJava2. So, let’s see how we can create RxBus using RxJava 2. First of all, We must have the knowledge of subject in RxJava. For that you can refer my previous article on RxJava Subject.
RxPS — RxJavaPriorityScheduler — A RxJava Priority Scheduler library for AndroidOverview of RxPS — RxJavaPriorityScheduler.
The Best Android Networking Library for Fast and Easy NetworkingFast Android Networking Library (supports all types of HTTP/HTTPS request like GET, POST, DELETE, HEAD, PUT, PATCH). Why should you use Fast Android Networking Library? How to use the Fast Android Networking library?
Why do we use the Dependency Injection Framework like Dagger in Android?We are going to see why do we use the Dependency Injection Framework like Dagger in Android. We will also see how can we give our configuration to the framework.
A Complete Guide To Learn Dagger 2Dagger 2 is a dependency injection for Android. Dagger 2 is a dependency injection (DI) framework. Dependency Injection in build upon the concept of Inversion of Control. Which says that a class should get its dependencies from outside. In simple words, no class should instantiate another class but should get the instances from a configuration class.
Introduction to Dagger 2, Using Dependency Injection in Android: Part 1Dependency Injection in build upon the concept of Inversion of Control. Which says that a class should get its dependencies from outside. In simple words, no class should instantiate another class but should get the instances from a configuration class.
Introduction to Dagger 2, Using Dependency Injection in Android: Part 2This is the part 2 of the article series. In part 1 we understood the need and advantages of dependency injection. We also got an overview of Dagger 2. In this part, we will focus on implementing the DI using Dagger in an android app.
Android Dagger 2: Critical things to know before you implement. Dagger 2 in a Dependency Injection framework for Android. I assume the reader is familiar with Dagger and it’s usage pattern in Android for the sake of this Article.
Dependency Injection with Dagger2 AdvanceIt is an advanced version of dagger2 which will help in the interview.
Dependency Injection with Dagger2A detailed description of DI and dagger2
Dagger Hilt Tutorial - Step by Step GuideWe are going to see how to work with Dagger-Hilt, the new dependency injection library based on top of Dagger with a step by step guide. Dagger-Hilt is recommended by Google for dependency injection in Android.
Downloading and Showing Image with Glide Library in AndroidWe will learn how to use Glide for downloading and showing images in our Android application. Basically, Glide library downloads the image and store it into your cache or local memory and uses it when needed in future.
Getting Started with Retrofit using Kotlin and RxJava - Android Networking LibraryNetworking is one of the primary components of any Android application. There are a lot of good libraries out there that helps in making networking fairly easy for us. In this article, I am going to provide you the essential setup and concepts required to build an Android application using Retrofit with RxJava and Kotlin
PRDownloader — A File Downloader Library For AndroidPRDownloader: A file downloader library for Android with pause and resume support.I recently published a library, which I believe to be the simplest way to handle downloading in Android with pause and resume support. Overview of the PRDownloader library.
MindOrks Android StoreSearch Android Libraries, Projects, and Tools.
Kotlin Koin - Android Tutorial for Beginners - Step By Step GuideWe are going to learn about Koin by implementing it in a project. We will learn step by step implementation of Koin and its usage.
Data Format
Know more about the Data Format like JSON, XML, and etc.
LinkDescription
Parsing JSON in AndroidWe will learn how to do JSON parsing in Android. JSON parsing is done to get the data that is present in the form of JSON i.e. you will fetch the desired data from the JSON file in your Android Application by using JSON parsing. We will learn each and every concept of JSON parsing.
Processing and Parsing XML in AndroidWe will learn the concept of XML parsing in Android. XML parsing is used to get the data from the XML format files in our Android Application. Various websites use XML format to represent the data. So, in order to get that data in our application, we need to parse the XML file. We will cover every aspect of XML parsing.
Why Android developers should consider FlatBuffers over JSONFlatBuffers vs JSON-You may be asking - why use new tools if we already have standard JSON, JSON-parser like GSON, and Jackson. Well, give FlatBuffers a try and you’ll find that they’re significantly faster than JSON.
Android Jetpack
Build better application using Android Jetpack.
LinkDescription
Using Jetpack Compose to build UI in AndroidWe will build and learn how to Use Jetpack Compose to build UI in Android. We will learn how to setup and work with it. We will also discuss how to make few other components as well
Integrating Work Manager in AndroidWe will talk about how to integrate the work manager in your android project and much more advanced feature and customization which makes your life easy in scheduling tasks.
Understanding LiveData in AndroidWe will learn about LiveData which is used to notify the observers associated with it if there is a change in the LiveData. Normally, the UI elements are notified when there is a change in data. Also, only that observers will be notified that are in Live state. So, let's explore this.
Observe event only once using SingleLiveEventWe will learn how to using SingleLiveEvent to emit data only once whenever required. This is useful when we want the data to be only emitted once like in the case of Snackbar, navigation. We will use the case of Snackbar to understand better.
Shared ViewModel in Android: Shared between fragmentsWe will learn about ViewModel which is a part of Android Jetpack. This ViewModel is used to store the UI related data to have a consistent flow of data even when the UI changes. We will also learn how to share data between fragments using ViewModel.
Implementing Android Jetpack PreferencesWe will learn how to implement Preferences in Android. Preferences are a part of Android Jetpack and are used to implement in-app settings. So, by using Preferences, you can change the behavior of your app without changing the system's settings. Let's get started.
Paging 3 Android TutorialIn this blog, we will learn how to use paging 3 library in our android project. We will also see how we can use it with Coroutines and RxJava.
Implementing Paging Library in AndroidWe will learn how to implement Paging Library in Android. Paging Library is used to get only a selected amount of data out of a heap of data i.e. at a particular instant of time only the desired amount of data will be loaded in the application. This feature is very important for applications using infinite scrolling. We have created a full tutorial for Paging.
LiveData setValue vs postValue in AndroidWe will learn about LiveData and the methods that are used to update the value of the LiveData i.e. setValue() method and postValue() method. We will look at the difference between these two methods. So, let's get started.
Implementing Android SliceIn this blog, you will learn about Android Slice and how to implement it. We have learned a basic way to implement a slice and how to work with it.
LiveData vs ObservableField in AndroidWe will talk about LiveData vs ObservableField in Android. We will also talk about the differences and also compare them.
Getting Started With CameraX Jetpack Support LibraryIn this blog, you will learn how to use camera-x support library to build your next generation camera app.In this app we will be building a Camera app from scratch.
ViewModel with SavedStateWe will learn about using SavedState in ViewModel. This is the part of Android Architecture Component. You will learn how to Persist ViewModel state across process recreation.
What are Android Architecture Components?What are Android Architecture Components? As the Android Jetpack components are a collection of libraries that are individually adoptable and built to work together while taking advantage of Kotlin language features that make us more productive.These software components have been arranged in 4 categories in which one of the categories is Architecture Components.
What is Android Jetpack and why should we use it?What is Android Jetpack and why should we use it? Benefits of Android Jetpack. Build high quality, robust apps using the Android Jetpack. Android Jetpack is a collection of Android software components which helps us in building great Android apps.
Use ViewModelScope For Less Boilerplate Code With CoroutinesWe will learn how to use the ViewModelScope for less boilerplate code with coroutines.
State Management in Jetpack ComposeWe are going to learn how to manage state in Jetpack Compose. We will also see different ways to handle state with examples.
Using Constraint layout in Jetpack ComposeWe are going to learn how to use constraint layout in Jetpack Compose to design our UI.
Architecture
Learn how to build Android App using Architecture.
LinkDescription
MVVM Architecture - Android Tutorial for Beginners - Step by Step GuideIn this blog, first, we are going to learn about the MVVM architecture in Android and then we will build a project with MVVM architecture. This is for beginners who want to get started with the MVVM architecture.
Mastering Design Patterns in Android with KotlinWe will learn about various Design Patterns in Android that will make our code cleaner and easier to understand. We will learn about Creational, Structural, and Behavioural pattern in Android. So, let's master them and write the code in better way.
Essential Guide For Designing Your Android App Architecture: MVP: Part 1Android framework does not advocate any specific way to design your application. That in a way, make us more powerful and vulnerable at the same time.
Essential Guide For Designing Your Android App Architecture: MVP: Part 2This is the second part of the article series. In the first part, we developed the concept of MVP and worked out a blueprint for the android application architecture.
Essential Guide For Designing Your Android App Architecture: MVP: Part 3 (Dialog, ViewPager, and Adapters)During the course of this development, many of you inquired about the implementation of Dialogs and Adapter based views in this architecture. So, I am writing this article to explain the place-holding for these.
Android MVP Architecture Extension with Interactors and RepositoriesSometime back I wrote a series of articles on the design of MVP architecture for Android. The project was very well received in the community and hundreds of companies and developers added the architecture in their applications.
MVC vs MVP vs MVVM architecture in AndroidThis blog is to explore the knowledge of MVC, MVP and MVVM architecture in Android and know how they differ - MVC vs MVP vs MVVM.
How to build a Modular Android App Architecture?We will learn how can we Build a Modular Android App Architecture. We will learn about dynamic-feature and dynamic delivery. We will also learn how can we use a library module to modularise the app's architecture
MVI Architecture - Android Tutorial for Beginners - Step By Step GuideIn this blog, first, we are going to learn about the MVI architecture in Android, and then we will build a project with MVI architecture. This tutorial is for beginners who want to get started with the MVI architecture.
Unit Testing
Learn more about Unit Testing.
LinkDescription
Using Mockito in Android Unit Testing as a ProWe will learn about how to use mocking as a pro in Android unit testing. You will learn how to set up and perform the test using it
Mockito cannot mock because : final class in KotlinWe will talk about how we can mock the final class using Mockito. By default, we can't mock the final classes using mockito. Here In this blog, I have talked about multiple ways to test final classes.
Firebase
Explore Firebase and its Services.
LinkDescription
Push Notifications in Android Using FCMWe will learn using Push Notifications in Android Device using FCM. We will learn how to integrate the push notification feature in the app from scratch and handle the message as well.
Firebase Realtime Database: Android TutorialWe will learn about Firebase Realtime Database. With the help of an example, we will see why should we use Firebase Realtime Database in our project.
Implement In-App Purchases in AndroidWe will talk about how to implement and setup you android app for in app purchase.
Firebase Login and Authentication: Android TutorialWe will learn how to login and authenticate in our Android application with the help of Firebase. We will cover each and every part of authentication using Firebase. So, let's learn together.
Getting Started with Firebase RemoteConfig in AndroidWe will learn about the firebase Remote Config feature in Android. By using Firebase Remote Config, we can bring some updated in the App like some color change in the app, without publishing any update of the app on the Play Store. We will cover this topic by doing one example also.
Security
Make your application more secure.
LinkDescription
Applying Proguard In An Android ApplicationProGuard is a tool used to minify, obfuscate, and optimize the code in an Android application.
Things to care while using Proguard in Android applicationWe will learn about the things that we should know before using Proguard in Android application. Proguard is used to minify, obfuscate and optimize the Android code. So, we created a list of things that you should know before using Proguard.
Using R8 to reduce APK size in AndroidWe will learn how to reduce the APK size in Android by using R8. Small-sized applications are more likely to be downloaded by the users as compared to the large sized APKs. So, let's find how to reduce the APK size.
How to encrypt data safely on device and use the AndroidKeystore?We will learn how to encrypt data safely in Android device and how to use Androidkeystore. We will learn about key encryption, file encryption, and how to encrypt SharedPreferences.
Securing API Keys using Android NDK (Native Development Kit)We will learn how to secure our API Keys that are used in Android applications using the Android NDK (Native Development Kit). We have created a detailed tutorial of securing the API Keys.
Integrating Android Google’s reCAPTCHA in Android AppWe will learn how to implement Google's reCAPTCHA in our Android application. reCAPTCHA is used to verify if the user is a Human Begin or some robot or bot.
App Release
Make your app production ready.
LinkDescription
Android App Release Checklist For The Production LaunchSo, you have been waiting for this special day while doing a lot of hard work on your application, now you are going to release your Android application in the production but you are thinking if there is something I am missing or forgetting. Then, this is the ultimate release checklist for you.
How to release a bug-free Android App in production?We will be talking about the few things which you can do to keep bugs as less as possible.
Implementing in-app updates on AndroidWe will learn about the in-app update feature in your Android app. In-app update is a feature that is used to download the update of the app without using the play store. We will see how to use the flexible and immediate in-app update in our app.
How to reduce APK size in androidRecently we have released an Android application called Correctify. Then, many of the folks started asking us that how this application size can be less than 2.5 MB. Then, I thought to write this article to answer it. There is nothing special, we only have to follow the simple and standard things.
How to create multiple apk files for android applicationToo many android devices and much more to come and among them, various different CPU architectures and different screen densities devices are there. Making single apk with all device compatible, increases your apk size, as it has resources for every device.
Interview
Prepare yourself for your next interview.
LinkDescription
Android Developer should know these Data Structures for Next InterviewWe are going to cover all the data structures which are must for any Android Developers when it comes to cracking the interview and knowledge both. Although there are many more to learn, we will cover the most used and the most frequently asked in Android Interview.
Android Developer Interview Preparation Guide - Cracking the Android InterviewAndroid interview preparation guide for Android developers.
Android Interview QuestionsYour Cheat Sheet For Android Interview - Android Interview Questions.
Keep Learning and Improving
Explore more in Android.
LinkDescription
MindOrks Youtube ChannelBecome Pro in Android by watching videos.
Learn to write good code in Android: Starter PatternWe will learn how to write good code in Android by using the Starter Pattern. Starter pattern is used to write codes in such a way that there is no bug or runtime error while launching an Activity. So, use Starter Pattern and stand out from the crowd.
Understanding Image compression in AndroidWe will understand how image compression works in Android. We will see the working of PNG, Vector Drawables, JPEG and WebP. So, let's learn image compression in Android.
Using MediaPlayer to play an Audio File in AndroidWe will learn how to use MediaPlayer to play an audio file in Android. We will learn about different states present in the MediaPlayer and will also implement it. So, feel the music.
Getting started with Android NDK: Android TutorialWe will learn how to use Android NDK. We will learn the use of native codes i.e. C and C++ in Android development. So, let's learn about Android development in a native way.
Integrating Expression Search in Android appWe will learn how to integrate expression search in Android application. We will learn how to use GIFs for better user communication in our application. We will cover every aspect of it.
Using Android Sensors: Android TutorialWe will learn how to use Android Sensors. There are various sensors present in our Android device and we can use them in our application. For example, we can use the temperature sensor in some weather app. So, let's learn about Android Sensors.
Improving Android app performance with BenchmarkingWe will learn how to improve Android app performance with Benchmarking. Benchmarking is a way to measure the code that you have written for your app. For the process of benchmarking, we have one library called Jetpack Benchmark. So, we will lean each and everything related to benchmarking.
Authentication Using Fingerprint In Android - TutorialWe will learn how to authenticate in Android applications with the help of fingerprint. Fingerprint Authentication is the best way for authentication because you need not worry about remembering the password and it is a very fast process also. So, let's see how we can do this in our application.
Easy SMS Verification in Android: SMS User Consent APIWe will learn how to implement SMS verification using the SMS User Consent API in Android. This API is used to read only the message containing the verification code and will automatically extract the code from the message by taking permission from the user with the help of a prompt.
What are the differences between Dalvik and ART?We will see the difference between Dalvik and ART in Android.
How to check the visibility of software keyboard in Android?We will learn how to check the visibility of software keyboard in Android.
Migrating to 64 bit Architecture in AndroidRecently Google announced that in Aug'19 Apps on the PlayStore should provide the subsequent version of 32-bit native libraries in 64 bit. 64 bit is supported since Android 5 (Lollipop) days. We will be learning how can we migrate an app from 32 bit to 64 bit.
How to programmatically take a screenshot on Android?We will learn about how can we take a screenshot of the particular view we are into.
How to open a PDF file in Android programmatically?We will learn how to open a PDF file i.e. Portable Document Format file in Android programmatically. Since PDF files are the most used document file format, so, using a PDF file in our application can be a good way of displaying some documents in our application. Let's find, how to open a PDF file in Android programmatically.
Understanding Activity Aliases in Android To Preserve Your LaunchersWe will learn the concept of Activity Aliases in Android. Activity Aliases are used to preserve the Launchers whenever there is a change in the Launcher Activity name. Generally, when we create a shortcut on our home screen and if we change the Launcher Activity, then the shortcut will be removed from the home screen. So, let's find how to deal with this.
Activity Recognition in Android — Still, Walking, Running, Driving and much moreWe will learn how to use the Activity Recognition API in our Android Application. The Activity Recognition API is used to determine the Activity that a user is doing at a particular instant of time like walking, running, driving, still, etc.
Implementing Bubbles in AndroidWe will learn how to use Bubbles in Android. Bubbles are a new feature introduced in the Beta version of Android Q. These are used to display notifications of any application over some other application and you can launch any activity by using these Bubbles, something like Facebook Messenger's app.
Using GPS, Location Manager in Android: Android TutorialWe will learn how to update the location using the GPS of a mobile device. Firstly we will look upon some of the important things that should be kept in mind to use Google map and after that, we will perform an example to live track the user location.
The powerful tool DiffUtil in RecyclerView - Android TutorialWe will learn about DiffUtil in RecyclerView. How it is good from the traditional way of using RecyclerView. We will discuss in details
What is Lint? What is it used for?We will learn about Lint. Lint is a code scanning tool present in Android Studio that identifies the error in our code and suggests some changes in our code. Before publishing our app, we should use lint for our project. In this blog we will learn how to use lint in a more smarter way.
Using Drag-Drop in Android ApplicationsWe will learn how to use the drag and drop feature in our Android app. Drag and Drop feature is used to move one view from one place to other. This will help in moving the UI and the data associated with that item also.
Using Exoplayer to play Video and Audio in Android like a ProWe will learn how to use ExoPlayer like a pro. ExoPlayer is a library used to play audio and video in Android apps. You can customize the ExoPlayer according to your needs. And due to this feature, the Youtube app is also using ExoPlayer for video streaming.
Exploring Edge to Edge Feature in Android QWe will talk about how to use the Edge to Edge feature of Android Q This will help the user to explore the complete width and height of the device.
Understanding Multidex in AndroidWe will learn how to use Multidex in Android. Basically, Multidex is used when we want to add more than 64K methods in our Android project. If we don't use any Multidex for project having more than 64K methods, then we will encounter DEX error. So, We will learn how to use Mulidex to improve functionalities in our App.
Getting Started with ShareSheet in Android QWe will understand how to integrate the share sheet in our application and how it is different from DirectShare API which was launched in Android M. This tutorials covers the detail and step by step explanation to integrate it.
Understanding Settings Panels in Android QWe will understand the new setting panel which released in Android Q. With Google launching Android Q, Lot of exciting features has also popped up. One amazing feature is Location Service usage and few more.
Android Browser: Let’s Launch Chrome Custom Tabs with KotlinGoogle had launched a library called chrome custom tabs. As a developer, we have an option to open an in-app browser for better user experience. Chrome Custom Tabs helps us to open web URLs within the context of our app using an installed chrome browser.
Android SearchView in Room Database in KotlinHow to implement SearchView inside Room Database?
All About Android Development In 2018What happened to Android development in 2018. Android has changed a lot in 2018. Let's see what actually happened in 2018.
Android App Performance Tips (Smooth Running Android App)Tips to make better android app (No lags now … only smooth running UI)
Android Activity “launchMode” Explained , Must know for Android Development.What happens , when we add this launchMode tag in an activity of Android application.
Awesome Android Complete References At One PlaceAwesome Android Complete Reference Link
Using Bitmap Pools in AndroidImage heavy applications have to decode many images, so there will be continuous allocation and deallocation of memory in application. This results in frequent calling of the Garbage Collector (GC). And if you call the GC too many times, your application UI freezes.
Comparing Android NDK and RenderScriptThe Native Development Kit (NDK) is a set of tools that allow you to leverage C and C++ code in your Android app. You can use it to build from your own source code, or to take advantage of existing prebuilt libraries.
Creating Custom Annotations in AndroidAnnotations are Metadata. And Metadata is a set of data that gives information about other data. So in this case, annotations are essentially just information about your code.
Android Development Useful ToolsOver the years, these are the Android development tools I’ve found most useful. I consistently use these tools to build apps. I recommend you take a look at them and see whether they’re a good fit for your tool chain.
Amazing Open Source Android AppsBy using and examining open source apps, you can learn how to build better apps yourself. The following are my picks for the top open source Android projects. I’ve found these helpful in proving my own ability to ship better production apps. From the source code of the below projects, you’ll be able to learn a ton of best practices for Android development.
Android Development Best PracticesLet’s explore some best practices in designing and developing Android apps. For starters, when you develop an Android application, you should prepare it to be run on a wide variety of devices and circumstances. Every Android device is a family in itself. When one member of the family goes haywire, it means the rest of the family is also likely to be affected.
Android App Optimization Using ArrayMap and SparseArrayThis article will show why and when to use ArrayMap and SparseArray to optimize your Android Applications. Whenever you need to store key -> value pairs, the first data structure that probably comes to mind for accomplishing this is HashMap. HashMap is quite flexible, so it may be tempting to use it all over the place, without really thinking about their possible side effects.
Android Code Style And GuidelinesBy following standard coding style and guidelines, we can build a better android application. If you follow a standard coding style in android, it will be easier for you and also for others to understand your code easily.
Awesome Android Open Source LibrariesBest Android Open-Source Libraries. As you know that using third-party libraries in your projects can save you a lot of time and also make the projects bugs-free. The main reason behind is that the open source projects are being developed by the whole community of developers with love.
Google Releases The Developer Preview Of Android Things (IOT)What is Android Things? Android Things allows developers to build a smart device using Android APIs and Google Services. This takes the usual Android development stack — Android Studio, the official SDK, and Google Play Services — and applies it to the IoT.
Android Things Tutorials — Getting StartedAndroid + Internet Of Things = Android Things. This article is completely about getting started with Android Things application and how to build an Android Things application?
Battery Optimization for Android AppsReducing battery usage in an android application. Battery Usage Reduction is also an important part of an android development as this optimization will ultimately lead to retain the user, as many times the user uninstall the application because of the battery draining issue.
Android App Performance MetricsThis article is completely about the metrics that you should measure continuously while android application development. This metric is very important as it tells, how your android application is being experienced by the end user.
Android TensorFlow Machine Learning ExampleMachine Learning: Integrating Tensorflow in Android
Creating Custom Model For Android Using TensorFlowHow to train custom model for Android using TensorFlow.
Improve Your Android Coding Through AnnotationsAnnotations are Metadata. And Metadata is a set of data that gives information about other data. There are many ways in which annotations can be used. But, here we will talk about how the annotations can be used to improve our android coding.
Why use Facebook’s Android Device Year Class Library?Year Class Library by Facebook. Building for the next billion users using the Year Class Library. This library is very important.
How To Learn Android DevelopmentHow to learn Android app development? Here, I have tried to cover most of the important things in the Android Development that I have learned the hard way. Learning Android Development is a step by step process, so must learn it step by step. So this guide will also show how to learn android app development step by step.
Android Interview QuestionsYour Cheat Sheet For Android Interview Questions. I am very fortunate to have the experience of taking interviews of many Android Developers. In the whole process, I have learned a lot and also cracked the interviews of top companies including startup and MNC.
Android Package Name Vs Application IDCreating multiple APKs for different purposes. Nowadays, many times we come to the situation that we need the APK with another different package name. Most of us do it easily, but sometimes we got stuck because of applicationId and packageName.We must know the difference between packageName and applicationId.
How The Android Image Loading Library Glide and Fresco Works?I am writing this article to share my knowledge which I have learned the hard way. In Android, working with images(bitmaps) is really difficult as the application goes out of memory(OOM) very frequently. OOM is the biggest nightmare for the Android developers.
How To Become A Complete Android DeveloperA complete guide to become a complete Android Developer. How to be an expert android developer? I have met many great Android developers all around the world. I have learnt a lot from them and tried to collect things that we should know to become a complete Android Developer.
The New Dagger 2 Android InjectorHow to use the new Dagger 2 Android Injector? This article is all about implementing the new Dagger 2 Android Injector in an Android application. The new dagger 2 is released with the Android support module and the Android compiler.
I have 1 year of experience in Android. Now What?Friends, many of you asked me this question, so I thought of writing this as an article to answer this good question so that most of us get benefited. Let’s start, how we all have started the Android Development. We all use to write the whole code in the single class that is Activity either it’s data fetching or any type of logic.
How Voice And Video Call Works?Voice over Internet Protocol (VoIP) is one of the most popular standards for voice and video calling over the web. This post is all about how the voice and video call works on the high level. We all use voice and video on the various platform like WhatsApp, Skype, Messenger, Facebook, and etc.
Handle SSL(Https) Certification Path Exception for Java ApplicationsAs a java developer, if you have not been stung by the below-mentioned exception while running a Java application developed by you on your machine that hits an SSL server (https), then be prepared to get a nasty experience at some point of your coding journey.
Best Articles on Android That We Published In 2017Top articles on Android that are actually worth reading. First of all, I must say that I am very fortunate to have the readers like you. It encourages me to share my knowledge with you and at the same time, I am learning from you.
Android Annotation Processing Tutorial: Part 1: A practical approachAnnotation processing has become one of the most important language features in the modern Java programming. Java supports annotation processing from its release of Java 5. It generates files during the compile time.
Android Annotation Processing Tutorial: Part 2: Project StructureWe will build a project as a complete library implementation. The reader will be able to develop his own library similar to ButterKnife, Room etc.
Android Annotation Processing Tutorial: Part 3: Generate Java Source CodeOur library will generate a wrapper class that will help to map the views and clicks listeners for an activity.
Android Annotation Processing Tutorial: Part 4: Use The Generated CodeIn this final part of the series, we will see the usage of the generated code while annotation processing.
Implementing MergeAdapter In AndroidWe are going to learn how to implement a merge adapter and how can it help us to design a list in multiple view types in an easy way. We will also learn how to add different adapters in merge adapter
How to increase Push Notification Delivery Rate in Android?We will learn how to increase the Push Notification Delivery Rate in Android? All the application developers face problems in delivering the notifications. So, we will see how to increase this delivery rate.
Using local.properties file to avoid API Keys check-in into Version Control SystemThis tutorial describes how to use the local.properties file in the Android Gradle system to avoid local or user-specific information such as API keys to be checked into the Version Control System.
Generate global code coverage report in android development using JaCoCo pluginThis tutorial will give detail information about generating the global code coverage report for the tests written using Espresso or RoboElectric frameworks.
How to deobfuscate an Android stacktrace using mapping file ?We are going to learn how to retrace your stacktrace using the mapping file with detailed steps.
Using Shimmer Effect Placeholder in AndroidWe will demonstrate how to use Shimmer in your Android application. We will be fetching the data from the API using the Fast-Android-Networking and then displaying the data in the RecyclerView. So let’s get started!

Android Development Online Course For Professionals

Android Development Online Course For Beginners

Learners From Our Courses Work At
logo googlelogo facebooklogo microsoftlogo gojeklogo directilogo uberlogo olalogo zomatologo paytmlogo hikelogo rakutenlogo zolandologo swiggylogo makemytrip