0% found this document useful (0 votes)
67 views37 pages

Map PDF

The document describes an Android application that implements a basic phone contacts list. It contains code for a MainActivity class and layout files. The MainActivity contains code to populate a ListView with contact names from a string array. When a contact is selected, its name is displayed in a TextView at the top of the list in italics.

Uploaded by

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

Map PDF

The document describes an Android application that implements a basic phone contacts list. It contains code for a MainActivity class and layout files. The MainActivity contains code to populate a ListView with contact names from a string array. When a contact is selected, its name is displayed in a TextView at the top of the list in italics.

Uploaded by

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

1

1. Design an application that contains Phone Contacts in vertical linear manner. Selected
contact appears at the top of the list with a large italicized font and a blue background.

MainActivity.java:

package com.example.map.contact;

import android.graphics.Typeface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

TextView txtSelect;
ListView listView;
String [] listitem;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

listView=(ListView)findViewById(R.id.ListView_1);
txtSelect=(TextView)findViewById(R.id.textview_1);
listitem=getResources().getStringArray(R.array.LiDetails);

final ArrayAdapter<String> adapter=new


ArrayAdapter<>(this,android.R.layout.simple_list_item_1,android.R.id.text1,listitem
);
listView.setAdapter(adapter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String value = adapter.getItem(position);
txtSelect.setText(value);
txtSelect.setTypeface(null,Typeface.ITALIC);

Toast.makeText(getApplicationContext(),value,Toast.LENGTH_LONG).show();

}
});
}
}

activity_main.xml:

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
2

<TextView
android:id="@+id/textview_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#075ee9"
android:gravity="center"
android:textSize="25dp"/>

<ListView
android:id="@+id/ListView_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"></ListView>

</LinearLayout>

Strings.xml:

<resources>
<string name="app_name">contact</string>
<string-array name="LiDetails">
<item>Hello 123456789</item>
<item>World 12346789</item>
<item>Universe 123456789</item>
</string-array>
</resources>

Output:
3

2. Create an application that uses Layout Managers and Event


Listeners.

MainActivity.java:

package com.example.map.exno1;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


int ch = 1;
float font = 30;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView t = (TextView) findViewById(R.id.textView);
Button b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
t.setTextSize(font);
font = font + 5;
if (font == 50)
font = 30;
}
});
Button b2 = (Button) findViewById(R.id.button2);
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (ch) {
case 1:
t.setTextColor(Color.RED);
break;
case 2:
t.setTextColor(Color.GREEN);
break;
case 3:
t.setTextColor(Color.BLUE);
break;
case 4:
t.setTextColor(Color.CYAN);
break;
case 5:
t.setTextColor(Color.YELLOW);
break;
case 6:
t.setTextColor(Color.MAGENTA);
break;
}
ch++;
if (ch == 7)
ch = 1;
}
});
}
}
4

activity_main.xml:

<?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">

<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="30dp"
android:gravity="center"
android:text="Hello World!"
android:textSize="25sp"
android:textStyle="bold" />

<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center"
android:text="Change font size"
android:textSize="25sp" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center"
android:text="Change color"
android:textSize="25sp" />
</LinearLayout>

Output:
5

3. Develop a standard calculator application to perform basic


calculations like addition, subtraction, multiplication and
division.

MainActivity.java:

package com.example.map.calculator;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


float num1 = 10,num2;
Boolean Addition=false,Subtract=false,Multiplication=false,Division=false;
Button button1,button2,button3,button4,button5,button6,button7,button8,button9;
Button button0,button,buttonc,equal,add,sub,mul,div,backbtn;
EditText editText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
button5 = (Button) findViewById(R.id.button5);
button6 = (Button) findViewById(R.id.button6);
button7 = (Button) findViewById(R.id.button7);
button8 = (Button) findViewById(R.id.button8);
button9 = (Button) findViewById(R.id.button9);
button0 = (Button) findViewById(R.id.button0);
buttonc = (Button) findViewById(R.id.buttonc);
button = (Button) findViewById(R.id.button);
equal= (Button) findViewById(R.id.equal);
add= (Button) findViewById(R.id.add);
sub= (Button) findViewById(R.id.sub);
mul= (Button) findViewById(R.id.mul);
div= (Button) findViewById(R.id.div);
backbtn= (Button) findViewById(R.id.button10);
editText = (EditText) findViewById(R.id.editText);

