0% found this document useful (0 votes)
23 views

MAD Lab Exercise

The document contains XML code and Java code for an Android application that performs basic arithmetic operations. The XML code defines the user interface layout with text views, edit texts, and buttons for entering two numbers and selecting addition or subtraction. The Java code handles button clicks to retrieve the numbers, perform the calculation, and display the result in a toast message.

Uploaded by

gtrajasekaran1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

MAD Lab Exercise

The document contains XML code and Java code for an Android application that performs basic arithmetic operations. The XML code defines the user interface layout with text views, edit texts, and buttons for entering two numbers and selecting addition or subtraction. The Java code handles button clicks to retrieve the numbers, perform the calculation, and display the result in a toast message.

Uploaded by

gtrajasekaran1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 66

1

Ex1
XML code

<?xml version="1.0" encoding="utf-8"?>


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

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

tools:context=".MainActivity" >

<TextView

android:id="@+id/textView1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_margin="20sp"

android:gravity="center"

android:text="HELLO WORLD"

android:textSize="20sp"

android:textStyle="bold" />

<Button

android:id="@+id/button1"

android:layout_width="match_parent"
Department of IT, PSVCET
2

android:layout_height="wrap_content"

android:gravity="center"

android:text="Change font size"

android:textSize="20sp" />

<Button

android:id="@+id/button2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:text="Change color"

android:textSize="20sp" />

</LinearLayout>

Department of IT, PSVCET


3

JAVA Code:

package com.example.ex1;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.app.Activity;

import android.graphics.Color;

import android.graphics.Typeface;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity {

float font =24;

int i=1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final TextView t1=(TextView)

findViewById(R.id.textView1);

Button b1 = (Button) findViewById(R.id.button1);

Department of IT, PSVCET


4

b1.setOnClickListener(new View.OnClickListener()

public void onClick(View view)

t1.setTextSize(font);

font=font+4;

if(font==40)

font=20;

});

Button b3 = (Button) findViewById(R.id.button2);

b3.setOnClickListener(new View.OnClickListener()

public void onClick(View view)

switch(i)

case 1:

t1.setTextColor(Color.parseColor("#0000FF"));

break;

case 2:

t1.setTextColor(Color.parseColor("#00FF00"));

break;

case 3:

t1.setTextColor(Color.parseColor("#FF0000"));

Department of IT, PSVCET


5

break;

case 4:

t1.setTextColor(Color.parseColor("#800000"));

break;

i++;

if(i==5)

i=1;

});

@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;

Department of IT, PSVCET


6

Ex2

Xml code:

xmlns:android="http://schemas.android.com/apk/res/android"

android:id<RelativeLayout ="@+id/relativeLayout1"

android:layout_width="fill_parent"

android:layout_height="fill_parent" >

<LinearLayout

android:id="@+id/linearLayout1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"

android:layout_alignParentTop="true" >

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="ADDITION"

android:textSize="20dp" >

</TextView>

</LinearLayout>

<LinearLayout

Department of IT, PSVCET


7

android:id="@+id/linearLayout2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"

android:layout_below="@+id/linearLayout1" >

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="ENTER NO 1" >

</TextView>

<EditText

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="0.20"

android:id="@+id/edittext1"

android:inputType="number">

</EditText>

</LinearLayout>

<LinearLayout

android:id="@+id/linearLayout3"

android:layout_width="wrap_content"

Department of IT, PSVCET


8

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"

android:layout_below="@+id/linearLayout2" >

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="ENTER NO 2" >

</TextView>

<EditText

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="0.20"

android:id="@+id/edittext2"

android:inputType="number">

</EditText>

</LinearLayout>

<LinearLayout

android:id="@+id/linearLayout4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

Department of IT, PSVCET


9

android:layout_alignParentRight="true"

android:layout_below="@+id/linearLayout3" >

<Button

android:layout_width="wrap_content"
android:id="@+id/button1"
android:layout_height="wrap_content"
android:text="Addition"
android:layout_weight="0.50" />
<Button

android:layout_width="wrap_content"

android:id="@+id/button3"

android:layout_height="wrap_content"

android:text="subtraction"

android:layout_weight="0.50" />

<Button

android:layout_width="wrap_content"
android:id="@+id/button2"
android:layout_height="wrap_content"
android:text="CLEAR"
android:layout_weight="0.50" />
</LinearLayout>

<View android:layout_height="2px"

android:layout_width="fill_parent"

