Android Splash Screen Activity

Hi . ..to all ..today i’m going to share about android splash screen activity .

Now Most of the applications coming with splash screen .Before going into session ,make sure you have made the development environment to develop application in android.

Development tools needed for Android are

1.Eclipse

2.Java Runtime Environment

3.Android ADT and Android Sdk

4.Android API

You can develop application from “Android Studio” also . Its upto to you people. I’m not going to tell about installations and and setting up environment.You can find lot of good tutorials to do this.

Here in this session i’m telling about developing app in Eclipse

Open up Eclipse and create new Android Application Project.

project name i given here is FreeTamilEbooks

package name for me here is com.ebook.freetamilebooks

If you created project in eclipse means you can see the file structure like this

Screenshot from 2013-10-01 21:02:16

in src folder you can see java files.

in layout folder you can see xml files.

 

Things to remind here .

UI part of the application was done in xml in layout folder.

The coding Part done in java in src folder.

Confusing ?? let me clear this.

UI in the sense , lets imagine a button in a screen,

now for creating a button in a screen you have to use xml in android (dynamically can create in java)

For Actions like clicking a button etc . have to be coded in java .

now got clear with this. I hope u got some idea about this.

now open up java file in src folder .My java code with splashscreen.java

package com.ebook.freetamilebooks;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.Window;

public class SplashScreen extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_splash_screen);
		 Handler handler=new Handler();
	        handler.postDelayed(new Runnable()
	        {               
	            @Override
	            public void run() 
	            {
	                Intent intent = new Intent(SplashScreen.this,Home.class);
	                startActivity(intent);
	                SplashScreen.this.finish();                         
	            }
	        }, 3000);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.splash_screen, menu);
		return true;
	}

}

java code for second Screen Home.java

package com.ebook.freetamilebooks;

import android.app.Activity;
import android.os.Bundle;

public class Home extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.home);
	}

}

my xml codes are 
activity_splashscreen.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/splash"
    tools:context=".SplashScreen" >
</RelativeLayout>

my home.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView 
        android:id="@+id/welcome"
        android:layout_width="fill_parent"
         android:layout_height="fill_parent"
        android:text="Welcome to home "/>
</LinearLayout>

Finally one important thing to do with AndroidManifest.xml

this xml file is like guidemap . While running our app this file gets executed first and tell the activites ,and necessary things to the emulator.

Android uses DVM (Dalvik Virtual Machine) . It combines java and xml code into .apk format.
java files gets compiled by JVM(Java Virtual Machine)

By default your very first activity is specified in this file. If you have more than one activity you have specify the activities in this file. Else your application won’t work .

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ebook.freetamilebooks"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.ebook.freetamilebooks.SplashScreen"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       <strong> <activity
            android:name="com.ebook.freetamilebooks.Home"
            android:label="@string/app_name" >
        </activity></strong>
    </application>

</manifest>

one last thing to do for splash screen . We need an image to show at very first screen of our app.

so choose your image .It must be in .pngformat.
create folder named drawable under /resdirectory in eclipse.

Here i named the image as splash.png . I used that image as in activity_splash.xml like this
android:background=@drawable/splash[/sourcode]

you can give any name to your image and make sure same name in while using in xml file too.

Thats it . Now save your file and press Contrl+F11

After home launched from emultor you can see the page like this

Screenshot from 2013-10-01 23:02:00

Thats it. Thanks for reading. Happy coding!!!

Author: Balaji

Hi..My name is Balaji and i am working as a Senior Software Developer in India. I am interested in Shell scripts, python, erlang , linux kernel .

2 thoughts on “Android Splash Screen Activity”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: