Category Archives: ANDROID

Data Binding in Android – Using Observables (BaseObservable) to Update UI automatically

By | January 24, 2017

In the last example, you may have got an idea of what DataBinding is. If not please check my tutorial here… Simple DataBinding in Android Example. Updating Objects using Observables. In the last tutorial you may have noticed, if you update the object which is data binded, the change is not reflected in the UI… Read More »

Using GSON in Android – Simple Demo

By | January 18, 2017

GSON is open source Java library developed by Google. It is an API for converting a Java object to json representation and viceversa. Uses Converts any Java object i.e new object or any existing/legacy object, to JSON and vice-versa. Finest support for generic objects Simple, convenient methods for conversions No need of any annotation for… Read More »

Android Navigation Drawer Simple Example

By | March 6, 2017

Navigation Drawer helps developers for creating easy menus in an application. Lets start to see how it works. We will start by creating a new project with a navigation drawer activity. Adding Navigation Drawer Activity If you want to add Navigation Drawer Activity to your existing project you can simply add it by going to… Read More »

Simple DataBinding in Android Example.

By | January 15, 2017

This is a latest technique in Android where the UI is updated when the data bind to it changes, which is called databinding. DataBinding DataBinding has its own expression language for layout files. It corresponds to Java expressions and has quite impressive capabilities. Below you can see the list of all available operators: mathematical operators;… Read More »

How to call Android function from JavaScript?

By | December 30, 2016

Check the Video below to see what we are going to do… If the web page you plan to load in your WebView use JavaScript, you must enable JavaScript for your WebView. Once JavaScript is enabled, you can also create interfaces between your application code and your JavaScript code. Enabling JavaScript JavaScript is disabled in… Read More »

Loading webpages using JavaScript in Android WebView / Executing JavaScript functions from Android

By | January 10, 2017

I think everyone has checked my previous post on how to improve Android WebView performance. If not, check it here Improve Android WebView Perfomance Now we will see how we can load a webpage textfields with our custom values in Android WebView. For this I am using a sample HTML file which is stored in… Read More »

Understanding Shared Element Transition in Android.

By | December 27, 2016

Hi all, In Today’s tutorial we will see how we can do a shared element transition between activities in android. What we will do. We have two activities First activity has a TextView and two images. Second activity with two images. We will animation between corresponding images. Check out the video below to see what… Read More »

Material Design Circular Reveal Animation Demo in Android.

By | January 9, 2017

Material Design has changed the way users interact with the apps. Reveal is a new animation introduced in Android L that animates the view’s clipping boundaries. Reveal animations provide users visual continuity when you show or hide a group of UI elements. This animation is often times used in conjunction with a floating action button.… Read More »

Important Steps to improve WebView Performance in Android

By | December 20, 2016

A Quick note on WebView A View that displays web pages. This class is the basis upon which you can roll your own web browser or simply display some online content within your Activity. It uses the WebKit rendering engine to display web pages and includes methods to navigate forward and backward through a history,… Read More »

Introduction to Android Canvas – Simple Example

By | December 17, 2016

The Canvas can be used to draw graphics in android. It provides methods to draw oval, rectangle, picture, text, line etc. The Paint class is used with canvas to draw objects. It holds the information of color and style. In this example, we will draw some 2D Shapes. We will create class that extends View… Read More »

How to Solve No matching client found Error in Android Studio

By | November 23, 2016

No matching client found Error usually comes when you are using the FireBase SDK in your project. This is because you are missing the the ‘google-services.json’ file in your project. You may have added it, but in the wrong path. Android Studio will try to search for it in the ‘app’ directory. The Solution is… Read More »

Android studio : Gradle project sync failed error – How to Solve

By | November 23, 2016

This is the most common errors that we see in Android Studio and very often it is easy to fix. Just follow these simple steps File -> Invalidate caches / Restart Shutdown Android Studio Rename/remove .gradle folder in the user home directory Restart Android Studio let it download all the Gradle stuff it needs Gradle… Read More »

How to create a simple repeating Job using JobScheduler in Android.

By | July 23, 2018

JobScheduler class is used to schedule Jobs in Android. JobScheduler was added recently in API 21, so below that it will not work. Here is a simple example… Create JobScheduler Service We need to create the JobSchedulerService class at first. AndroidManifest Just like a service, we need to add this service in the AndroidManifest. Create… Read More »

onRequestPermissionsResult not called on Fragments in Android

By | June 21, 2022

This is a common mistake that people make when coding for marshmallow. When in AppCompatActivity, you should use ActivityCompat.requestPermissions; When in android.support.v4.app.Fragment, you should use simply requestPermissions (this is an instance method of android.support.v4.app.Fragment) If you call ActivityCompat.requestPermissions in a fragment, the onRequestPermissionsResult callback is called on the activity and not the fragment. If you… Read More »

Custom SeekBar in Android With Labels in Bottom.

By | January 16, 2017

In this article I will be making a SeekBar as shown in the below screenshot. CustomSeekBar Class We will create a custom class for creating the custom Seekbar. I named it “CustomSeekBar.java” Usage Here is the layout. This is how you use it in your Activity. You are adding the CustomSeekbar to a LinearLayout. So… Read More »

Simple Example on using CAMERA Access permission in versions greater than Android Marshmallow.

By | December 28, 2018

Below example asks for camera permission in versions greater than Android Marshmallow. Watch Video Tutorial Add Camera permission to the manifest For asking for permission you can call like this. To Check if the user has permission to access camera.   Now the Callback if the User has performed any action. if the user clicks… Read More »

Analysing, Inspecting and Generating Code Reports using SonarQube in Android Studio

By | July 5, 2016

SonarQube, formerly known as Sonar, is a platform to analyze code quality. Installing SonarQube Go to http://www.sonarqube.org/downloads/ and download the latest release. Unzip the archive to the directory of your choice. Starting SonarQube Go to your downloaded SonarQube. Open bin/[folder corresponding to your OS] Open up a terminal window and navigate to bin/[folder corresponding to… Read More »

CRUD Operations in SQLite using SQLiteOpenHelper – Android

By | June 29, 2016

We do SQLite operations in Android by extending the SQLiteOpenHelper Class. I will create an Employee table with three fields id name company. I have a model class same as the database table Employee. Employee.java Lets see How we can do the CRUD (Create, Read, Update and Delete) Operations. CREATE We create a class that… Read More »

Geofencing in Android, A Simple Example.

By | February 12, 2017

What is Geofencing? Geo-fencing is a feature in a software program that uses the global positioning system (GPS) or radio frequency identification (RFID) to define geographical boundaries. A geofence is a virtual barrier. Today we will discuss how we can implement Geofencing in Android with a single location. First You need to provide the permissions… Read More »