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

practical_file_app_dev[1]

The document outlines several experiments aimed at developing Android applications using Java, focusing on different functionalities such as GUI components, layout managers, activity life cycles, explicit intents, and a calculator application. Each experiment includes XML layout code and corresponding Java source code, demonstrating how to implement features like text display, button interactions, and navigation between activities. The document serves as a practical guide for learning Android app development through hands-on coding examples.

Uploaded by

Vicky Singh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

practical_file_app_dev[1]

The document outlines several experiments aimed at developing Android applications using Java, focusing on different functionalities such as GUI components, layout managers, activity life cycles, explicit intents, and a calculator application. Each experiment includes XML layout code and corresponding Java source code, demonstrating how to implement features like text display, button interactions, and navigation between activities. The document serves as a practical guide for learning Android app development through hands-on coding examples.

Uploaded by

Vicky Singh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Experiment No – 01

Aim:- Develop an application that uses GUI components, Font and Colors in java.
Program:-
Xml Source Code For This Application
<?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="wrap_content"
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="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center"
android:text="@string/change_font_size"
android:textSize="25sp" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:gravity="center"
android:text="@string/change_color"
android:textSize="25sp" />
</LinearLayout>
Java Source Code For This Application
package com.example.myapp1;

import android.graphics.Color;
import androidx.activity.ComponentActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends ComponentActivity {


float font = 30;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final TextView textView = findViewById(R.id.textView);


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

button1.setOnClickListener(v -> {
textView.setTextSize(font);
font += 5;
if (font == 50) {
font = 30;
}
});

button2.setOnClickListener(v -> {
// Change text color here
textView.setTextColor(Color.YELLOW);
});
}
}
Program Output:
Experiment No – 02

Aim:- Develop an application that uses Layout Managers and Event Listeners in java.
Program:-

Xml Source Code For This Application


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">

<EditText
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint=" @string/enter_your_name"
android:textSize="24sp"
android:gravity="center"
android:layout_marginTop="10dp"
android:inputType="textPersonName"/>

<EditText
android:id="@+id/city"
android:layout_marginTop="10dp"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/Enter_Your_City"
android:textSize="24sp" />

<Button
android:id="@+id/button"
android:layout_marginTop="10dp"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Click_Me"
android:textSize="18sp" />

<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="18sp"
android:layout_marginTop="20dp" />
</LinearLayout>

Java Source Code For This Application


import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.activity.ComponentActivity;

public class MainActivity extends ComponentActivity {

private EditText name, city;


private Button button;
private TextView textView;

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

name = findViewById(R.id.name);
city = findViewById(R.id.city);
button = findViewById(R.id.button);
textView = findViewById(R.id.message);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userInput = "Welcome " + name.getText().toString() + " from " +
city.getText().toString();
textView.setText(userInput);
}
});
}
}
Program Output
Experiment No – 03
Aim:- Create an application to display various activity life cycles.
Program:-
Xml Source Code For This Application
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/activity_lifecycle_demo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Java Source Code For This Application


package com.example.lifecycledemo;

import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


private static final String TAG = "LifecycleDemo";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "onCreate called");
Toast.makeText(this, "onCreate called", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart() {
super.onStart();
Log.d(TAG, "onStart called");
Toast.makeText(this, "onStart called", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "onResume called");
Toast.makeText(this, "onResume called", Toast.LENGTH_SHORT).show();
}
@Override
protected void onPause() {
super.onPause();
Log.d(TAG, "onPause called");
Toast.makeText(this, "onPause called", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "onStop called");
Toast.makeText(this, "onStop called", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG, "onRestart called");
Toast.makeText(this, "onRestart called", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy called");
Toast.makeText(this, "onDestroy called", Toast.LENGTH_SHORT).show();
}
}
Program Output
Experiment No – 04

Aim:- Program to develop an application that uses Explicit Intents to navigate between activities.

Program:-

First Xml Source Code For This Application


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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/page1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/this_is_the_first_page"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Second Xml Source Code For This Application


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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=".MainActivity2">

<TextView
android:id="@+id/page2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
First Java Source Code For This Application
package com.example.program4;
import android.content.Intent;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
Button b1 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = findViewById(R.id.page1);
b1.setOnClickListener(
v -> {
Intent i = new Intent(MainActivity.this,MainActivity2.class);
startActivity(i);
}
);
}
}
Second Java Source Code For This Application
package com.example.program4;
import android.content.Intent;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
import android.widget.TextView;
import android.os.Bundle;
import android.widget.Toast;
public class MainActivity2 extends AppCompatActivity {
Button b1 ;

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

Intent intent = getIntent();

TextView text = findViewById(R.id.page2);


text.setText("This is the second activity");
}
}