button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "2");

}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "3");
6

}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "4");

}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "5");

}
});
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "6");

}
});
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "7");

}
});
button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "8");

}
});
button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "9");

}
});
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + "0");

}
});
buttonc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText("");
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setText(editText.getText() + ".");
}
});

add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
7

num1 = Float.parseFloat(editText.getText().toString());
Addition = true;
editText.setText(null);
}
});

sub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Float.parseFloat(editText.getText().toString());
Subtract = true;
editText.setText(null);
}
});

mul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Float.parseFloat(editText.getText().toString());
Multiplication = true;
editText.setText(null);
}
});

div.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Float.parseFloat(editText.getText().toString());
Division = true;
editText.setText(null);
}
});

backbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num1 = Float.parseFloat(editText.getText().toString());

float newnum = num1 / 10;


editText.setText(null);

}
});

equal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
num2 = Float.parseFloat(editText.getText().toString());

if (Addition == true) {
editText.setText(num1 + num2 + "");
Addition = false;
}

if (Subtract == true) {
editText.setText(num1 - num2 + "");
Subtract = false;
}

if (Multiplication == true) {
editText.setText(num1 * num2 + "");
Multiplication = false;
}

if (Division == true) {
editText.setText(num1 / num2 + "");
Division = false;
8

}
}
});

}
}

activity_main.xml:

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


<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<EditText
android:id="@+id/editText"
android:layout_width="373dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="number"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button1"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginTop="360dp"
android:background="@color/numberButton"
android:text="1"
android:textColor="@color/textcolor"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button2"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="92dp"
android:layout_marginLeft="92dp"
android:layout_marginTop="360dp"
android:text="2"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/add"
android:layout_width="95dp"
android:layout_height="60dp"
android:layout_marginStart="276dp"
android:layout_marginLeft="276dp"
android:layout_marginTop="360dp"
android:text="+"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
9

app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/equal"
android:layout_width="95dp"
android:layout_height="60dp"
android:layout_marginStart="276dp"
android:layout_marginLeft="276dp"
android:layout_marginTop="424dp"
android:text="="
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button3"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="176dp"
android:layout_marginLeft="176dp"
android:layout_marginTop="360dp"
android:text="3"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="@+id/editText"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button4"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginTop="296dp"
android:text="4"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/sub"
android:layout_width="95dp"
android:layout_height="60dp"
android:layout_marginStart="276dp"
android:layout_marginLeft="276dp"
android:layout_marginTop="296dp"
android:text="-"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/mul"
android:layout_width="95dp"
android:layout_height="60dp"
android:layout_marginStart="276dp"
android:layout_marginLeft="276dp"
android:layout_marginTop="232dp"
android:text="*"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
10

app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button5"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="92dp"
android:layout_marginLeft="92dp"
android:layout_marginTop="296dp"
android:text="5"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button6"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="184dp"
android:layout_marginLeft="184dp"
android:layout_marginTop="296dp"
android:text="6"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button7"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginTop="232dp"
android:text="7"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button8"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="92dp"
android:layout_marginLeft="92dp"
android:layout_marginTop="232dp"
android:text="8"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button9"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="184dp"
android:layout_marginLeft="184dp"
android:layout_marginTop="232dp"
android:text="9"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
11

app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button0"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="92dp"
android:layout_marginLeft="92dp"
android:layout_marginTop="424dp"
android:text="0"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/buttonc"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginTop="168dp"
android:text="CE"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/div"
android:layout_width="95dp"
android:layout_height="60dp"
android:layout_marginStart="276dp"
android:layout_marginLeft="276dp"
android:layout_marginTop="168dp"
android:text="/"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginTop="424dp"
android:text="."
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/button10"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="184dp"
android:layout_marginLeft="184dp"
android:layout_marginTop="424dp"
android:text="BACK"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/numberButton"
android:textColor="@color/textcolor"/>
12

<Button
android:id="@+id/openbracket"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="92dp"
android:layout_marginLeft="92dp"
android:layout_marginTop="168dp"
android:text="("
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

<Button
android:id="@+id/closebracket"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginStart="184dp"
android:layout_marginLeft="184dp"
android:layout_marginTop="168dp"
android:text=")"
android:textSize="21sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:background="@color/actionButton"
android:textColor="@color/textcolor"/>