android:layout_below="@+id/linearLayout4"

android:background="#DDFFDD"/>

Department of IT, PSVCET


10

</RelativeLayout>

Department of IT, PSVCET


11

Java Code:

package com.example.ex1;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.app.Activity;

import android.graphics.Color;

import android.graphics.Typeface;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import android.widget.EditText;

import android.widget.Toast;

public class MainActivity extends Activity {

EditText txtData1,txtData2;

float num1,num2,result1,result2;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Department of IT, PSVCET


12

setContentView(R.layout.activity_main);

Button add = (Button) findViewById(R.id.button1);

add.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

try

txtData1 = (EditText) findViewById(R.id.edittext1);

txtData2 = (EditText) findViewById(R.id.edittext2);

num1 = Float.parseFloat(txtData1.getText().toString());

num2 = Float.parseFloat(txtData2.getText().toString());

result1=num1+num2;

Toast.makeText(getBaseContext(),"ANSWER:"+result1,Toast.LENGTH_SHORT).show();

catch(Exception e)

Toast.makeText(getBaseContext(), e.getMessage(),

Toast.LENGTH_SHORT).show();

});

Button sub = (Button) findViewById(R.id.button3);

sub.setOnClickListener(new View.OnClickListener() {

Department of IT, PSVCET


13

public void onClick(View v) {

try

txtData1 = (EditText) findViewById(R.id.edittext1);

txtData2 = (EditText) findViewById(R.id.edittext2);

num1 = Float.parseFloat(txtData1.getText().toString());

num2 = Float.parseFloat(txtData2.getText().toString());

result2=num1-num2;

Toast.makeText(getBaseContext(),"ANSWER:"+result2,Toast.LENGTH_SHORT).show();

catch(Exception e)

Toast.makeText(getBaseContext(), e.getMessage(),

Toast.LENGTH_SHORT).show();

});

Button clear = (Button) findViewById(R.id.button2);

clear.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

try

Department of IT, PSVCET


14

txtData1.setText("");

txtData2.setText("");

catch(Exception e)

Toast.makeText(getBaseContext(), e.getMessage(),

Toast.LENGTH_SHORT).show();

});

@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;

Department of IT, PSVCET


15

Ex No: 3
XML Code:

android:layout_height="fill_parent"><?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"

android:layout_width="fill_parent"

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout1"
android:layout_marginLeft="10pt"
android:layout_marginRight="10pt"
android:layout_marginTop="3pt">
<EditText
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginRight="5pt" android:id="@+id/etNum1"
android:layout_width="match_parent"
android:inputType="numberDecimal">
</EditText>

<EditText

android:layout_height="wrap_content"

android:layout_weight="1"

android:layout_marginLeft="5pt"

android:id="@+id/etNum2"

android:layout_width="match_parent"

android:inputType="numberDecimal">

Department of IT, PSVCET


16

</EditText>
</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/linearLayout2"

android:layout_marginTop="3pt"

android:layout_marginLeft="5pt"

android:layout_marginRight="5pt">
<Button
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
android:text="+"
android:textSize="15pt"
android:id="@+id/btnAdd">
</Button>

<Button

android:layout_height="wrap_content"

android:layout_width="match_parent"

android:layout_weight="1"

android:text="-"

android:textSize="15pt"

android:id="@+id/btnSub">
</Button>

<Button

android:layout_height="wrap_content"

Department of IT, PSVCET


17

android:layout_width="match_parent"

android:layout_weight="1"

android:text="*"

android:textSize="15pt"

android:id="@+id/btnMult">

</Button>

<Button android:layout_height="wrap_content"

android:layout_width="match_parent"

android:layout_weight="1"

android:text="/"

android:textSize="15pt"

android:id="@+id/btnDiv">
</Button>

</LinearLayout>

<TextView

android:layout_height="wrap_content"

android:layout_width="match_parent"

android:layout_marginLeft="5pt"

android:layout_marginRight="5pt"

android:textSize="12pt"

android:layout_marginTop="3pt"

android:id="@+id/tvResult"

android:gravity="center_horizontal">
</TextView>

</LinearLayout>

Department of IT, PSVCET


18

Java Code:

Package com.ex; ample

Department of IT, PSVCET


19

Ex No: 4

XML code:
<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:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity" >

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_world" />

</RelativeLayout>

Department of IT, PSVCET


20

Java Code:

package com.example.ex1;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.app.Activity;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.os.Bundle;