Android Manifest File For Activities


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Program4"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity2"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
Program output
Experiment No – 05

Aim:- Program to develop calculator application.

Program:-

Xml Source Code For This Application


<?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"
android:padding="16dp">

<!-- Display -->


<TextView
android:id="@+id/display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:gravity="end"
android:padding="16dp"
android:background="#1E4AE9"
android:text="0" />

<!-- Buttons -->


<GridLayout
android:id="@+id/button_grid"
android:layout_below="@id/display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:rowCount="4"
android:columnCount="4"
android:layout_gravity="center">

<!-- Row 1 -->


<Button android:text="7" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="8" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="9" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="/" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onOperatorClick"/>

<!-- Row 2 -->


<Button android:text="4" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="5" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="6" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="*" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onOperatorClick"/>
<!-- Row 3 -->
<Button android:text="1" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="2" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="3" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="-" android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_columnWeight="1" android:onClick="onOperatorClick"/>

<!-- Row 4 -->


<Button android:text="0" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onNumberClick"/>
<Button android:text="C" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onClearClick"/>
<Button android:text="=" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onEqualsClick"/>
<Button android:text="+" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_columnWeight="1"
android:onClick="onOperatorClick"/>

</GridLayout>
</RelativeLayout>
Java Source Code For This Application
package com.example.calculator;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private TextView display;
private String currentNumber = "";
private String operator = "";
private double firstNumber = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display = findViewById(R.id.display);
}
public void onNumberClick(View view) {
Button button = (Button) view;
currentNumber += button.getText().toString();
display.setText(currentNumber);
}
public void onOperatorClick(View view) {
Button button = (Button) view;
operator = button.getText().toString();
firstNumber = Double.parseDouble(currentNumber);
currentNumber = "";
display.setText(operator);
}
public void onEqualsClick(View view) {
double secondNumber = Double.parseDouble(currentNumber);
double result = 0;
switch (operator) {
case "+":
result = firstNumber + secondNumber;
break;
case "-":
result = firstNumber - secondNumber;
break;
case "*":
result = firstNumber * secondNumber;
break;
case "/":
if (secondNumber != 0) {
result = firstNumber / secondNumber;
} else {
display.setText("Error");
return;
}
break;
}
display.setText(String.valueOf(result));
currentNumber = String.valueOf(result);
}
public void onClearClick(View view) {
currentNumber = "";
operator = "";
firstNumber = 0;
display.setText("0");
}
}
Program Output
Experiment No – 06
Aim: Develop an application that makes use of RSS Feed.
Program:
XML Source Code for this Application
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=http://schemas.android.com/apk/res/android
[android:layout_width="fill_parent"
android:layout_height="fill_parent"
44
android:orientation="vertical" >
<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"
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" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Change font"
android:textSize="20sp" />
</LinearLayout>
9) Again click the graphics layout tab and screen layout is look like below
10) Go to project explorer and select SPC folder. Now select mainactivity.java file and type
the following code.
Java Source Code for this Application
PROGRAM
import android.R; 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 AndroidActivity extends Activity { float
font=24; int i=1;
@Override public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.main);
[21:02, 1/13/2025] Selendra Gu Mca: final TextView t1=(TextView)
findViewById(R.id.textView1);
Button bl
= (Button) findViewById(R.id.button1);
b1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
t1.setTextSize(font);
font-font+4;
if(font-40)
font-20:
}
});
Button b2 = (Button) findViewById(R.id.button2);
b2.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:
11.setTextColor(Color.parseColor("#FF0000"));
break;
case 4:
t1.setTextColor(Color.parseColor("#800000"));
break;
}
i++;
if(i-5)
i=1;
}
});
}}) Now go to main.xml and right click select run as option and select run configuration
Experiment No – 07
Aim:- Implement an Application that Implements Multi-threading.
Program:
XML Source Code for this Application
<?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"
48
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 Source Code for this Application
PROGRAM
package multi.threading;
//import your.first.R; import
android.app.Activity; import
android.os.Bundle; import
android.os.Handler; import
android.view.View; import
android.widget.TextView;
public class MultiThreading Activity 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(12);
}
}
});
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(13);
}
}
});
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
if(msg.what tl) {
tvOutput.append("\nIn thread 1");
}
if(msg.what12) {
tvOutput.append("\nIn thread 2");
}
if(msg.what13) {
tvOutput.append("\nIn thread 3");
}}};
Experiment No – 08
Aim: Develop a Native Application That Uses GPS Location Information.
Program:
XML Source Code for this Application
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout!"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/show_Location
android:layout_width="wrap_content"
android:layout_height="wrap_content
android:text="Show Location"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
</RelativeLayout>
Java Source Code for GPS Location Activity
//import android.R;
android.app.Activity;
import
android.os.Bundle;
import import ;
android.view.View;
import
android.widget.Button; impor
android.widget.Toast
public class GPSlocation Activity extends Activity {
/** Called when the activity is first created. */
Button btnShowLocation;
GPStrace gps;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.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(GPSlocationActivity.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();
}
else
{
gps.showSettingAlert();
}
}
});
}
}
Java Source Code for GPS Trace File
Package gps.location;
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.Location Manager; import android.os.Bundle;
import android.os.IBinder; import
android.provider.Settings;
public class GPStrace extends Service implements
LocationListener{ 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 Location Manager location Manager;
public GPStrace(Context context)
{
this.context-context;
getLocation();
public Location getLocation()
try{
location Manager=(LocationManager) context.getSystemService(LOCATION_SERVICE);
isGPSEnabled=locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
isNetworkEnabled=locationManager.isProviderEnabled(LocationManager.NETWORK_PR OVI 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);
}
if (location Manager!=null){
location=locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVI DER);
if(location !=null){
latitude-location.getLatitude();
longtitude-location.getLongitude();
}}
if(isGPSEnabled){
if(location=null){
locationManager.requestLocation Updates (LocationManager.GPS_PROVIDER,MIN_TIME_B
W_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
if (location Manager!=null){
location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if(location!=null){
latitude-location.getLatitude();
longtitude-location.getLongitude();
}}}}}
catch(Exception)
{
e.printStackTrace();
}
return location:
}
public void stopUsingGPS(){
if(location Manager!=null){
locationManager.removeUpdates(GPStrace.this);
}} public double
getLatitude(){
if(location!=null){
latitude-location.getLatitude();
57
}
return latitude;
}
public double getLongtiude(){
if(location!=null){
longtitude=location.getLatitude();
return longtitude;
public boolean canGetLocation(){
return this.canGetLocation;
}
public void showSetting/Alert(){
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();
}});
Experiment No – 09
Aim: Implement an Application that Writes Data to the SD Card.
Program:
XML Code for this Application
<?xml version="1.0" encoding="utf-8"?>
<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" >
61
<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/textViewI"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Java Source Code for This Application
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; impor
android.widget.Toast;
public class SavedatasdcardActivity extends Activity {
/** Called when the activity is first created. */
Button save, load
EditText message;
TextView 11:
String Messagel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
save (Button)
findViewById(R.id.button1);
load (Button)
findViewById(R.id.button2);
message (EditText)
findViewById(R.id.editText1);
11-(TextView)
findViewById(R.id.textView1);
save.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
//Get message from user store in messagel variable
Messagel =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…
}
}catch (FileNotFoundException e){
e.printStackTrace();
}}});
load.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
try{
File sdcard-Environment.getExternal Storage Directory();
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();
}}});
}}

