Android Practical File
Android Practical File
OF
MOBILE COMPUTING
1
INDEX
SR. NO. Practical Name Page Remarks
2
PROGRAM – 1
Program in android to print “Hello World”.
Activity_main.xml
<?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:layout_width="wrap_content"
android:layout_height="100dp"
android:text="Hello World!"
android:textSize="50dp"
android:textColor="#800000"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
3
}
}
OUTPUT :
4
PROGRAM – 2
Program in android to ADD two numbers.
Activity_main.xml
<?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">
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
android:textSize="25dp"
android:hint="Enter First Number"
app:layout_constraintBottom_toTopOf="@+id/editText2"
app:layout_constraintEnd_toEndOf="parent"
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:ems="10"
android:hint="Enter Second Number"
android:textSize="25dp"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.176" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
5
android:layout_height="wrap_content"
android:text="ADD"
android:outlineSpotShadowColor="@color/black"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.336" />
<TextView
android:id="@+id/TextView"
android:layout_width="205dp"
android:layout_height="70dp"
android:hint="Result"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.49"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.597" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.additionapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Button;
import android.widget.TextView;
6
editText1 = findViewById(R.id.editText1);
editText2 = findViewById(R.id.editText2);
button1 = findViewById(R.id.button1);
TextView= findViewById(R.id.TextView);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int f,s,a;
f = Integer.parseInt(editText1.getText().toString());
s = Integer.parseInt(editText2.getText().toString());
a = f+s;
TextView.setText("Result is " +a);
}
});
} }
OUTPUT :
7
PROGRAM – 3
Program in android to Subtract two numbers.
Activity_main.xml
<?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">
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter First Number"
android:inputType="number"
android:textSize="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.08" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter second Number"
android:inputType="number"
android:textSize="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.21" />
<Button
8
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:text="SUB"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
<TextView
android:id="@+id/textView1"
android:layout_width="266dp"
android:layout_height="56dp"
android:hint="Result"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.496"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button1"
app:layout_constraintVertical_bias="0.119" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.subtractapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
9
editText2 = findViewById(R.id.editText2);
button1 = findViewById(R.id.button1);
textview1 = findViewById(R.id.textView1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int f,s,a;
f = Integer.parseInt(editText1.getText().toString());
s = Integer.parseInt(editText2.getText().toString());
a = f-s;
textview1.setText("Result is " +a);
}
});
}
}
OUTPUT :
10
PROGRAM – 4
Program in android to create an application of calculator
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat
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:id="@+id/size"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter first number"
android:textSize="100px"
android:inputType="number" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter second number"
android:textSize="100px"
android:inputType="number" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add"
android:layout_margin="20dp"/>
<Button
android:id="@+id/button2"
11
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sub"
android:layout_margin="20dp"
/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mul"
android:layout_margin="20dp"
/>
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="div"
android:layout_margin="20dp"/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Result"
android:textSize="200px"/>
</androidx.appcompat.widget.LinearLayoutCompat>
MainActivity.java
package com.example.simplemathcalculation;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Button;
import android.widget.TextView;
12
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = findViewById(R.id.editText1);
editText2 = findViewById(R.id.editText2);
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
button4 = findViewById(R.id.button4);
textview1 = findViewById(R.id.textView1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int f,s,a;
f = Integer.parseInt(editText1.getText().toString());
s = Integer.parseInt(editText2.getText().toString());
a = f+s;
textview1.setText("Result is " +a);
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int f,s,b;
f = Integer.parseInt(editText1.getText().toString());
s = Integer.parseInt(editText2.getText().toString());
b = f-s;
textview1.setText("Result is " +b);
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int f,s,c;
f = Integer.parseInt(editText1.getText().toString());
s = Integer.parseInt(editText2.getText().toString());
c = f*s;
textview1.setText("Result is " +c);
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int f,s;
double d;
13
f = Integer.parseInt(editText1.getText().toString());
s = Integer.parseInt(editText2.getText().toString());
d = f/s;
textview1.setText("Result is " +d);
}
});
}
}
OUTPUT :
14
PROGRAM – 5
Program in android to illustrate the use of ImageView
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">
<ImageView
android:id="@+id/imageView"
android:layout_width="270dp"
android:layout_height="212dp"
android:layout_marginHorizontal="100dp"
android:layout_marginTop="200dp"
android:layout_weight="1" />
</LinearLayout>
MainActivity.java
package com.example.imageview;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageview=findViewById(R.id.imageView);
15
drawable=getResources().getDrawable(R.drawable.image1);
imageview.setImageDrawable(drawable);
}
}
OUTPUT :
16
PROGRAM – 6
Program in android to illustrate the use of ImageView and
Radio Button
Activity_main.xml
<?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">
<ImageView
android:id="@+id/imageview"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_centerInParent="true"
app:layout_constraintBottom_toTopOf="@+id/edittext1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.186" />
<TextView
android:id="@+id/tv1"
android:layout_width="122dp"
android:layout_height="38dp"
android:text="Course"
android:textSize="18dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/radioGroup"
app:layout_constraintHorizontal_bias="0.455"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.33" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="140dp"
android:layout_height="121dp"
17
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.819"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.321">
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="M.TECH" />
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="match_parent"
android:layout_height="49dp"
android:text="B.TECH" />
</RadioGroup>
<EditText
android:id="@+id/edittext1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter Username"
android:inputType="textPersonName"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
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:ems="10"
android:hint="Enter Password"
android:inputType="textPassword"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edittext1"
app:layout_constraintVertical_bias="0.114" />
18
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="80dp"
android:text="LOGIN"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.52"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edit2ext2" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
package com.example.simpleloginpage;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageview=findViewById(R.id.imageview);
drawable=getResources().getDrawable(R.drawable.image1);
imageview.setImageDrawable(drawable);
}
}
OUTPUT :
19
20
PROGRAM – 7
Program in android to print “Hello World”.
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="wrap_content"
tools:context="ty.practical1.MainActivity">
<TextView android:id="@+id/txtDisplay"
android:layout_width="match_parent
" android:layout_height="90dp"
android:maxLength="15"
android:paddingLeft="10sp"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Large"
android:textSize="40sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_below="@+id/txtDisplay"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnSeven"
android:layout_width="90dp"
android:layout_height="90dp
" android:text="7"
android:textSize="30dp"/>
21
<Button
android:id="@+id/btnEight"
android:layout_width="90dp"
android:layout_height="90dp
" android:text="8"
android:textSize="30dp"/>
<Button
android:id="@+id/btnNine"
android:layout_width="90dp"
android:layout_height="90dp
" android:text="9"
android:textSize="30dp"/>
<Button
android:id=”@+id/btnDivide
”
android:layout_width="90dp"
android:layout_height="90d
p" android:text="/"
android:textSize="30dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:id="@+id/btnFour"
android:layout_width="90dp"
android:layout_height="90dp"
android:text="4"
android:textSize="30dp"/>
<Button android:id="@+id/btnFive"
android:layout_width="90dp"
android:layout_height="90dp"
android:text="5"
android:textSize="30dp"/>
22
<Button android:id="@+id/btnSix"
android:layout_width="90dp"
android:layout_height="90dp"
android:text="6"
android:textSize="30dp"/>
<Button android:id="@+id/btnMultiply"
android:layout_width="90dp"
android:layout_height="90dp"
android:text="*"
android:textSize="30dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:id="@+id/btnOne"
android:layout_width="90dp"
android:layout_height="90dp"
android:text="1"
android:textSize="30dp"/>
<Button android:id="@+id/btnTwo"
android:layout_width="90dp"
android:layout_height="90dp"
android:text="2"
android:textSize="30dp"/>
<Button android:id="@+id/btnThree"
android:layout_width="90dp"
android:layout_height="90dp"
android:text="3"
android:textSize="30dp"/>
<Button
android:id="@+id/btnSub"
android:layout_width="90dp"
23
android:layout_height="90dp
" android:text="-"
android:textSize="30dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnZero"
android:layout_width="90dp"
android:layout_height="90dp
" android:text="0"
android:textSize="30dp"/>
<Button
android:id="@+id/btnDot"
android:layout_width="90dp"
android:layout_height="90dp
" android:text="."
android:textSize="30dp"/>
<Button
android:id="@+id/btnEqual"
android:layout_width="90dp"
android:layout_height="90dp
" android:text="="
android:textSize="30dp"/>
<Button
android:id="@+id/btnAdd"
android:layout_width="90dp"
android:layout_height="90dp
" android:text="+"
android:textSize="30dp"/>
</LinearLayout>
24
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button android:id="@+id/btnClear"
android:layout_width="match_parent
" android:layout_height="50dp"
android:text="C"
android:textSize="20sp"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
MainActivity.java
package ty.practical1;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.text.DecimalFormat;
@Override
25
btnThree = (Button) findViewById(R.id.btnThree); final Button btnFour
= (Button) findViewById(R.id.btnFour); final Button btnFive = (Button)
findViewById(R.id.btnFive); final Button btnSix = (Button)
findViewById(R.id.btnSix); final Button btnSeven = (Button)
findViewById(R.id.btnSeven); final Button btnEight = (Button)
findViewById(R.id.btnEight); final Button btnNine = (Button)
findViewById(R.id.btnNine); final Button btnZero = (Button)
findViewById(R.id.btnZero); final Button btnAdd = (Button)
findViewById(R.id.btnAdd); final Button btnSub = (Button)
findViewById(R.id.btnSub);
btnOne.setOnClickListener(new View.OnClickListener() {
btnTwo.setOnClickListener(new View.OnClickListener() {
btnThree.setOnClickListener(new View.OnClickListener() {
btnFour.setOnClickListener(new View.OnClickListener() {
26
public void onClick(View v){
txtDisplay.append("4");
}
});
btnFive.setOnClickListener(new View.OnClickListener() {
btnSix.setOnClickListener(new View.OnClickListener() {
btnSeven.setOnClickListener(new View.OnClickListener() {
btnEight.setOnClickListener(new View.OnClickListener() {
btnNine.setOnClickListener(new View.OnClickListener() {
27
btnZero.setOnClickListener(new View.OnClickListener() {
btnDot.setOnClickListener(new View.OnClickListener() {
if(hasDot==false) {
txtDisplay.append(".");
hasDot = true;
}
});
btnAdd.setOnClickListener(new View.OnClickListener() {
num1 = Double.parseDouble(txtDisplay.getText().toString());
op = '+';
txtDisplay.setText("");
hasDot = false; //set hasDot to false to use in the next operand.
}
});
btnSub.setOnClickListener(new View.OnClickListener() {
num1 = Double.parseDouble(txtDisplay.getText().toString());
op = '-';
txtDisplay.setText("");
hasDot = false; //set hasDot to false to use in the next operand.
}
});
28
btnMultiply.setOnClickListener(new View.OnClickListener() {
num1= Double.parseDouble(txtDisplay.getText().tostring());
op = ‘*’;
txtDisplay.setText(“”);
hasDot = false;
});
btnDivide.setOnClickListener(new View.OnClickListener() {
num1 = Double.parseDouble(txtDisplay.getText().toString());
op = '/';
txtDisplay.setText("");
hasDot = false; //set hasDot to false to use in the next operand.
}
});
btnEqual.setOnClickListener(new View.OnClickListener() {
num2 = Double.parseDouble(txtDisplay.getText().toString());
switch (op)
{
case '+':
break;
case '-':
break;
case '*':
29
break;
case '/':
break;
default:
break;
}
txtDisplay.setText(ans);
} hasDot = false;
});
OUTPUT:
30
PROGRAM – 8
Develop an application for working with Menus and Screen
Navigation.
Xml code
[Create a menu - Android Resource Directory and create a main_menu.xml – Android
main_menu.xml
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item1"
android:title="FYCS" />
<item android:id="@+id/item2"
android:title="SYCS" />
<item android:id="@+id/item3"
android:title="TYCS" />
</menu>
Source Code:
[Using the MenuInflater link the main_menu.xml file in the MainActivity file]
MainActivity.java
package ty.practical2;
31
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import ty.practical5.R;
@Override
@Override
//return super.onCreateOptionsMenu(menu);
@Override
switch(item.getItemId())
{
case R.id.item1:
32
startActivity(new Intent(MainActivity.this, FYCS.class));
return true;
case R.id.item2:
return true;
case R.id.item3:
return true;
default:
return super.onOptionsItemSelected(item);
} }
OUTPUT:
33
PROGRAM – 9
Develop an application for working with Notifications.
XML Code:
activity_main.xml
<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="ty.practical3.MainActivity">
<Button android:id="@+id/btnCreate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="199dp"
android:onClick="CreateNotification"
android:text="Create Notification" />
</RelativeLayout>
activity_dummy.xml
<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="ty.practical3.Dummy">
<TextView android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="207dp"
android:text="This is Dummy Activity" />
</RelativeLayout>
34
Source Code:
MainActivity.java
package ty.practical3;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent; import
android.os.Bundle;
@Override
int notifyID = 1;
int numMessages = 0;
numMessages+=1;
getSystemService(NOTIFICATION_SERVICE);
intent
35
PendingIntent pIntent = PendingIntent.getActivity(this, (int)
System.currentTimeMillis(), intent, 0);
.setContentTitle("Hello")
.setContentIntent(pIntent)
.setSmallIcon(R.mipmap.ic_launcher)
.setNumber(numMessages)
.setAutoCancel(true);
notificationManager.notify(notifyID, n.build());
OUTPUT:
This practical displays a notification bar similar a message on the device.
36
When the user clicks the Create Notification Button a notification appears as below with a count as 1
on clicking the button again the notification count increases.
When the notification on the notification bar is clicked a dummy activity screen is to be displayed.
37
PROGRAM – 10
Develop an application demonstrating Internal Storage to
store private data on the device Memory
XML Code:
activity_main.xml
<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="ty.practical4.MainActivity">
<EditText android:id="@+id/txtData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="55dp"
android:ems="10"
android:inputType="textMultiLine"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<Button android:id="@+id/txtWrite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnRead"
android:layout_alignBottom="@+id/btnRead"
android:layout_alignParentStart="true"
android:layout_marginStart="34dp"
android:onClick="writeData" android:text="Write"
/>
<Button
android:id="@+id/btnRead"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/txtData"
android:layout_marginEnd="38dp"
android:layout_marginTop="86dp"
38
android:onClick="readData"
android:text="Read" />
</RelativeLayout>
Source Code:
MainActivity.java
package ty.practical4;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
@Override
try {
39
Context.MODE_PRIVATE);
fos.write(data.getBytes());
fos.close(); txtData.setText("");
Toast.makeText(MainActivity.this,"File
Created",Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
int c;
String temp="";
fin.close();
Toast.makeText(MainActivity.this,temp,Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
}
40
OUTPUT:
Here, the demo.txt file created using File I/O objects has a private mode. Thus, demo.txt is not
accessible directly from other apps not even File Explorer it can be accessed within the same app.
To verify that the file is successfully created follow the below steps to see the file in adb shell
window. [The mobile device or emulator where the app is connected should be running].
Run command:
adb shell
run-as ty.practical4
cd files
cat demo.tx
41
PROGRAM - 11
Design a simple to-do list application using SQLite
XML Code:
activity_main.xml
<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="ty.practical5.MainActivity">
<ListView android:id="@+id/lvData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btnAdd"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<EditText android:id="@+id/txtItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/btnAdd"
android:layout_toLeftOf="@+id/btnAdd"
android:layout_toStartOf="@+id/btnAdd"
android:hint="Enter a New Item"
android:inputType="textMultiLine"/>
<Button android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:onClick="AddItem" android:text="Add
Item" />
42
</RelativeLayout>
activity_task_details.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="ty.practical5.TaskDetails">
<Button
android:id="@+id/btnUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/txtData"
android:layout_marginStart="48dp"
android:layout_marginTop="50dp"
android:onClick="Update"
android:text="Update" />
<Button android:id="@+id/btnDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/txtData"
android:layout_alignTop="@+id/btnUpdate"
android:layout_marginEnd="13dp"
android:onClick="Delete" android:text="Delete"
/>
<EditText android:id="@+id/txtData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/btnUpdate"
android:layout_marginStart="19dp"
android:layout_marginTop="57dp"
android:ems="10"
android:inputType="textMultiLine" />
43
</RelativeLayout>
Source Code:
toDoDatabaseHelper.java
package ty.practical5;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
@Override
@Override
44
}
values.put("task", item);
SQLiteDatabase db = getWritableDatabase();
db.insert("ToDo", null, values); db.close();
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DELETE FROM ToDo where task='"+item+"'");
}
try {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("task", newvalue);
db.close();
} catch (Exception e) {
e.printStackTrace();
}
}
do {
45
contactList.add(cursor.getString(0));
} while (cursor.moveToNext());
}
return contactList;
}
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
contactList.add(cursor.getString(1));
}
return contactList;
MainActivity.java
package ty.practical5;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText; import
android.widget.ListView;
import java.util.ArrayList;
46
public class MainActivity extends AppCompatActivity {
@Override
readItems();
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
intent.putExtra("data",
lvData.getItemAtPosition(position).toString());
startActivity(intent);
// Refresh the adapter
refreshListView()
}
});
}
47
public void AddItem(View v) {
txtItem.setText("");
dbAccess.addTask(itemText);
}
try {
} catch (Exception e) {
items = new ArrayList<String>();
}
}
public void refreshListView() {
itemsAdapter.notifyDataSetChanged();
}
}
TaskDetails.java
package ty.practical5;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import
android.view.MenuItem; import
android.view.View;
import android.widget.EditText;
48
private toDoDatabaseHelper dbAccess;
String oldvalue="";
EditText txtData;
@Override
//code to fetch the selected list item data in the previous activity
txtData.setText(intent.getStringExtra("data"));
}
dbAccess.deleteTask(txtData.getText().toString());
49
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
finish();
return super.onOptionsItemSelected(item);
OUTPUT:
50
PROGRAM - 12
Develop an application for connecting to the internet and
sending email
XML Code:
activity_main.xml
<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="ty.practical6.MainActivity">
<Button android:id="@+id/btnSendEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="92dp"
android:onClick="sendEmail"
android:text="Compose Email"
android:layout_alignTop="@+id/txtMessage"
android:layout_centerHorizontal="true" />
<EditText android:id="@+id/txtMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" android:hint="Message"
android:inputType="textMultiLine"
android:singleLine="true"
android:layout_marginTop="48dp"
android:layout_below="@+id/txtSubject"
android:layout_centerHorizontal="true" />
<EditText android:id="@+id/txtEmailTo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="To"
android:inputType="textEmailAddress"
51
android:layout_marginTop="22dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/txtSubject" />
<EditText android:id="@+id/txtSubject"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/txtMessage"
android:layout_below="@+id/txtEmailTo"
android:layout_marginTop="43dp"
android:ems="10"
android:hint="Subject"
android:inputType="text" />
</RelativeLayout>
Source Code:
MainActivity.java
package ty.practical6;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
@Override
52
EditText txtEmailTo = (EditText) findViewById(R.id.txtEmailTo); EditText
txtSubject = (EditText) findViewById(R.id.txtSubject); EditText txtMessage =
(EditText) findViewById(R.id.txtMessage);
emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
emailIntent.putExtra(Intent.EXTRA_CC, CC);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(Intent.EXTRA_TEXT, msg);
try {
finish();
Toast.LENGTH_SHORT).show();
}
}
}
OUTPUT:
On clicking COMPOSE EMAIL button a list of apps will be displayed select a relevant email client app
e.g. Gmail and the contents given as input here will be passed to Gmail app’s email compose screen.
[Well, email sent here is done using an intent but this can be even done using an external email API
service this method of sending email is not necessary to be included as a part of practical but can be
explained in theory.]
53
54
PROGRAM – 13
Develop an application for working with graphics and
animation
XML Code:
[Here, along with the layout xml file 4 other xml files are to be created which define the Shapes and
activity_main.xml
<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="ty.practical7.MainActivity" android:id="@+id/mainLayout">
<ImageView android:id="@+id/imgShape1"
android:layout_width="150dp"
android:layout_height="150dp"
app:srcCompat="@drawable/shape1"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" />
<ImageView android:id="@+id/imgShape2"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_alignEnd="@+id/imgShape1"
android:layout_alignParentBottom="true" />
<Button android:id="@+id/btnAnimation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="75dp"
android:layout_marginEnd="32dp"
android:onClick="Animation"
android:text="Animation"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@+id/imgShape2" />
55
</RelativeLayout>
shape1.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
</shape>
shape2.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
</shape>
shape3.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
</shape>
shape_transition.xml
56
</transition>
Image: Add a drawable object an Image in the res/drawable folder, here for example an image file
name demo.png is used.
Project Structure:
Source Code:
package ty.practical7;
import android.graphics.Color;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.TransitionDrawable; import
android.graphics.drawable.shapes.RectShape; import
android.os.Bundle;
import android.support.v4.content.res.ResourcesCompat;
import android.support.v7.app.AppCompatActivity;
57
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
@Override
DrawableGraphic();
ShapeDrawableGraphic();
}
RelativeLayout rl = (RelativeLayout)findViewById(R.id.mainLayout);
rl.addView(demoimg);
}
58
public void ShapeDrawableGraphic()
{
//Assign Shape Properties
RelativeLayout rl = (RelativeLayout)findViewById(R.id.mainLayout);
// Create Shape 2
shape2.setAlpha(alpha);
RelativeLayout.LayoutParams(height, width);
rl.addView(shape2View);
}
public void Animation(View v){
//Apply Effect
59
transition.setCrossFadeEnabled(true);
transition.startTransition(5000);
} }
OUTPUT:
60
PROGRAM – 14
Develop an application for working with device camera.
XML Code:
activity_main.xml
<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="ty.practical8.MainActivity">
<Button android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:onClick="takePhotos"
android:text="Take a Photo"></Button>
<ImageView android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true">
</ImageView>
</RelativeLayout>
Source Code:
MainActivity.java
package ty.practical8;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
61
import android.widget.ImageView;
@Override
Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, REQUEST_CODE);
}
@Override
62
OUTPUT:
63
PROGRAM – 15
Develop an application for working with Location Based
services.
XML Code:
activity_main.xml
<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="ty.practical9.MainActivity">
<Button android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Get Current Location"
android:id="@+id/btnLocation"/>
<TextView android:id="@+id/txtLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btnLocation" />
</RelativeLayout>
Source Code:
MainActivity.java
package ty.practical9;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.support.v7.app.AppCompatActivity;
64
import android.os.Bundle; import
android.util.Log; import
android.view.View; import
android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
LocationManager locationManager;
@Override
btnLocation = (Button)findViewById(R.id.btnLocation);
txtLocation = (TextView)findViewById(R.id.txtLocation);
btnLocation.setOnClickListener(new View.OnClickListener() {
@Override
});
}
void getLocation() {
try {
locationManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 0,
this);
}
catch(SecurityException e) {
65
e.printStackTrace();
}}
@Override
location.getLongitude());
Log.d("data", + location.getLatitude() + ", " + location.getLongitude());
}
@Override
@Override
@Override
OUTPUT:
66
PROGRAM – 16
Using Worker thread write Android code for a click listener
that downloads an image from a separate thread and displays
it in an ImageView
XML Code:
activity_main.xml
<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"
android:orientation="vertical"
tools:context="ty.practical10.MainActivity"
android:weightSum="1">
<ImageView android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"/>
<Button android:id="@+id/btnDownload"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:onClick="DownloadImage"
android:text="Download Image" />
</RelativeLayout>
Source Code:
MainActivity.java
package ty.practical10;
import android.graphics.drawable.Drawable;
67
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import java.io.IOException;
import java.net.URL;
@Override
/** The system calls this to perform work in a worker thread and
/** The system calls this to perform work in the UI thread and delivers
68
* the result from doInBackground() */
try {
drawable = Drawable.createFromStream(new
URL(imageUrl).openStream(),"image"); }
catch (IOException e) { Log.d("Error",
e.getMessage());
}
return drawable ;
} }
Permission:
<uses-permission android:name="android.permission.INTERNET"/>
OUTPUT:
69