Android Manual
Android Manual
Android Manual
MANUAL
OF
ANDROID PROGRAMMING
SUBJECT TITLE: ANDROID PROGRAMMING LAB
Course objectives:
1) To learn and acquire art of Android programming.
2) To configure initial application, run in emulator.
3) Understand and implement Android’s advanced User interface functions, audio video
applications
4) Create, modify and query on SQlite database.
5) Present different ways of sharing data through the use of services.
1. Write a program to create an Activity to read Employee Details (EmpId, Name, Age, Address)
from user and store to database and create a menu with menu item (Show Details) on
pressing menu details it must go to another activity with employee id search box and search
button and display the employee details on the screen.
2. Write a program to create an activity with a text box and three buttons (save, ,open and
create) open must allow to browse the text file from sdcard and must display the contents of
the file on textbox, save button must save the contents of text box to file, create button
must allow file user to create a new file and save the entered contents of the textbox.
3. Write a program to create an activity with two text boxes (date /time and note contents).
Create a content provider to store the date and time and note contents to the database.
Create another program with a Button (Fetch Today Notes) on press must access the note
provider and display the notes stored for today’s date.
4. Create a program to create an activity with two buttons start and stop. On pressing start
button the program must start the counter and must keep on counting until stop button is
pressed.
5. Create a program to receive the incoming SMS to the phone and put a notification on screen,
on clicking the notification it must display sender number and message content on screen.
6. Create a program to create a service that will put a notification on the screen every 5
seconds.
7. Create an .aidl service to do add, subtraction and multiplication and create another
application with two buttons to read the inputs and three button add,subtract and multiply
to call add,subtract and multiply operation on .aidl service.
8. Create an activity like a phone dialer with (1,2,3,4,5,6,7,8,9,0,*,#) buttons and call and save
button on pressing the call button, it must call the phone number and on pressing the save
button it must save the number to the phone contacts.
Course Outcomes:
And click Android SDK location must be pointing to SDK folder inside Android Folder, if it is
not showing
Click Browse and browse to SDK location and press Apply and Press Ok
Now Eclipse is Configured with Android
Creating Emulator:
Expand Android and Select Android Application Project and press Next
Enter Application Name, other two fields fill automatically
Press Next
Press Next
Press Next
Press Finish
I. Hello world Program
<LinearLayoutxmlns: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">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Welcome to Android world"/>
</LinearLayout>
II. To create layout for username password and login button.
activity_main.xml
<LinearLayoutxmlns: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:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Username"/>
<EditTextandroid:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_user"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Password"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_pwd"/>
<Buttonandroid:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:layout_gravity="center"
android:id="@+id/txt_login"/>
</LinearLayout>
Strings.xml
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
<stringname="app_name">Lab1</string>
<stringname="action_settings">Settings</string>
<stringname="hello_world">Hello world!</string>
<stringname="welcome">Welcome to Android Programming</string>
</resources>
Main_activity.Java
package com.example.lab1;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
EditText txtuser,txtpwd;
Button txtlogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtuser=(EditText)findViewById(R.id.txt_user);
txtpwd=(EditText)findViewById(R.id.txt_pwd);
txtlogin=(Button)findViewById(R.id.txt_login);
txtlogin.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(arg0.equals(txtlogin))
{
String username=txtuser.getText().toString();
String password=txtpwd.getText().toString();
if(username.equals("admin") && password.equals("admin"))
{
Intent it=new Intent(this, MyNextActivity.class);
startActivity(it);
}
else
{
Toast.makeText(getBaseContext(), "LOGIN FAILED",
Toast.LENGTH_LONG).show();
}
}
}
III. DATABASE CREATION
activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center"
>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insertdata"
android:layout_gravity="center"
android:id="@+id/btn_insdata"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Showdata"
android:layout_gravity="center"
android:id="@+id/btn_showdata"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="No Data"
android:id="@+id/txt_nodata"/>
</LinearLayout>
Main_activity.java
package com.example.database1;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btninsdata=(Button)findViewById(R.id.btn_insdata);
btninsdata.setOnClickListener(this);
btnshowdata=(Button)findViewById(R.id.btn_showdata);
btnshowdata.setOnClickListener(this);
Ndata=(TextView)findViewById(R.id.txt_nodata);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.equals(btninsdata))
{
MyDatabase dat=new MyDatabase(this, "ambedkar.db", null, 1);
SQLiteDatabase database=dat.getWritableDatabase();
ContentValues cv= new ContentValues();
cv.put("id", "123");
cv.put("name", "Lavanya");
cv.put("age","25" );
cv.put("address", "Nagarabhavi");
database.insert("Employee", null, cv);
database.close();
Toast.makeText(this, "Data Inserted successfully", 15000).show();
}
else if(v.equals(btnshowdata))
{
MyDatabase dat=new MyDatabase(this, "ambedkar.db", null, 1);
SQLiteDatabase database=dat.getReadableDatabase();
String[] columns=new String[] {"id","name","age","address"};
Cursor cu=database.query("Employee", columns, null, null, null, null, null);
Ndata.setText("");
while(cu.moveToNext())
{
String id=cu.getString(0);
String name=cu.getString(1);
String age=cu.getString(2);
String address=cu.getString(3);
Mydatabase.java
package com.example.database1;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table employee (id TEXT,name TEXT,age TEXT,address
TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
Lab programs
1. Write a program to create an Activity to read Employee Details (EmpId, Name, Age,
Address) from user and store to database and create a menu with menu item (Show Details)
on pressing menu details it must go to another activity with employee id search box and
search button and display the employee details on the screen.
Activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Employee_id"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_id"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Employee_name"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_name"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Employee_age"/>
<EditTextandroid:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_age"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Employee_address"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_address"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:layout_gravity="center"
android:id="@+id/btn_submit"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search"
android:layout_gravity="center"
android:id="@+id/btn_search"/>
</LinearLayout>
</LinearLayout>
Search.xml
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_empid"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search"
android:layout_gravity="center"
android:id="@+id/txt_search"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Text view"
android:id="@+id/txt_display"/>
</LinearLayout>
Main_activity.java
package com.example.employeedetails;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtid=(EditText)findViewById(R.id.txt_id);
txtname=(EditText)findViewById(R.id.txt_name);
txtage=(EditText)findViewById(R.id.txt_age);
txtaddress=(EditText)findViewById(R.id.txt_address);
btnsubmit=(Button)findViewById(R.id.btn_submit);
btnsubmit.setOnClickListener(this);
btnsearch=(Button)findViewById(R.id.btn_search);
btnsearch.setOnClickListener(this);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(this, "buttonclicked", 15000).show();
if(v.equals(btnsubmit))
{
String sid=txtid.getText().toString();
String sname=txtname.getText().toString();
String sage=txtage.getText().toString();
String saddress=txtaddress.getText().toString();
SQLiteDatabase database=dat.getWritableDatabase();
ContentValues cv= new ContentValues();
cv.put("id", sid);
cv.put("name", sname);
cv.put("age",sage );
cv.put("address", saddress);
database.insert("Employee", null, cv);
database.close();
Toast.makeText(this, "Data Inserted successfully", 15000).show();
}
else if(v.equals(btnsearch))
{
Intent it=new Intent(this,SearchActivity.class);
startActivity(it);
Mydatabase.java
package com.example.employeedetails;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table employee (id TEXT,name TEXT,age TEXT,address
TEXT)");
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
Searchactivity.java
package com.example.employeedetails;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
EditText txtempid;
Button btnsearch;
TextView txtdisplay;
txtempid=(EditText)findViewById(R.id.txt_empid);
btnsearch=(Button)findViewById(R.id.txt_search);
txtdisplay=(TextView)findViewById(R.id.txt_display);
btnsearch.setOnClickListener(this);
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(this, "Button clicked", 15000).show();
if(v.equals(btnsearch))
{
String eid=txtempid.getText().toString();
String id=cu.getString(0);
String name=cu.getString(1);
String age=cu.getString(2);
String address=cu.getString(3);
}
else
{
Toast.makeText(this, "No Id Exist", 15000).show();
}
}
}
}
Manifest.xml
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.employeedetails"
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.example.employeedetails.MainActivity"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="SearchActivity"> </activity>
</application>
</manifest>
OUTPUT::
2. Write a program to create an activity with a text box and three buttons (save, ,open and
create) open must allow to browse the text file from sdcard and must display the contents of
the file on textbox, save button must save the contents of text box to file, create button must
allow file user to create a new file and save the entered contents of the textbox.
Activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Create new file"
android:id="@+id/btn_create"
android:layout_gravity="left"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Open"
android:id="@+id/btn_open"
android:layout_gravity="right"/>
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="File:"
android:id="@+id/lbl_file" />
<EditText
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/txt_content"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save"
android:layout_gravity="center"
android:id="@+id/btn_save"/>
</LinearLayout>
Dialog_layout.xml
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_filename"/>
</LinearLayout>
Manifest.xml
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.p2.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
MainActivity.java
package com.example.p2;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
TextView lblFile;
EditText txtContent;
Button btnCreate,btnSave,btnOpen;
int FILE_CHOOSE_REQUEST=1;
String filepath;
String filename;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lblFile=(TextView)findViewById(R.id.lbl_file);
txtContent=(EditText)findViewById(R.id.txt_content);
btnCreate=(Button)findViewById(R.id.btn_create);
btnCreate.setOnClickListener(this);
btnSave=(Button)findViewById(R.id.btn_save);
btnSave.setOnClickListener(this);
btnOpen=(Button)findViewById(R.id.btn_open);
btnOpen.setOnClickListener(this);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
if(resultCode==RESULT_OK)
{
filepath=data.getData().getPath();
filename=filepath.substring(filepath.lastIndexOf("/")+1);
filepath=filepath.substring(0,filepath.lastIndexOf("/"));
readFromFile(filepath,filename);
lblFile.setText(filepath+"/"+filename);
}
else
{
Toast.makeText(this,"Wrong Choice of File",
Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getLocalizedMessage(),
Toast.LENGTH_SHORT).show();
}
}
} catch (Exception e) {
Toast.makeText(getBaseContext(),e.getLocalizedMessage(),
Toast.LENGTH_SHORT).show();
}
}
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
EditText
txtFilename=(EditText)dialogView.findViewById(R.id.txt_filename);
filepath=Environment.getExternalStorageDirectory().getAbsolutePath();
filename=txtFilename.getText().toString();
File f=new File(filepath+"/"+filename);
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(getBaseContext(),
""+e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
lblFile.setText(filepath+"/"+filename);
}
});
builder.setNegativeButton("Cancel", null);
AlertDialog dialog=builder.create();
dialog.show();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.equals(btnOpen))
{
Intent it=new Intent(Intent.ACTION_GET_CONTENT);
//it.setType("*.*");
it.setType("file/*");
startActivityForResult(it, 0);
}
else if(v.equals(btnCreate))
{
onShowCreateDialog();
}
else if(v.equals(btnSave))
{
writeToFile(filepath, filename);
}
}
OUTPUT:
3. Write a program to create an activity with two text boxes (date /time and note contents).
Create a content provider to store the date and time and note contents to the database.
Create another program with a Button (Fetch Today Notes) on press must access the note
provider and display the notes stored for today’s date.
<LinearLayout 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"
tools:context=".MainActivity"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enter Date:" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_date" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enter Note Content:" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_Content"
android:height="200dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Note"
android:id="@+id/btn_add_note" />
</LinearLayout>
Manifest.xml
<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.example.p3noteprovider.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<provider android:name="NotesProvider"
android:authorities="com.example.notesprovider"
android:exported="true"/>
</application>
</manifest>
MainActivity.java
package com.example.p3noteprovider;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
EditText txtDate,txtContent;
Button btnAddNote;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtDate=(EditText)findViewById(R.id.txt_date);
txtContent=(EditText)findViewById(R.id.txt_Content);
btnAddNote=(Button)findViewById(R.id.btn_add_note);
btnAddNote.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.equals(btnAddNote))
{
String sdate=txtDate.getText().toString();
String scontent=txtContent.getText().toString();
getContentResolver().insert(Uri.parse("content://com.example.notesprovider/notes"),
values);
NotesProvider.java
package com.example.p3noteprovider;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.Context;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteQueryBuilder;
import android.net.Uri;
@Override
public int delete(Uri arg0, String arg1, String[] arg2) {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getType(Uri arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Uri insert(Uri arg0, ContentValues cv) {
// TODO Auto-generated method stub
db = dbHelper.getWritableDatabase();
db.insert(ProviderDatabase.TABLE_NAME,null,cv);
db.close();
return null;
}
@Override
public boolean onCreate() {
// TODO Auto-generated method stub
dbHelper=new
ProviderDatabase(getContext(),ProviderDatabase.DATABASE_NAME+".db",null,1);
return (db == null)? false:true;
@Override
public Cursor query(Uri uri, String[] arg1, String arg2, String[] arg3,
String arg4) {
// TODO Auto-generated method stub
Cursor cursor=null;
db = dbHelper.getReadableDatabase();
cursor=
db.query(ProviderDatabase.TABLE_NAME,arg1,arg2,arg3,arg4,null,null);
return cursor;
@Override
public int update(Uri arg0, ContentValues arg1, String arg2, String[] arg3) {
// TODO Auto-generated method stub
return 0;
}
}
ProviderDatabase.java
package com.example.p3noteprovider;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
Activity_main.xml
<LinearLayout 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"
tools:context=".MainActivity"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enter Date to Search"/>
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_search"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btn_search"
android:text="Search"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data To Show"
android:id="@+id/lbl_message"/>
</LinearLayout>
Manifest.xml
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.p3providerclient.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
MainActivity.java
package com.example.p3providerclient;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
EditText txtSearch;
Button btnSearch;
TextView lblMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtSearch=(EditText)findViewById(R.id.txt_search);
lblMessage=(TextView)findViewById(R.id.lbl_message);
btnSearch=(Button)findViewById(R.id.btn_search);
btnSearch.setOnClickListener(this);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.equals(btnSearch))
{
String searchDate=txtSearch.getText().toString();
String where="note_date=?";
Cursor
cursor=getContentResolver().query(Uri.parse("content://com.example.notesprovider/notes")
,new String[]{"note_date","content"},where, new String[]{searchDate},null);
if(cursor!=null&&cursor.moveToNext())
{
String ndate=cursor.getString(0);
String content=cursor.getString(1);
lblMessage.setText(ndate+" "+content+"\n");
}
else
{
Toast.makeText(getBaseContext(),"No Data Available",
Toast.LENGTH_LONG).show();
}
}
OUTPUT:
4. Create a program to create an activity with two buttons start and stop. On pressing start
button the program must start the counter and must keep on counting until stop button is
pressed.
Activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="counter"
android:layout_gravity="center"
android:id="@+id/lbl_counter"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="start"
android:layout_gravity="center"
android:id="@+id/btn_start"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="stop"
android:layout_gravity="center"
android:id="@+id/btn_stop"/>
</LinearLayout>
MainActivity.java
package com.example.p4;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
int i=0;
TextView lblcounter;
Button btnstart,btnstop;
Thread thread;
boolean running=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnstart=(Button)findViewById(R.id.btn_start);
btnstop=(Button)findViewById(R.id.btn_stop);
btnstart.setOnClickListener(this);
btnstop.setOnClickListener(this);
lblcounter=(TextView)findViewById(R.id.lbl_counter);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.equals(btnstart))
{
running=true;
thread=new Thread(this);
thread.start();
}
else if(v.equals(btnstop))
{
//thread.interrupt();
running=false;
}
@Override
public void run() {
// TODO Auto-generated method stub
//int i=0;
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
hand.sendEmptyMessage(i);
i++;
// lblcounter.setText(""+i);
}
Manifest.xml
<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.example.p4.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
OUTPUT::
5. Create a program to receive the incoming SMS to the phone and put a notification on
screen, on clicking the notification it must display sender number and message content on
screen.
Activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sender Number"
android:paddingBottom="50px"
android:id="@+id/lbl_number"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Message content"
android:id="@+id/lbl_message"/>
</LinearLayout>
MainActivity.java
package com.example.p5;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lblnumber=(TextView)findViewById(R.id.lbl_number);
lblmessage=(TextView)findViewById(R.id.lbl_message);
Bundle b= getIntent().getBundleExtra("data");
if(b!=null)
{
String number=b.getString("number");
String content=b.getString("content");
lblnumber.setText(number);
lblmessage.setText(content);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
MySmsReceiver.java
package com.example.p5;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.p5.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.example.p5.MySmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
</application>
</manifest>
OUTPUT::
6. Create a program to create a service that will put a notification on the screen every 5
seconds.
Activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Notification"
android:layout_gravity="center"
android:id="@+id/btn_start"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop Notification"
android:layout_gravity="center"
android:id="@+id/btn_stop"/>
</LinearLayout>
MainActivity.java
package com.example.p6;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
btnstart=(Button)findViewById(R.id.btn_start);
btnstart.setOnClickListener(this);
btnstop=(Button)findViewById(R.id.btn_stop);
btnstop.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.equals(btnstart))
{
Intent it=new Intent(this,ServiceClass.class);
Bundle b=new Bundle();
b.putBoolean("stop", true);
it.putExtra("data", b);
startService(it);
}
else
{
Intent it=new Intent(this,ServiceClass.class);
stopService(it);
}
}
}
ServiceClass.Java
package com.example.p6;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.support.v4.app.NotificationCompat;
import android.view.ViewDebug.FlagToString;
import android.widget.Toast;
boolean running=false;
MyThread thread;
if(!thread.isAlive())
{
thread=new MyThread();
thread.start();
}
return Service.START_NOT_STICKY;
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
};
class MyThread extends Thread
{
public void run()
{
int i=0;
while(running)
{
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
hand.sendEmptyMessage(i++);
}
}
}
}
AndroidManifest.xml
<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.example.p6.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</application>
</manifest>
OUTPUT::
7. Create an .aidl service to do add, subtraction and multiplication and create another
application with two buttons to read the inputs and three button add,subtract and multiply to
call add,subtract and multiply operation on .aidl service.
Activity_main.xml
-NA-
Manifest.xml
<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.example.p7.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</application>
</manifest>
calculator.aidl
Create a new package and under this , new ->file->save with .aidl extension
package com.example.cal;
interface calculator
{
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
}
MyCalService.java
package com.example.p7;
import com.example.cal.calculator;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return stub;
}
@Override
public int sub(int a, int b) throws RemoteException {
// TODO Auto-generated method stub
return a-b;
}
@Override
public int mul(int a, int b) throws RemoteException {
// TODO Auto-generated method stub
return a*b;
}
@Override
public int add(int a, int b) throws RemoteException {
// TODO Auto-generated method stub
return a+b;
}
};
}
Part-2
Activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter first number" />
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_first"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter second number" />
<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt_second"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="result"
android:id="@+id/txt_result"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center">
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="add"
android:layout_gravity="center"
android:id="@+id/btn_add"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sub"
android:layout_gravity="center"
android:id="@+id/btn_sub"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="mul"
android:layout_gravity="center"
android:id="@+id/btn_mul"/>
</LinearLayout>
</LinearLayout>
Manifest.xml
<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.example.p7_1.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</application>
</manifest>
calculator.aidl
Create a new package and under this , new ->file->save with .aidl extension
package com.example.cal;
interface calculator
{
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
}
MainActivity.java
package com.example.p7_1;
import com.example.cal.calculator;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
calculator cal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtfirst=(EditText)findViewById(R.id.txt_first);
txtsecond=(EditText)findViewById(R.id.txt_second);
txtresult=(TextView)findViewById(R.id.txt_result);
btnadd=(Button)findViewById(R.id.btn_add);
btnadd.setOnClickListener(this);
btnsub=(Button)findViewById(R.id.btn_sub);
btnsub.setOnClickListener(this);
btnmul=(Button)findViewById(R.id.btn_mul);
btnmul.setOnClickListener(this);
bindService(new Intent("com.simple.cal"), this, BIND_AUTO_CREATE);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String s1=txtfirst.getText().toString();
String s2=txtsecond.getText().toString();
int a=Integer.parseInt(s1);
int b=Integer.parseInt(s2);
if(v.equals(btnadd))
{
try {
int result=cal.add(a,b);
txtresult.setText(""+result);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if(v.equals(btnsub))
{
try {
int result=cal.sub(a,b);
txtresult.setText(""+result);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else if(v.equals(btnmul))
{
try {
int result=cal.mul(a,b);
txtresult.setText(""+result);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void onServiceConnected(ComponentName arg0, IBinder arg1) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Service Connected",
Toast.LENGTH_LONG).show();
cal=(calculator)calculator.Stub.asInterface(arg1);
@Override
public void onServiceDisconnected(ComponentName arg0) {
// TODO Auto-generated method stub
OUTPUT::
Addition
Subtraction Multiplication
8. Create an activity like a phone dialer with (1,2,3,4,5,6,7,8,9,0,*,#) buttons and call and save
button on pressing the call button, it must call the phone number and on pressing the save
button it must save the number to the phone contacts.
activity_main.xml
<LinearLayout 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:gravity="center"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btn_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Del"
android:layout_alignParentRight="true" />
<EditText
android:id="@+id/txt_display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/btn_del"
android:layout_alignBaseline="@id/btn_del" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="1" />
<Button
android:id="@+id/btn_two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="2" />
<Button
android:id="@+id/btn_three"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="3" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_four"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="4" />
<Button
android:id="@+id/btn_five"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="5" />
<Button
android:id="@+id/btn_six"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="6" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_seven"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="7" />
<Button
android:id="@+id/btn_eight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="8" />
<Button
android:id="@+id/btn_nine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="9" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="*" />
<Button
android:id="@+id/btn_zero"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="0" />
<Button
android:id="@+id/btn_ash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="#" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="call" />
<Button
android:id="@+id/btn_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="save" />
</LinearLayout>
</LinearLayout>
MainActivity.java
package com.example.p8;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
EditText txtNumber;
Button
btnOne,btnTwo,btnThree,btnFour,btnFive,btnSix,btnSeven,btnEight,btnNine,btnZero,btnCall,
btnSave,btnDel,btnStar,btnHash;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtNumber=(EditText)findViewById(R.id.txt_display);
btnOne=(Button)findViewById(R.id.btn_one);
btnOne.setOnClickListener(this);
btnTwo=(Button)findViewById(R.id.btn_two);
btnTwo.setOnClickListener(this);
btnThree=(Button)findViewById(R.id.btn_three);
btnThree.setOnClickListener(this);
btnFour=(Button)findViewById(R.id.btn_four);
btnFour.setOnClickListener(this);
btnFive=(Button)findViewById(R.id.btn_five);
btnFive.setOnClickListener(this);
btnSix=(Button)findViewById(R.id.btn_six);
btnSix.setOnClickListener(this);
btnSeven=(Button)findViewById(R.id.btn_seven);
btnSeven.setOnClickListener(this);
btnEight=(Button)findViewById(R.id.btn_eight);
btnEight.setOnClickListener(this);
btnNine=(Button)findViewById(R.id.btn_nine);
btnNine.setOnClickListener(this);
btnZero=(Button)findViewById(R.id.btn_zero);
btnZero.setOnClickListener(this);
btnSave=(Button)findViewById(R.id.btn_save);
btnSave.setOnClickListener(this);
btnCall=(Button)findViewById(R.id.btn_call);
btnCall.setOnClickListener(this);
btnStar=(Button)findViewById(R.id.btn_star);
btnStar.setOnClickListener(this);
btnHash=(Button)findViewById(R.id.btn_ash);
btnHash.setOnClickListener(this);
btnDel=(Button)findViewById(R.id.btn_del);
btnDel.setOnClickListener(this);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.equals(btnOne))
{
txtNumber.append("1");
}
else if(v.equals(btnTwo))
{
txtNumber.append("2");
}
else if(v.equals(btnThree))
{
txtNumber.append("3");
}
else if(v.equals(btnFour))
{
txtNumber.append("4");
}
else if(v.equals(btnFive))
{
txtNumber.append("5");
}
else if(v.equals(btnSix))
{
txtNumber.append("6");
}
else if(v.equals(btnSeven))
{
txtNumber.append("7");
}
else if(v.equals(btnEight))
{
txtNumber.append("8");
}
else if(v.equals(btnNine))
{
txtNumber.append("9");
}
else if(v.equals(btnZero))
{
txtNumber.append("0");
}
else if(v.equals(btnStar))
{
txtNumber.append("*");
}
else if(v.equals(btnHash))
{
txtNumber.append("#");
}
else if(v.equals(btnDel))
{
String num=txtNumber.getText().toString();
if(num.length()>0)
{
num=num.substring(0,num.length()-1);
}
txtNumber.setText(num);
}
else if(v.equals(btnCall))
{
String num=txtNumber.getText().toString();
Intent it=new Intent(Intent.ACTION_CALL);
it.setData(Uri.parse("tel:"+num));
startActivity(it);
}
else if(v.equals(btnSave))
{
String num=txtNumber.getText().toString();
Intent intent = new Intent(Intent.ACTION_INSERT,
ContactsContract.Contacts.CONTENT_URI);
intent.putExtra(ContactsContract.Intents.Insert.PHONE,num);
startActivity(intent);
Manifest.xml
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.p8.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
OUTPUT: