Category: Android

Singleton class  which is created in java for  global point of view. Singletons are useful to provide a unique source of data or functionality to other Java Objects. In android Singleton class creates only one instance.

Benifit  to use of Singleton class in android:

Purpose to use  Singleton class is control to create number of object  creation in project and limiting the number of objects.

Suppose you made a app to play song through service,In this case you can use singleton class concept.Inwhich media player declare in service as a globally and use media player in any where of app,by using concept of singleton class concept.Means you create object of singleton class in activity inwhich you want to use singleton class value .And use mediaplayer globally you don’t need to create another object of media player.

Here is the process to use Singleton class:

This is Arraylist which is globally declare in Singleton class

public ArrayList<String> arraylist  = new ArrayList< String >();
Singleton class is:

// File Name: Singleton.java

    public class Singleton {
private static final Singleton instance = new Singleton();
public ArrayList<SubCatogry_Pozo> arraylist = new ArrayList<SubCatogry_Pozo>();
// /* A private Constructor prevents any other    * class from instantiating.    */
public Singleton() {
}

/* Static ‘instance’ method */
public static Singleton getInstance() {
return instance;
}
}

Here is  SubCatogry_Pozo  is  your pozo class of app.And arraylist which is globally declared in singleton class and use this arraylist through singleton class object.

And then use this singleton class in any activity in project ,To use this Singleton class in another Activity just create object of Singleton class

//Create object of Singleton class
Singleton singleton =Singleton.getInstance( );

And use arraylist through object of Singleton class i.e.

singleton. arraylist.add(value);

value which you want to add in arraylist and here is class inwhich you want to use arraylist of singleton class.

// File Name: MainActivity.java

public class MainActivity extends Activity{

Singleton singleton =Singleton.getInstance( );   

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
   singleton. arraylist.add(value);

}

}

The Singleton class maintains a static reference to the  singleton instance and returns that reference from the static getInstance() method.

Read More Singleton class

Android Mobile Development

Dialog box is a small window that prompts the user to make a decision or enter additional information. A dialog does not fill the full-screen and is normally used for modal events that require users to take an action before they can proceed.

And a Custom-dialog-box is same as dialog-box only difference is that in custom dialog-box you design dialog-box  on  your requirement. For Example- create dialog-box to enter four digit OTP number  in Which  you  take  four edit Text  with  equal distance to enter password and take one  “submit “ button.

 To create Custom-dialog-box follows step-by-step:

i)First create a new project in android studio and design layout for dialogBox.

 Android Layout File:

XML file, for custom  dialog.

File : res/layout/custom_dialog.xml

To, design layout you set  accordingly  margin,padding-left,right,top and bottom,height and width etc.

<LinearLayout

android:id=“@+id/layout_header”
android:layout_width=“match_parent”
android:layout_height=“44sp”
android:background=“@color/light_green”>

<TextView
android:layout_width=“match_parent”
android:layout_height=“44sp”
android:gravity=“center”
android:text=“Enter One Time Password”
android:textColor=“@color/white”
android:textSize=“@dimen/dm_20sp” />

</LinearLayout>
<LinearLayout
android:id=“@+id/layout_otp”
android:layout_width=“match_parent”
android:layout_height=“@dimen/dm_90sp”
android:layout_below=“@+id/layout_header”
android:orientation=“horizontal”>

<EditText
android:id=“@+id/editTextone”
android:layout_width=“@dimen/dm_40sp”
android:layout_height=“@dimen/dm_42sp”
android:inputType=“numberPassword”
android:maxLength=“1”
android:nextFocusRight=“@+id/editText_two”>

<requestFocus />
</EditText>

<EditText
android:id=“@+id/editTexttwo”
android:layout_width=“@dimen/dm_40sp”
android:layout_height=“@dimen/dm_42sp”
android:inputType=“numberPassword”
android:maxLength=“1”/>

<EditText
android:id=“@+id/editTextthree”
android:layout_width=“@dimen/dm_40sp”
android:layout_height=“@dimen/dm_42sp”
android:inputType=“numberPassword”
android:maxLength=“1”/>

<EditText
android:id=“@+id/editTextfour”
android:layout_width=“@dimen/dm_40sp”
android:layout_height=“@dimen/dm_42sp”
android:inputType=“numberPassword”
android:maxLength=“1”/>

</LinearLayout>

<Button
android:layout_width=“match_parent”
android:layout_height=“@dimen/dm_42sp”
android:layout_below=“@+id/layout_otp”
android:text=“SUBMIT” />

ii) In Activity

First create Custom_DialogBox.java class and write the code below

File : Custom_DialogBox.java

First  use changedListener in  onCreate  method:

 editText_one.addTextChangedListener(this);
editText_two.addTextChangedListener(this);
editText_three.addTextChangedListener(this);
editText_four.addTextChangedListener(this); 

And final class of  “Custom_DialogBox.java ”  :-

public class Custom_dialogbox extends Dialog implements TextWatcher

 And then Create automatically override method for TextWatcher. 

@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}