</android.support.constraint.ConstraintLayout>

Output:
13

4. Devise an application that draws basic graphical primitives (rectangle, circle) on the screen.

MainActivity.java:

package com.example.map.exno4;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends Activity


{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//Creating a Bitmap
Bitmap bg = Bitmap.createBitmap(720, 1280, Bitmap.Config.ARGB_8888);

//Setting the Bitmap as background for the ImageView


ImageView i = (ImageView) findViewById(R.id.imageView);
i.setBackgroundDrawable(new BitmapDrawable(bg));

//Creating the Canvas Object


Canvas canvas = new Canvas(bg);

//Creating the Paint Object and set its color & TextSize
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setTextSize(50);

//To draw a Rectangle


canvas.drawText("Rectangle", 420, 150, paint);
canvas.drawRect(400, 200, 650, 700, paint);

//To draw a Circle


canvas.drawText("Circle", 120, 150, paint);
canvas.drawCircle(200, 350, 150, paint);

//To draw a Square


canvas.drawText("Square", 120, 800, paint);
canvas.drawRect(50, 850, 350, 1150, paint);

//To draw a Line


canvas.drawText("Line", 480, 800, paint);
canvas.drawLine(520, 850, 520, 1150, paint);
}
}
14

activity_main.xml:

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


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView" />
</RelativeLayout>

Output:
15

5. Build an mobile application that create, save, update and delete data in a database.

MainActivity.java:

package com.example.map.loginregister;

import android.database.Cursor;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


SQLiteHelper myDb;
TextView name,marks,id;
Button insertbtn,updatebtn,displaybtn,deletebtn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

id=(TextView)findViewById(R.id.editText1);
name=(TextView)findViewById(R.id.editText2);
marks=(TextView)findViewById(R.id.editText3);
insertbtn=(Button)findViewById(R.id.button1);
displaybtn=(Button)findViewById(R.id.button2);
updatebtn=(Button)findViewById(R.id.button3);
deletebtn=(Button)findViewById(R.id.button4);
myDb=new SQLiteHelper(this);

insertbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(id.getText().toString().trim().length()==0 ||
name.getText().toString().trim().length()==0||
marks.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter all values");
return;
}
boolean
result=myDb.insertData(name.getText().toString(),marks.getText().toString());
if(result==true)
Toast.makeText(getApplicationContext(),"Record
Inserted",Toast.LENGTH_SHORT).show();
else

Toast.makeText(getApplicationContext(),"Failed",Toast.LENGTH_SHORT).show();

clearText();
}

});

displaybtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor res = myDb.getAllData();
if (res.getCount() == 0)
16

Toast.makeText(MainActivity.this, "NO DATA",


Toast.LENGTH_SHORT).show();
else {
StringBuffer buffer = new StringBuffer();
while (res.moveToNext()) {
buffer.append("Id :" + res.getString(0) + "\n");
buffer.append("Name :" + res.getString(1) + "\n");
buffer.append("Marks :" + res.getString(2) + "\n");

}
showMessage("DATA", buffer.toString());
}
clearText();
}

});

updatebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(id.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter Rollno");
return;
}
boolean
result=myDb.updateData(id.getText().toString(),name.getText().toString(),marks.getT
ext().toString());
if (result==true){

Toast.makeText(MainActivity.this,"Updated",Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this,"Not Updated....try
again",Toast.LENGTH_LONG).show();
}
clearText();}

});

deletebtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor res = myDb.getAllData();
if(id.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter Rollno");
return;
}
if (res.getCount() == 0)
Toast.makeText(MainActivity.this, "NO DATA",
Toast.LENGTH_SHORT).show();

else {
boolean result = myDb.deleteData(id.getText().toString(),
name.getText().toString(), marks.getText().toString());
if (result == true) {
Toast.makeText(MainActivity.this, "Deleted",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "Not Deleted....try
again", Toast.LENGTH_LONG).show();
}
}
clearText();
//showMessage("DATA", buffer.toString());
17

}
});

private void showMessage(String title, String message) {


AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle(title);
builder.setMessage(message);
builder.show();
}

public void clearText()


{
id.setText("");
name.setText("");
marks.setText("");
id.requestFocus();
}
}

SQLiteHelper.java:

package com.example.map.loginregister;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

import static android.os.Build.ID;

public class SQLiteHelper extends SQLiteOpenHelper {


public static String DATABASE_NAME = "kartik.db";
public static String TABLE_NAME = "user";
public static final String COL_1 = "id";
public static final String COL_2 = "name";
public static final String COL_3 = "marks";
public static final String TABLE_CREATE = "CREATE TABLE user (id INTEGER
PRIMARY KEY AUTOINCREMENT,name TEXT,marks INT(2))";

private Context context;

public SQLiteHelper(Context context) {

super(context, DATABASE_NAME, null, 3);


this.context = context;
}

@Override
public void onCreate(SQLiteDatabase db) {
Toast.makeText(context, "In onCreate", Toast.LENGTH_LONG).show();
try {
db.execSQL(TABLE_CREATE);
} catch (Exception e) {
Toast.makeText(context, e.getMessage(), Toast.LENGTH_SHORT).show();
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Toast.makeText(context, "I am in upgrade", Toast.LENGTH_LONG).show();
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
18

onCreate(db);
}

public boolean insertData(String name, String marks) {


SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COL_2, name);
cv.put(COL_3, marks);
long result = db.insert(TABLE_NAME, null, cv);
if (result == -1)
return false;
else
return true;
}

protected Cursor getAllData() {


SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from " + TABLE_NAME, null);
return (res);
}

public boolean updateData(String id, String name, String marks) {


SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COL_1, id);
cv.put(COL_2, name);
cv.put(COL_3, marks);
db.update(TABLE_NAME, cv, "ID=?", new String[]{id});
return true;
}

public boolean deleteData(String id, String name, String marks) {


SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COL_1, id);
cv.put(COL_2, name);
cv.put(COL_3, marks);
db.delete(TABLE_NAME, "ID=?", new String[]{id});
return true;
}
}

activity_main.xml:

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


<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/button4"
android:layout_width="110dp"
android:layout_height="42dp"
android:layout_marginStart="224dp"
android:layout_marginLeft="224dp"
android:layout_marginTop="348dp"
android:text="delete"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView3"
19

android:layout_width="124dp"
android:layout_height="35dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="156dp"
android:text="MARKS"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView2"
android:layout_width="124dp"
android:layout_height="35dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="84dp"
android:text="NAME"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="152dp"
android:layout_marginLeft="152dp"
android:layout_marginTop="148dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="152dp"
android:layout_marginLeft="152dp"
android:layout_marginTop="76dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button1"
android:layout_width="112dp"
android:layout_height="47dp"
android:layout_marginStart="52dp"
android:layout_marginLeft="52dp"
android:layout_marginTop="260dp"
android:text="insert"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button2"
android:layout_width="110dp"
android:layout_height="44dp"
android:layout_marginStart="224dp"
android:layout_marginLeft="224dp"
android:layout_marginTop="260dp"
android:text="display"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
20

<Button
android:id="@+id/button3"
android:layout_width="110dp"
android:layout_height="42dp"
android:layout_marginStart="52dp"
android:layout_marginLeft="52dp"
android:layout_marginTop="348dp"
android:text="update"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="152dp"
android:layout_marginLeft="152dp"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView"
android:layout_width="124dp"
android:layout_height="35dp"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:text="ID"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

Output:
21

6. Devise an application that implements Multi-threading.

MainActivity.java:

package com.example.map.multithreading;

import android.content.Intent;
import android.media.MediaPlayer;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


EditText data;
Button musicButton, tableButton;
TextView result;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

data=(EditText)findViewById(R.id.editText);
musicButton=(Button)findViewById(R.id.button);
tableButton=(Button)findViewById(R.id.button2);
result=(TextView)findViewById(R.id.textView);

tableButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MediaPlayer
player=MediaPlayer.create(getApplicationContext(),R.raw.loveralso);
player.start();
}
});

musicButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new CountingTask().execute(data.getText().toString());
}
});
}

public class CountingTask extends AsyncTask<String,Integer,Integer> {


int sum=0;
@Override
protected Integer doInBackground(String... strings) {
int value=Integer.parseInt(strings[0]);
for(int i=value;i<101;i++){
publishProgress(i);
try
{
Thread.sleep(1000);
}
catch (InterruptedException e){
22

e.printStackTrace();
}
}

return sum;
}

@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
result.setText(values[0].toString());
sum=sum+values[0].intValue();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT).show();
}
}
}

activity_main.xml:

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


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="112dp"
android:layout_height="43dp"
android:layout_alignBottom="@+id/editText"
android:layout_alignParentEnd="true"
android:layout_marginEnd="16dp"
android:text=""
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="31dp"
android:layout_marginTop="74dp"
android:ems="10"
android:inputType="textPersonName" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="44dp"
android:layout_marginTop="176dp"
android:text="Start Counting" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
23

android:layout_alignParentEnd="true"
android:layout_alignTop="@+id/button"
android:layout_marginEnd="75dp"
android:text="Button" />

</RelativeLayout>

Output:
24

7. Develop a mobile application that uses GPS location information.

MapsActivity.Java :

package com.example.map.mapss;

import android.Manifest;
import android.content.pm.PackageManager;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.widget.Toast;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

import java.io.IOException;
import java.util.List;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to
be used.

MapFragment mapFragment = (MapFragment)


getFragmentManager().findFragmentById(R.id.map);
//SupportMapFragment mapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);

if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new
String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
} if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new
LocationListener() {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
LatLng latLng = new LatLng(latitude, longitude);
Geocoder geocoder = new Geocoder(getApplicationContext());
try {
25

List<Address> address =
geocoder.getFromLocation(latitude, longitude, 1);
String str = address.get(0).getCountryName() + "," +
address.get(0).getLocality();

Toast.makeText(MapsActivity.this, str,
Toast.LENGTH_SHORT).show();
mMap.addMarker(new
MarkerOptions().position(latLng).title(str));

mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 7.2f));
} catch (IOException e) {
e.printStackTrace();
}
}

@Override
public void onStatusChanged(String s, int i, Bundle bundle) {

@Override
public void onProviderEnabled(String s) {

@Override
public void onProviderDisabled(String s) {

}
});
} else
Toast.makeText(MapsActivity.this, "GPS NOT Enabled",
Toast.LENGTH_SHORT).show(); }

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[]
permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED)

{
Toast.makeText(getApplicationContext(), "Permission Granted",
Toast.LENGTH_LONG).show();
return;

}
}

@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;

@Override protected void onStop() {


super.onStop();
Toast.makeText(MapsActivity.this, "Updates stopped by user",
Toast.LENGTH_SHORT).show();
}
}
26

activity_maps.xml:

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


<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MapsActivity" />

AndroidManifest.xml:

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.kartikk.mapss">
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
location permissions for the 'MyLocation' functionality.
-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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


</intent-filter>
</activity>
</application>

</manifest>

google_maps_api.xml:

<resources>

<string name="google_maps_key" templateMergeStrategy="preserve"


translatable="false">AIzaSyBbu7pBsq0Hjmi8EXZWosMUMKkwHy6uDOg</string>
</resources>
27

Output:
28

8. Create an application that writes data to the SD card.

MainActivity.java:

package com.example.map.sdcard;

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Environment;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class MainActivity extends AppCompatActivity {


EditText data;
TextView readdata;
Button save,read;

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[]
permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (grantResults[0]==PackageManager.PERMISSION_GRANTED){
return;
}
else {
Toast.makeText(getApplicationContext(),"Permission not granted
",Toast.LENGTH_LONG).show();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

save=(Button)findViewById(R.id.button);
read=(Button)findViewById(R.id.button1);
readdata=(TextView)findViewById(R.id.textView);
data=(EditText)findViewById(R.id.editText);
if (ActivityCompat.checkSelfPermission(getApplicationContext(),
Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this,new
String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},1);

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

String str=data.getText().toString();
boolean available=isExternalStorageAvailable();
if (available){
29

File sdCard=Environment.getExternalStorageDirectory();
File dir=new File(sdCard.getAbsolutePath()+ "/Mydir");

Toast.makeText(getApplicationContext(),dir.toString(),Toast.LENGTH_SHORT).show();
if (!dir.exists()){
dir.mkdir();
}
File file=new File(dir,"myfile.txt");

try {

FileOutputStream fout=new FileOutputStream(file,true);


try {
fout.write(str.getBytes());
fout.close();
Toast.makeText(getApplicationContext(),"Message is
saved",Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
});

read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File sdCard=Environment.getExternalStorageDirectory();
File dir=new File(sdCard.getAbsolutePath()+ "/Mydir");
File file=new File(dir,"myfile.txt");

String message;

try {
FileInputStream fin=new FileInputStream(file);
InputStreamReader reader=new InputStreamReader(fin);
BufferedReader bufferedReader=new BufferedReader(reader);
StringBuffer buffer=new StringBuffer();
while ((message=bufferedReader.readLine())!=null){
buffer.append(message+"\n"); }
readdata.setText(buffer.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
public boolean isExternalStorageAvailable(){
String state= Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)){
return true;
}
return true;

}
}
30

activity_main.xml:

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


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="131dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:ems="10"
android:inputType="textMultiLine" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="151dp"
android:text="Save" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="219dp"
android:text="Read" />

<TextView
android:id="@+id/textView"
android:layout_width="343dp"
android:layout_height="123dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="95dp"
android:text=" "
android:textSize="20dp"
android:textColor="#89f515"
android:fontFamily="monospace"/>

</RelativeLayout>

AndroidManifest.xml:

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.kartikk.sdcard">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
31

android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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


</intent-filter>
</activity>
</application>

</manifest>

Output:
32

9. Implement an application that creates an alert upon receiving a message.

MainActivity.java:

package com.example.map.lab9;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity


{
Button notify;
EditText e;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

notify= (Button) findViewById(R.id.button);


e= (EditText) findViewById(R.id.editText);

notify.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this,
SecondActivity.class);
PendingIntent pending =
PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
Notification noti = new
Notification.Builder(MainActivity.this).setContentTitle("New
Message").setContentText(e.getText().toString()).setSmallIcon(R.mipmap.ic_launcher)
.setContentIntent(pending).build();
NotificationManager manager = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
manager.notify(0, noti);
}
});
}
}

activity_main.xml:

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:layout_margin="10dp"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
33

android:layout_height="wrap_content"
android:text="Message"
android:textSize="30sp" />

<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="30sp" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="30dp"
android:layout_gravity="center"
android:text="Notify"
android:textSize="30sp"/>

</LinearLayout>

AndroidManifest.xml:

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.kartikk.lab9">
<uses-permission android:name="android.permission.RECEIVE_SMS" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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


</intent-filter>
</activity>
<activity android:name=".SecondActivity"></activity>
</application>

</manifest>
34

Output:
35

10. Devise a mobile application that creates alarm clock.

MainActivity.java:

package com.example.map.exno11;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;
import android.widget.ToggleButton;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity


{
TimePicker alarmTimePicker;
PendingIntent pendingIntent;
AlarmManager alarmManager;

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
alarmTimePicker = (TimePicker) findViewById(R.id.timePicker);
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
}
public void OnToggleClicked(View view)
{
long time;
if (((ToggleButton) view).isChecked())
{
Toast.makeText(MainActivity.this, "ALARM ON",
Toast.LENGTH_SHORT).show();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute());
Intent intent = new Intent(this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

time=(calendar.getTimeInMillis()-(calendar.getTimeInMillis()%60000));
if(System.currentTimeMillis()>time)
{
if (calendar.AM_PM == 0)
time = time + (1000*60*60*12);
else
time = time + (1000*60*60*24);
}
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time, 10000,
pendingIntent);
}
else
{
alarmManager.cancel(pendingIntent);
Toast.makeText(MainActivity.this, "ALARM OFF",
Toast.LENGTH_SHORT).show();
}
}
}
36

AlarmReceiver.java:

package com.example.map.exno11;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.widget.Toast;

public class AlarmReceiver extends BroadcastReceiver


{
@Override
public void onReceive(Context context, Intent intent)
{
Toast.makeText(context, "Alarm! Wake up! Wake up!",
Toast.LENGTH_LONG).show();
Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
if (alarmUri == null)
{
alarmUri =
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
}
Ringtone ringtone = RingtoneManager.getRingtone(context, alarmUri);
ringtone.play();
}
}

activity_alarm_receiver.xml:

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


<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AlarmReceiver">

</android.support.constraint.ConstraintLayout>

activity_main.xml:

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


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />

<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
37

android:layout_margin="20dp"
android:checked="false"
android:onClick="OnToggleClicked" />
</LinearLayout>

AndroidManifest.xml:

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.kartikk.exno11">

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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


</intent-filter>
</activity>

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

<activity android:name=".AlarmReceiver"></activity>
</application>

</manifest>

Output:

You might also like