import android.view.View;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new myview(this));
}
private class myview extends View
{

public myview(Context context)


{
super(context);
}
@Override

Department of IT, PSVCET


21

protected void onDraw(Canvas canvas)


{
super.onDraw(canvas); Paint paint=new Paint();

paint.setTextSize(40);

paint.setColor(Color.GREEN);

canvas.drawText("Circle", 55, 30, paint);

paint.setColor(Color.RED);

canvas.drawCircle(100, 150,100, paint);

paint.setColor(Color.GREEN);

canvas.drawText("Rectangle", 255, 30, paint);

paint.setColor(Color.YELLOW);

canvas.drawRect(250, 50,400,350, paint);

paint.setColor(Color.GREEN);

canvas.drawText("SQUARE", 55, 430, paint);

paint.setColor(Color.BLUE);

canvas.drawRect(50, 450,150,550, paint);

paint.setColor(Color.GREEN);

canvas.drawText("LINE", 255, 430, paint);

paint.setColor(Color.CYAN);

canvas.drawLine(250, 500, 350, 500, paint);

Department of IT, PSVCET


22

@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;

Department of IT, PSVCET


23

Ex No: 5
XML Code:

<?xml version="1.0" encoding="utf-8"?>

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:stretchColumns="0"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:text="@string/title"
android:layout_x="110dp"
android:layout_y="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:text="@string/empid"
android:layout_x="30dp" android:layout_y="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/editEmpid"
android:inputType="number"
android:layout_x="150dp"
android:layout_y="50dp"
android:layout_width="150dp"
android:layout_height="40dp"/>
<TextView android:text="@string/name"
android:layout_x="30dp"
android:layout_y="100dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText android:id="@+id/editName"
android:inputType="text"
Department of IT, PSVCET
24

android:layout_x="150dp"

android:layout_y="100dp"

android:layout_width="150dp"

android:layout_height="40dp"/>
<TextView
android:text="@string/salary"
android:layout_x="30dp"
android:layout_y="150dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/editsalary"
android:inputType="number"
android:layout_x="150dp"
android:layout_y="150dp"
android:layout_width="150dp"
android:layout_height="40dp"/>
<Button
android:id="@+id/btnAdd"
android:text="@string/add"
android:layout_x="30dp"
android:layout_y="200dp"
android:layout_width="130dp"
android:layout_height="40dp"/>
<Button
android:id="@+id/btnDelete"
android:text="@string/delete"
android:layout_x="160dp"
android:layout_y="200dp"
android:layout_width="130dp"
android:layout_height="40dp"/>n
<Button
Department of IT, PSVCET
25

android:id="@+id/btnModify"
android:text="@string/modify"
android:layout_x="30dp"
android:layout_y="250dp"
android:layout_width="130dp"

android:layout_height="40dp"/>

<Button

android:id="@+id/btnView"

android:text="@string/view"

android:layout_x="160dp" android:layout_y="250dp"

android:layout_width="130dp"

android:layout_height="40dp"/>
<Button
android:id="@+id/btnViewAll"
android:text="@string/view_all"
android:layout_x="85dp"
android:layout_y="300dp"
android:layout_width="150dp"
android:layout_height="40dp"/>
</AbsoluteLayout>

String.Xml File

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="app_name">Employee detail1</string>

<string name="hello">Hello World, Employee detail Activity!</string>

<string name="title">Employee Details</string>

<string name="empid">Enter Employee ID: </string>


Department of IT, PSVCET
26

<string name="name">Enter Name: </string>

<string name="salary">Enter salary: </string>

<string name="add">Add Employee</string>

<string name="delete">Delete Employee</string>

<string name="modify">Modify Employee</string>

<string name="view">View Employee</string>

<string name="view_all">View All Employee</string>

</resources>

JAVA CODE:

package com.example.ex1;

import android.app.Activity;

import android.app.AlertDialog.Builder; import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase; import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener; import android.widget.Button;

import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener {


Department of IT, PSVCET
27

EditText editEmpid,editName,editsalary;

Button btnAdd,btnDelete,btnModify,btnView,btnViewAll;

SQLiteDatabase db;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

editEmpid=(EditText)findViewById(R.id.editEmpid);
editName=(EditText)findViewById(R.id.editName);
editsalary=(EditText)findViewById(R.id.editsalary);
btnAdd=(Button)findViewById(R.id.btnAdd);
btnDelete=(Button)findViewById(R.id.btnDelete);
btnModify=(Button)findViewById(R.id.btnModify);
btnView=(Button)findViewById(R.id.btnView);
btnViewAll=(Button)findViewById(R.id.btnViewAll);

btnAdd.setOnClickListener(this); btnDelete.setOnClickListener(this);
btnModify.setOnClickListener(this); btnView.setOnClickListener(this);
btnViewAll.setOnClickListener(this);

db=openOrCreateDatabase("EmployeeDB", Context.MODE_PRIVATE, null);


db.execSQL("CREATE TABLE IF NOT EXISTS employee(empid VARCHAR,name
VARCHAR,salary VARCHAR);");

public void onClick(View view)


Department of IT, PSVCET
28

if(view==btnAdd)

if(editEmpid.getText().toString().trim().length()==0||
editName.getText().toString().trim().length()==0||
editsalary.getText().toString().trim().length()==0)

showMessage("Error", "Please enter all values"); return;

db.execSQL("INSERT INTO employee VALUES('"+editEmpid.getText()


+"','"+editName.getText()+ "','"+editsalary.getText()+"');");

showMessage("Success", "Record added"); clearText();

if(view==btnDelete)

if(editEmpid.getText().toString().trim().length()==0)

showMessage("Error", "Please enter Employee id");

return;

Cursor c=db.rawQuery("SELECT * FROM employee WHERE


empid='"+editEmpid.getText()+"'", null);

Department of IT, PSVCET


29

if(c.moveToFirst())

db.execSQL("DELETE FROM employee WHERE empid='"+editEmpid.getText()+"'");


showMessage("Success", "Record Deleted");

else

showMessage("Error", "Invalid Employee id");

clearText();

if(view==btnModify)

if(editEmpid.getText().toString().trim().length()==0)

showMessage("Error", "Please enter Employee id"); return;

Cursor c=db.rawQuery("SELECT * FROM employee WHERE


empid='"+editEmpid.getText()+"'", null);

if(c.moveToFirst())

Department of IT, PSVCET


30

db.execSQL("UPDATE employee SET name='"+editName.getText()


+"',salary='"+editsalary.getText()+ "' WHERE empid='"+editEmpid.getText()+"'");
showMessage("Success", "Record Modified");

else

showMessage("Error", "Invalid Rollno");

clearText();

if(view==btnView)

if(editEmpid.getText().toString().trim().length()==0)

showMessage("Error", "Please enter Employee id"); return;

Cursor c=db.rawQuery("SELECT * FROM employee WHERE


empid='"+editEmpid.getText()+"'", null);

if(c.moveToFirst())

editName.setText(c.getString(1)); editsalary.setText(c.getString(2));

else

Department of IT, PSVCET


31

showMessage("Error", "Invalid Employee id"); clearText();

if(view==btnViewAll)

Cursor c=db.rawQuery("SELECT * FROM employee", null);

if(c.getCount()==0)

showMessage("Error", "No records found"); return;

StringBuffer buffer=new StringBuffer(); while(c.moveToNext())

buffer.append("Employee id: "+c.getString(0)+"\n"); buffer.append("Name:


"+c.getString(1)+"\n"); buffer.append("salary: "+c.getString(2)+"\n\n");

showMessage("Employee details Details", buffer.toString());

public void showMessage(String title,String message)

Department of IT, PSVCET


32

Builder builder=new Builder(this); builder.setCancelable(true); builder.setTitle(title);


builder.setMessage(message); builder.show();

public void clearText()

editEmpid.setText(""); editName.setText(""); editsalary.setText("");


editEmpid.requestFocus();

@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;

Department of IT, PSVCET


33

Ex No: 6

>?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView"
android:layout_gravity="center_horizontal" />
</LinearLayout>

<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:transitionGroup="true">
<TextView
android:text="RSS example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textSize="35dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

Department of IT, PSVCET


34

<TextView

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point"
android:id="@+id/textView"
android:layout_below="@+id/textview"
android:layout_centerHorizontal="true"
android:textColor="#ff7aff24"
android:textSize="35dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/abc"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:theme="@style/Base.TextAppearance.AppCompat" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_below="@+id/imageView"
android:hint="Tittle"
android:textColorHint="#ff69ff0e"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText2"
Department of IT, PSVCET
35

android:layout_below="@+id/editText"
android:layout_alignLeft="@+id/editText"
android:layout_alignStart="@+id/editText"
android:textColorHint="#ff21ff11"
android:hint="Link"
android:layout_alignRight="@+id/editText"
android:layout_alignEnd="@+id/editText" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText3"
android:layout_below="@+id/editText2"
android:layout_alignLeft="@+id/editText2"
android:layout_alignStart="@+id/editText2"
android:hint="Description"
android:textColorHint="#ff33ff20"
android:layout_alignRight="@+id/editText2"
android:layout_alignEnd="@+id/editText2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fetch"
android:id="@+id/button"
android:layout_below="@+id/editText3"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toLeftOf="@+id/imageView"
android:layout_toStartOf="@+id/imageView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Result"

Department of IT, PSVCET


36

android:id="@+id/button2"
android:layout_alignTop="@+id/button"
android:layout_alignRight="@+id/editText3"
android:layout_alignEnd="@+id/editText3" />
</RelativeLayout>

string.xml

<resources>
<string name="app_name">My Application</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
</resources>

Department of IT, PSVCET


37

Java Code:

package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import java.util.Set;
public class MainActivity extends Activity {
EditText title,link,description;
Button b1,b2;
private String finalUrl="http://tutorialspoint.com/android/sampleXML.xml";
private HandleXML obj;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
title = (EditText) findViewById(R.id.editText);
link = (EditText) findViewById(R.id.editText2);
description = (EditText) findViewById(R.id.editText3);
b1=(Button)findViewById(R.id.button);
b2=(Button)findViewById(R.id.button2);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Department of IT, PSVCET
38

obj = new HandleXML(finalUrl);


obj.fetchXML();
while(obj.parsingComplete);
title.setText(obj.getTitle());
link.setText(obj.getLink());
description.setText(obj.getDescription());
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in=new Intent(MainActivity.this,second.class);
startActivity(in);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

Department of IT, PSVCET


39

return super.onOptionsItemSelected(item)

HandleXML.java

package com.example.rssreader;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import android.util.Log;
public class HandleXML {
private String title = "title";
private String link = "link";
private String description = "description";
private String urlString = null;
private XmlPullParserFactory xmlFactoryObject;
public volatile boolean parsingComplete = true;
public HandleXML(String url){
this.urlString = url;
}
public String getTitle(){
return title;
}
public String getLink(){
return link;
}
public String getDescription(){
return description;
}
public void parseXMLAndStoreIt(XmlPullParser myParser) {
int event;
Department of IT, PSVCET
40

String text=null;
try {
event = myParser.getEventType();
while (event != XmlPullParser.END_DOCUMENT) {
String name=myParser.getName();
switch (event){
case XmlPullParser.START_TAG:
break;
case XmlPullParser.TEXT:
text = myParser.getText();
break;
case XmlPullParser.END_TAG:

if(name.equals("title")){
title = text;
}
else if(name.equals("link")){
link = text;
}
else if(name.equals("description")){
description = text;
}
else{
}
break;
}
event = myParser.next();
}
parsingComplete = false;
}
catch (Exception e) {
e.printStackTrace();
}
Department of IT, PSVCET
41

}
public void fetchXML(){
Thread thread = new Thread(new Runnable(){
@Override

public void run() {


try {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect();
InputStream stream = conn.getInputStream();
xmlFactoryObject = XmlPullParserFactory.newInstance();
XmlPullParser myparser = xmlFactoryObject.newPullParser();
myparser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
myparser.setInput(stream, null);
parseXMLAndStoreIt(myparser);
stream.close();
}
catch (Exception e) {
}
}
});

thread.start();
}
}

Department of IT, PSVCET


42

Second.Java

package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
/**
* Created by Sairamkrishna on 4/6/2015.
*/
public class second extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity);
WebView w1=(WebView)findViewById(R.id.webView);
w1.loadUrl("http://tutorialspoint.com/android/sampleXML.xml");
}
}

Department of IT, PSVCET


43

Ex No: 7
XML Code:

<?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"
android:id="@+id/info" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="fetchData"
android:text="Start MULTITHREAD" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main thread" />
</LinearLayout>

Java Code:

//import your.first.R;

Import android.app.Activity;

import android.os.Bundle;

import android.os.Handler;

import android.view.View;
import android.widget.TextView;

Department of IT, PSVCET


44

public class MultiThreadingActivity extends Activity { private TextView tvOutput;

private static final int t1 = 1; private static final int t2 = 2; private static final int t3 = 3;
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvOutput = (TextView) findViewById(R.id.textView1);

public void fetchData(View v) { tvOutput.setText("Main thread"); thread1.start();


thread2.start(); thread3.start();
}

Thread thread1 = new Thread(new Runnable() { @Override


public void run() {

for (int i = 0; i < 5; i++) { try {


Thread.sleep(1000);

} catch (InterruptedException e) { e.printStackTrace();


}

handler.sendEmptyMessage(t1);

});

Thread thread2 = new Thread(new Runnable() { @Override


public void run() {

for (int i = 0; i < 5; i++) { try {


Thread.sleep(1000);

} catch (InterruptedException e) { e.printStackTrace();


}

handler.sendEmptyMessage(t2);

}
Department of IT, PSVCET
45

});

Thread thread3 = new Thread(new Runnable() { @Override


public void run() {

for (int i = 0; i < 5; i++) { try {


Thread.sleep(1000);

} catch (InterruptedException e) { e.printStackTrace();


}

handler.sendEmptyMessage(t3);

});

Handler handler = new Handler() {`

public void handleMessage(android.os.Message msg) { if(msg.what == t1) {


tvOutput.append("\nIn thread 1");

if(msg.what == t2) { tvOutput.append("\nIn thread 2");


}

if(msg.what == t3) { tvOutput.append("\nIn thread 3");


}

};

Department of IT, PSVCET


46

Ex No: 8

XML Code

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/show_Location
"
android:layout_width="wrap_cont
ent"
android:layout_height="wrap_cont
ent android:text="Show_Location"
android:layout_centerVertical="tr
ue"
android:layout_centerHorizontal="
true"
/>

</RelativeLayout>

JAVA FILE:

package com.example.ex1;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

Department of IT, PSVCET


47

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends Activity {

Button btnShowLocation;

GPStrace gps;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btnShowLocation=(Button)findViewById(R.id.show_Location);

btnShowLocation.setOnClickListener(new View.OnClickListener()

{ @Override

public void onClick(View v) {

// TODO Auto-generated method stub

gps=new GPStrace(MainActivity.this);

if(gps.canGetLocation()){

double latitude=gps.getLatitude();

double longitude=gps.getLongtiude();

Toast.makeText(getApplicationContext(),"Your Location is\nLat:"+latitude+"\


nLong:"+longitude, Toast.LENGTH_LONG).show();

Department of IT, PSVCET


48

else

gps.showSettingAlert();

});

@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;

} }

GPStrace.java file

package com.example.ex1;
import android.app.AlertDialog;
import android.app.Service;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder; import android.provider.Settings;
public class GPStrace extends Service implements LocationListener{
Department of IT, PSVCET
49

private final Context context;


boolean isGPSEnabled=false;
boolean canGetLocation=false;
boolean isNetworkEnabled=false;
Location location;
double latitude;
double longtitude;
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES=10;
private static final long MIN_TIME_BW_UPDATES=1000*60*1;
protected LocationManager locationManager;
public GPStrace(Context context)
{
this.context=context; getLocation();
}
public Location getLocation()
{
try{
locationManager=(LocationManager)
context.getSystemService(LOCATION_SERVICE);

isGPSEnabled=locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

isNetworkEnabled=locationManager.isProviderEnabled(LocationManager.NETWORK_PROVI
DER);
if(!isGPSEnabled && !isNetworkEnabled)
{
}else
{ this.canGetLocation=true;
if(isNetworkEnabled){
locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER,

MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES,this);

Department of IT, PSVCET


50

}
if(locationManager!=null)
{ location=locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDE
R)
;
if(location !=null){ latitude=location.getLatitude(); longtitude=location.getLongitude();
}
}
}
if(isGPSEnabled){
if(location==null)
{
}
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
if(locationManager!=null)
{ location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location!=null){
latitude=location.getLatitude(); longtitude=location.getLongitude();
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
return location;
}
public void stopUsingGPS(){ if(locationManager!=null)
{ locationManager.removeUpdates(GPStrace.this);
}
}
public double getLatitude(){ if(location!=null){ latitude=location.getLatitude();
}

Department of IT, PSVCET


51

return latitude;
}
public double getLongtiude(){ if(location!=null){ longtitude=location.getLatitude();
}
return longtitude;
}
public boolean canGetLocation(){ return this.canGetLocation;
}
public void showSettingAlert(){
AlertDialog.Builder alertDialog=new AlertDialog.Builder(context);
alertDialog.setTitle("GPS is settings");
alertDialog.setMessage("GPS is not enabled.Do you want to go to setting menu?");
alertDialog.setPositiveButton("settings", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog,int which){
Intent intent=new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
context.startActivity(intent);
}
});
alertDialog.setNegativeButton("cancel", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub dialog.cancel();
}
});
alertDialog.show();
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
Department of IT, PSVCET
52

}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}}
manifest.xml file
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission
android:name="android.permission.INTERN
ET"/>

Department of IT, PSVCET


53

Ex No: 9

XML File:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff0000ff"
android:orientation="vertical" >
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<requestFocus />

</EditText>

<Button

android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="SAVE DATA" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="SHOW DATA" />
<TextView
android:id="@+id/textView1"
Department of IT, PSVCET
54

android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

</LinearLayout>

Java File:

package save.sd; import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class SavedatasdcardActivity extends Activity {

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

Button save,load;
EditText message; TextView t1;
String Message1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Department of IT, PSVCET
55

save=(Button) findViewById(R.id.button1);
load=(Button) findViewById(R.id.button2);
message=(EditText) findViewById(R.id.editText1);
t1=(TextView) findViewById(R.id.textView1);

save.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){


//Get message from user store in message1 variable
Message1 =message.getText().toString();
try{

//Create a new folder called MyDirectory in SDCard

File sdcard=Environment.getExternalStorageDirectory();

File directory=new File(sdcard.getAbsolutePath()+"/MyDirectory");

directory.mkdirs();
//Create a new file name textfile.txt inside MyDirectory File
file=new File(directory,"textfile.txt");
//Create File Outputstream to read the file
FileOutputStream fou=new FileOutputStream(file);
OutputStreamWriter osw=new OutputStreamWriter(fou);
try{
//write a user data to file
osw.append(Message1);
osw.flush();
osw.close();
Toast.makeText(getBaseContext(),"Data Saved",Toast.LENGTH_LONG).show();
}catch(IOException e){ e.printStackTrace();
}

}catch (FileNotFoundException e){ e.printStackTrace();


}

});

Department of IT, PSVCET


56

load.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){

try{

File sdcard=Environment.getExternalStorageDirectory();

File directory=new File(sdcard.getAbsolutePath()+"/MyDirectory");

File file=new File(directory,"textfile.txt");


FileInputStream fis=new FileInputStream(file);
InputStreamReader isr=new InputStreamReader(fis);
char[] data=new char[100];
String final_data=""; int size;

try{ while((size=isr.read(data))>0)
{

//read a data from file

String read_data=String.copyValueOf(data,0,size); final_data+=read_data;


data=new char[100];

//display the data in output


Toast.makeText(getBaseContext(),"Message:"+final_data,Toast.LENGTH_LONG).show();
}catch(IOException e){ e.printStackTrace();
}

}catch (FileNotFoundException e){ e.printStackTrace();


}

});

Department of IT, PSVCET


57

Ex No: 10

XML File:
<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"
tools:context=".BroadcastPhoneStates" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="When new SMS will come it will show a alert message." />

</RelativeLayout>

BroadcastNewSms.java

package com.androidexample.broadcastreceiver;

import android.app.Activity;

import android.os.Bundle;

public class BroadcastNewSms extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.androidexample_broadcast_newsms);

Department of IT, PSVCET


58

IncomingSms.java

package com.androidexample.broadcastreceiver;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.telephony.SmsManager;

import android.telephony.SmsMessage;

import android.util.Log;

import android.widget.Toast;

public class IncomingSms extends BroadcastReceiver {

// Get the object of SmsManager

final SmsManager sms = SmsManager.getDefault();

public void onReceive(Context context, Intent intent) {

// Retrieves a map of extended data from the intent.

final Bundle bundle = intent.getExtras();

try {

if (bundle != null) {

final Object[] pdusObj = (Object[]) bundle.get("pdus");

for (int i = 0; i < pdusObj.length; i++) {

Department of IT, PSVCET


59

SmsMessage currentMessage =
SmsMessage.createFromPdu((byte[]) pdusObj[i]);

String phoneNumber =
currentMessage.getDisplayOriginatingAddress();

String senderNum = phoneNumber;

String message = currentMessage.getDisplayMessageBody();

Log.i("SmsReceiver", "senderNum: "+ senderNum + ";


message: " + message);

int duration = Toast.LENGTH_LONG;

Toast toast = Toast.makeText(context, "senderNum:


"+ senderNum + ", message: " + message, duration);

toast.show();

} // end for loop

} // bundle is null

} catch (Exception e) {

Log.e("SmsReceiver", "Exception smsReceiver" +e);

Department of IT, PSVCET


60

Ex No: 11

AndroidManifest.
xml
<?xml version="1.0" encoding="utf-8"?>

<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.javapapers.androidalarmclock">
<uses-permission
android:name="android.permission.WAKE_LOCK" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme">
<activity
android:name=".AlarmActivity"
android:label="@string/app_name">
<intent-filter>

<action

android:name="android.intent.action.MAIN" />

<category

android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<service

android:name=".AlarmService"
Department of IT, PSVCET
61

android:enabled="true" />
<receiver
android:name=".AlarmReceiver" />

</application>

</manifest>

activity_my.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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MyActivity">
<TimePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/alarmTimePicker"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alarm On/Off"
android:id="@+id/alarmToggle"
android:layout_centerHorizontal="true"
android:layout_below="@+id/alarmTimePicker"
android:onClick="onToggleClicked" />
<TextView

Department of IT, PSVCET


62

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text=""
android:id="@+id/alarmText"

android:layout_alignParentBottom="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="20dp"

android:layout_below="@+id/alarmToggle" />
</RelativeLayout>

Java Code:

package com.javapapers.androidalarmclock;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.ToggleButton;
import java.util.Calendar;
public class AlarmActivity extends Activity {
AlarmManager alarmManager;
private PendingIntent pendingIntent;
private TimePicker alarmTimePicker;
private static AlarmActivity inst;
private TextView alarmTextView;
public static AlarmActivity instance() {
Department of IT, PSVCET
63

return inst;
}

@Override

public void onStart() {

super.onStart();
inst = this;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_my);
alarmTimePicker = (TimePicker) findViewById(R.id.alarmTimePicker);
alarmTextView = (TextView) findViewById(R.id.alarmText);
ToggleButton alarmToggle = (ToggleButton) findViewById(R.id.alarmToggle);
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

public void onToggleClicked(View view) { if (((ToggleButton) view).isChecked())


{ Log.d("MyActivity", "Alarm On");

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute());
Intent myIntent = new Intent(AlarmActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(AlarmActivity.this, 0, myIntent, 0);
alarmManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
} else { alarmManager.cancel(pendingIntent); setAlarmText(""); Log.d("MyActivity",
"Alarm Off");
}

public void setAlarmText(String alarmText) {

Department of IT, PSVCET


64

alarmTextView.setText(alarmText);
}

AlarmReceiver.java
package com.javapapers.androidalarmclock;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.support.v4.content.WakefulBroadcastReceiver;
public class AlarmReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {

//this will update the UI with message

AlarmActivity inst = AlarmActivity.instance();

inst.setAlarmText("Alarm! Wake up! Wake up!");


//this will sound the alarm tone

//this will sound the alarm once, if you wish to

//raise alarm in loop continuously then use MediaPlayer and setLooping(true)


Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
if (alarmUri == null) {
alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
}

Ringtone ringtone = RingtoneManager.getRingtone(context, alarmUri); ringtone.play();


//this will send a notification message

ComponentName comp = new ComponentName(context.getPackageName(),

Department of IT, PSVCET


65

AlarmService.class.getName());
startWakefulService(context, (intent.setComponent(comp)));
setResultCode(Activity.RESULT_OK);
}

Message AlarmService.java
package com.javapapers.androidalarmclock;
import android.app.IntentService;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;

import android.support.v4.app.NotificationCompat;

import android.util.Log;
public class AlarmService extends IntentService {
private NotificationManager alarmNotificationManager;
public AlarmService() {
super("AlarmService");

@Override

public void onHandleIntent(Intent intent) {

sendNotification("Wake Up! Wake Up!");


}

private void sendNotification(String msg) {

Log.d("AlarmService", "Preparing to send notification...: " + msg);

alarmNotificationManager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this,

Department of IT, PSVCET


66

AlarmActivity.class), 0);

NotificationCompat.Builder alamNotificationBuilder = new NotificationCompat.Builder(


this).setContentTitle("Alarm").setSmallIcon(R.drawable.ic_launcher)

.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))

.setContentText(msg); alamNotificationBuilder.setContentIntent(contentIntent);
alarmNotificationManager.notify(1, alamNotificationBuilder.build());

Log.d("AlarmService", "Notification sent.");


}

Department of IT, PSVCET

You might also like