To enter only one value to edit Text and cursor move on next edit Text automatically and when we want to remove password one by one sequencially in which cursor move back automatically,to write the cobe below on this method: 

@Override
public void afterTextChanged(Editable editable) {if (editable.length() == 1) {
if (editText_one.length() == 1) {
editText_two.requestFocus();
}

if (editText_two.length() == 1) {
editText_three.requestFocus();
}
if (editText_three.length() == 1) {
editText_four.requestFocus();
}
} else if (editable.length() == 0) {
if (editText_four.length() == 0) {
editText_three.requestFocus();
}
if (editText_three.length() == 0) {
editText_two.requestFocus();
}
if (editText_two.length() == 0) {
editText_one.requestFocus();
}
}

 After you add this Custom_DialogBox.java class in your MainActivity.java

Custom_DialogBox custom_dialog = new Custom_DialogBox(this);
custom_dialog.show();

 Follow the above steps and see a custom-dialog-box accurately.

Read More Steps To Create a Custom-Dialog-Box to Enter Four Digit OTP Number in Android

Android

Following example shows step-by-step process to  how to integrate an AdMob advertisement into your Android application:

Step 1 If you are not already registered at AdMob, just visit the AdMob Website and create a new account. After the registration process you can see your empty AdMob dashboard. The screenshot below shows an empty AdMob dashboard:

Click on monetize new app then bellow screen will appear:

admob1

Step 2: Click on Add your app manually.Bellow Screen will show

admob2

Step 3: Click on Add App Button :next screen look like is as bellow:

admob3

Step 4:   Download Admob Android sdk: The AdMob Android SDK allows the developer to seamlessly integrate an advertisement within an Android based application. Download and unzip the Android jar archive (googleadmobadssdkandroid.zip). The archive contains the AdMob Android SDK for integrating an ad view into your Android user interface layouts (GoogleAdMobAdsSdk-6.1.0.jar).

Step 5: Let add admob jar file in your native application:googleadmobadssdkandroid.zip  unzip it and copy in lib folder in your anroid application:   Start Eclipse and create a new Android based Java application.   Create a /libs folder directly within the root folder of your Android project folder and copy the AdMob Android SDK jar into that folder. Right click on your project and add this library to your projects build path by selecting Build Path > Add External Archive…

The sample application consists of a simple main layout that contains a single TextView. Now we are going to modify this simple layout to contain an AdView. Therefore we add a new AdView as it is shown below:

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”

xmlns:ads=”http://schemas.android.com/apk/lib/com.google.ads”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent”

android:orientation=”vertical” >

<TextView

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

android:text=”@string/hello” />

 

<com.google.ads.AdView

android:id=”@+id/adview”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

ads:adSize=”BANNER”

ads:adUnitId=”a1501676c633fac”

ads:loadAdOnCreate=”true”

ads:testDevices=”TEST_EMULATOR, TEST_DEVICE_ID”

/>

</LinearLayout>

 

Step 6: Go to the AndroidManifest.xml file file open it and give the required permission:

Now add the Google AdActivity as well as both necessary permissions ACCESS_NETWORK_STATE and INTERNET to your AndroidManifest.xml file as it is shown here: 

<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>

<uses-permission android:name=”android.permission.INTERNET”/>

Code will look like bellow in AndroidManifest.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”

package=”at.smartlab.androidbook.AdMobTest”

android:versionCode=”1″

android:versionName=”1.0″ >

 

<uses-sdk android:minSdkVersion=”15″ />

 

<application

android:icon=”@drawable/ic_launcher”

android:label=”@string/app_name” >

<activity

android:name=”.AdMobTestActivity”

android:label=”@string/app_name” >

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

<activity android:name=”com.google.ads.AdActivity”

android:configChanges=”keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize”/>

</application>

 

<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE”/>

<uses-permission android:name=”android.permission.INTERNET”/>

</manifest>

 

Step 7:To receive ads from AdMob you have to create an AdRequest instance within your own Activity and hand it over to your AdView layout element, as it is shown below:  

 

package at.smartlab.androidbook.AdMobTest;

 

import com.google.ads.AdRequest;

import com.google.ads.AdView;

 

import android.app.Activity;

import android.os.Bundle;

 

public class AdMobTestActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

 

setContentView(R.layout.main);

 

// Look up the AdView as a resource and load a request.

AdView adView = (AdView)this.findViewById(R.id.adview);

adView.loadAd(new AdRequest());

}

}

Step 8: Copy the bellow code in layout/main.xml file 

<com.google.ads.AdView

android:id=”@+id/adview”

android:layout_width=”fill_parent”

android:layout_height=”wrap_content”

ads:adSize=”BANNER”

ads:adUnitId=”a1501676c633fac”

ads:loadAdOnCreate=”true”

ads:testDevices=”TEST_EMULATOR, your test device ID goes here”

/>

 

To know the your test device ID goto the logcat file and copy it

The resulting Android app shows the demanded advert in combination with a HelloWorld TextView:

admob4

Read More AdMob Advertising in Android Application/Game Step wise process

Android iPhone Mobile Development