Experiment No – 10
Aim: Implement an Application that Creates an Alert upon Receiving a Message in Android.
Program:
XML Code for this Application
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shrinkColumns="*"
android:stretchColumns=""
android:background="#000000">
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal">
<TextView
android:id="@+id/Title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5px"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center_vertical|center_horizontal"
android:text="QUIZ"
android:textSize="25sp"
android:textStyle="bold" />
<View
android:layout_height="2px"
android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
android:background="#DDFFDD"/>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:text="1.CAPTIAL OF INDIA"
android:layout_span="4"
android:padding="18dip
android:textColor="#ffffff"/>
</TableRow><TableRow
android:id="@+id/tableRow1"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<RadioGroup
android:id="@+id/answer1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.4">
<RadioButton
android:id="@+id/answer1A"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:text="CHENNAI" />
<RadioButton
android:id="@+id/answer1B"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:text="NEW DELHI" />
<RadioButton
android:id="@+id/answer1C"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:text="MUMBAI" />
<RadioButton
android:id="@+id/answer1D"
android:layout_width="match_parent"
Java Source Code for this Application
package com.example.program10;
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;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create a Bitmap
Bitmap bitmap = Bitmap.createBitmap(720, 1280, Bitmap.Config.ARGB_8888);

// Set the Bitmap as background for the ImageView


ImageView imageView = findViewById(R.id.imageView);
imageView.setBackgroundDrawable(new BitmapDrawable(getResources(), bitmap));
// Create a Canvas object
Canvas canvas = new Canvas(bitmap);
// Create a Paint object and set its color and text size
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setTextSize(50);
// Draw a Rectangle
canvas.drawText("Rectangle", 420, 150, paint);
canvas.drawRect(400, 200, 650, 700, paint);
// Draw a Circle
paint.setColor(Color.RED);
canvas.drawText("Circle", 120, 150, paint);
canvas.drawCircle(200, 350, 150, paint);
// Draw a Square
paint.setColor(Color.YELLOW);
canvas.drawText("Square", 120, 800, paint);
canvas.drawRect(50, 850, 350, 1150, paint);
// Draw a Line
paint.setColor(Color.GREEN);
canvas.drawText("Line", 480, 800, paint);
canvas.drawLine(520, 850, 520, 1150, paint);
}

}
Experiment No – 11
Aim: Write a Mobile Application that Creates Alarm Clock.
Program:
XML Code for this Application
<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:paddingl.eft"@dimen/uctivity horizontal margin"
android:paddingRight@dimen/activity_horizontal_margin
android:padding Top-"@dimen/activity vertical margin"
android:paddingBottom"@dimen/activity vertical margin"
toolszcontext" MyActivity">
<TimePicker
android:layout_width="wrap_content"
android:layout height="wrap_content"
android:layout align ParentTop"true
"true" android:la layou tcenter Horizontal"
android:idid/alarm TimePicker"
<ToggleBunon
android:layout width="wrap content"
android:layout height="wrap content"
On/Off
android:text="Alarm
android:id+id/alarm Toggle"
android:layout centerHorizontal="true"
android:layout below="@+id/alarm TimePicker"
android:onClick="on ToggleClicked"
<TextView
android:layout width="wrap content"
android:layout height="wrap_content"
android:textAppearance"?android:attr/textAppearanceLarge"
android:tex
android:id="+id/alarm Text"
android:layout_alignParentBottom="true"
android:layout center Horizontal-"true"
android:layout margin Top="20dp"
android:layout below+id/alarm Toggle"
RelativeLayout>
Java Source Code for Alarm Activity
package com.javapapers.androidalarmelock: import android.app.Activity; import
android.app.Alarm Manager; 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 Alarm Activity extends Activity
Alarm Manager alarm Manager, private PendingIntent pendingIntent; private TimePicker alarm
TimePicker; private static Alarm Activity inst; private TextView alarm TextView:
public static Alarm Activity instance/
return inst; /
Override
public void onStart/
super.onStart(): Inst
this: 1
Override
protected void onCreate(Bundle savedInstanceState) { super.onCreatesavedInstanceState);
setContentView(R.layout.activity my);
alarm TimePicker (TimePicker) findViewById(R.id.alarm TimePicker): alarm TextView
(TextView) findViewById(R.id.alarm Text);
ToggleButton alarm Toggle (ToggleButton) findViewById(R.id.alarm Toggle):
alarm Manager (Alarm Manager) getSystemService(ALARM SERVICE):
1
public void on ToggleClicked(View vieve)
(((ToggleButton) view).isChecked()) (
Log.d("My Activity", "Alarm On");
Calendar calendar Calendar.getInstance():
calendar.senCalendar.HOUR OF DAY, alarm TimePicker.getCurrentHour(0); calendar.set(Calendar,
MINUTE, alarm TimePicker.getCurrentMinute); Intent mylntent-new Intent(Alarm Activity.this,
AlarmReceiver.class); pendingIntent PendingIntent.getBroadcast(Alarm/Activity.this, 0, mylntent,
0); alarm Manager.set(Alarm Manager. RTC, calendar.getTimela Millist), pendingIntent); Jebe
alarmManager.cancel(pendingIntent); set Alarm Text("");
Log.d("MyActivity", "Alarm Off"):
11
public void setAlarm Text(String alarm Texts/ alarm TextView.setText(alarm Text);
}}
Java Source Code for Alarm Receiver
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. Wakeful BroadcastReceiver; public class
Alarm Receiver extends Wakeful BroadcastReceiver
Override
public void onReceive(final Context context, Intent intent)
this will update the UI with message Alarm Activity, instance): Wake up!") Alarm Activity inst
inst.setAlarm Textt" Alarm! 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 alarm Uri
RingtoneManager.getDefaultUri(Ringtone Manager. TYPE ALARM alarmUri
if (alarmUri null)
RingtoneManager.getDefaultUri(Ringtone Manager. TYPE NOTIFICATION):
Ringtone ringtone RingtoneManager.getRingtonefcontext, alarmUriz ringtone.play();
this will send a notification message
ComponentName comp new ComponentName(context.getPackageName), Alarm
Service,class.getName()); startWakefulServicefcontext, (intent.setComponent/comp)));
setResultCoder Activity RESULT_OK); }}
Java Source Code For Alarm Notification Message
package com.javapapers.androidalarmclock; import android.app.IntentService; import
android.app. Notification Manager; import android.app.PendingIntent; import
android.content.Context; import android.content.Intent;
import android.support.v4.app. NotificationCompat: import android.util.Log;
public class Alarm Service extends IntentService (private Notification Manager alarm Notification
Manager:
public AlarmService() supert" Alarm Service");/
Override
public void on Handle Intent(Intent intent) Upl
private void send Notification(String wxg)
Log.d("Alarm Service", "Preparing to send notification...:"+magi: alarm Notification Manager
(Notification Manager) this getSystemService(Context.NOTIFICATION SERVICE);
PendingIntent contentIntent PendingIntent.getActivity(this, 8, Alarm Activity.classi, 0); new
Intenttthis,
NotificationCompat.Builder alam. Notification Builder new NotificationCompat. Buildert
send Notifications Wake Up! Wake
shisi.serContentTitle("Alarm").setSmallIcon(R.drawable.ic launcher)
setStyleśnew NotificationCompat. Big TextStyle().big Text(weg)) setContent Texnimag):
alam Notification Builder.setContentIntenticontentlatent);
alarm Notification Manager.notify(1, alam Notification Builder.huild()); Log.d("AlarmService",
"Notification sent.");)}}
Menifest File For This Alarm Application
<?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="astring/app_name" android:theme="@style/App Theme">
<activity
android:name" Alarm Activity"
android:label="@string/app name>
<intent-filter
<action android:name="android.intent.action.MAIN"
<category android:name="android.intent.category.LAUNCHER"/>
<Antent-filter>
<activity service
android:name" Alarm Service" android:enabled="true">
<receiver android:name="AlarmReceiver"/>
<application>
<manifest>

You might also like