0% found this document useful (0 votes)
36 views180 pages

Ampfinalpractials

The document describes creating an Android calculator application with a user interface containing buttons, text fields and labels. It includes the XML layout code and Java code to handle button clicks and perform calculations by parsing the user input and displaying the result.

Uploaded by

shrishtishah149
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)
36 views180 pages

Ampfinalpractials

The document describes creating an Android calculator application with a user interface containing buttons, text fields and labels. It includes the XML layout code and Java code to handle button clicks and perform calculations by parsing the user input and displaying the result.

Uploaded by

shrishtishah149
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/ 180

Advanced Mobile Programming Vivek College Of Commerce

Practical No 1

Aim: Create a standard calculator application in android.

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/ed2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.81"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.186" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="number1"
app:layout_constraintBottom_toBottomOf="parent"

1
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.17"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.117" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="result"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.341"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.299" />

<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="number2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.171"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.198" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:text="+"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.123"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.481" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.773"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.481" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.229"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.616" />

<Button
android:id="@+id/button4"
3
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.879"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.597" />

<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="%"
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.784" />

<EditText
android:id="@+id/ed1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
tools:layout_editor_absoluteX="167dp"
tools:layout_editor_absoluteY="65dp" />

</androidx.constraintlayout.widget.ConstraintLayout>

4
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

MainActivity.java

package com.example.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.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

EditText et1,et2;
Button b1,b2,b3,b4;
TextView tv;

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

et1=findViewById(R.id.number1);
et2=findViewById(R.id.number2);
b1=findViewById(R.id.add);
b2=findViewById(R.id.sub);
b3=findViewById(R.id.mul);
b4=findViewById(R.id.div);
tv=findViewById(R.id.textView);

5
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public void add_function(View view)


{
double num1 = Double.parseDouble(et1.getText().toString());
double num2 = Double.parseDouble(et2.getText().toString());
double res =num1+num2;
Toast.makeText(getApplicationContext(),"Addition is
"+res,Toast.LENGTH_SHORT).show();
tv.setText(String.format("Result: "+res));
}
public void sub_function(View view)
{
double num1 = Double.parseDouble(et1.getText().toString());
double num2 = Double.parseDouble(et2.getText().toString());
double res =num1-num2;
Toast.makeText(getApplicationContext(),"Substraction is
"+res,Toast.LENGTH_SHORT).show();
tv.setText("Result: "+res);
}
public void mul_function(View view)
{
double num1 = Double.parseDouble(et1.getText().toString());
double num2 = Double.parseDouble(et2.getText().toString());
double res =num1*num2;
Toast.makeText(getApplicationContext(),"Multiply is
"+res,Toast.LENGTH_SHORT).show();
tv.setText("Result: "+res);
}
public void div_function(View view)
{
double num1 = Double.parseDouble(et1.getText().toString());
double num2 = Double.parseDouble(et2.getText().toString());
double res =num1/num2;

6
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Toast.makeText(getApplicationContext(),"Divison is
"+res,Toast.LENGTH_SHORT).show();
tv.setText("Result: "+res);
}

Output:

7
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 2

Aim: Create an android application for the following menu items, the appropriate toast
should appear by clicking on the item.

 Settings
 Search
 Compose Email
 Feedback (Compose Email Item Disabled)

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:id="@+id/menuex"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" />

MainActivity.java

package com.example.menuitem;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.RelativeLayout;
import android.widget.Toast;

8
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public class MainActivity extends AppCompatActivity {

RelativeLayout r;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
r=(RelativeLayout)findViewById(R.id.menuex);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflator=getMenuInflater();
menuInflator.inflate(R.menu.my_menu,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item)
{
switch(item.getItemId())
{
case R.id.m1:
Toast.makeText(getApplicationContext(),"Settings",Toast.LENGTH_SHORT).sho
w();
return true;
case R.id.m2:
Toast.makeText(getApplicationContext(),"Search",Toast.LENGTH_SHORT).show
();
return true;
case R.id.m3:
Toast.makeText(getApplicationContext(),"Compose
Email",Toast.LENGTH_SHORT).show();
return false;
case R.id.m4:

9
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Toast.makeText(getApplicationContext(),"Feedback",Toast.LENGTH_SHORT).sh
ow();
return true;
}
return super.onOptionsItemSelected(item);
}
}
My_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:id="@+id/m1"
android:title="Setting" />
<item
android:id="@+id/m2"
android:title="Search" />
<item
android:id="@+id/m3"
android:title="Compose Email" />
<item
android:id="@+id/m4"
android:title="Feedback" />
</menu>

10
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

11
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 3

Aim: Create an android application to pass the data from current application to another
application using intent.

Activity_Main.xml

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

<RelativeLayout xmlns:android="http://schemas. android.com/apk/tes/android"

xmins:app="http://schemas.android.com/apk/res-auto"

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

android:id="(@-+id/btnl"

android:layout width="match parent"

android:layout_height="match_parent"

android :background="(@android:color/holo_blue_bright"

tools:context=".MainActivity">

<TextView android:id="(@+id/tv1" android:layout_width="374dp"

android:layout height="59dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_centerHorizontal="true" android:layout_marginStart="23dp"

android:layout_marginLeft="23dp" android:layout_marginTop="49dp"

android:text="Welcome to Login Page !!!" android:textSize="3 0sp" />

<TextView android:id="(@+id/tv2" android:layout_width="wrap_content"

android:layout_height="Wrap_content" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_marginStart="41dp" android: layout_marginLeft="41dp"

android:layout_marginTop="143 dp" android:text="Enter Username :" />

12
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<TextView android:id="(@+id/tv3" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_marginStart="40dp" android:layout_marginL eft="40dp"

android:layout_marginT op="209dp" android:text="Enter Password : " />

<EditText android:id="@+id/ed1" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginT op="130dp" android:layout_marginEnd="31dp"

android:layout_marginRight="31dp" android:ems="10"

android:inputT ype="textPersonName" />

<EditText android:id="@+id/ed2" android:layout_width="wrap_content"

android:layout_height="Wrap_content" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout alignParentRight="true"

android:layout_marginTop="193dp" android:layout_marginEnd="33dp"

android:layout_marginRight="33 dp" android:ems="10"

android:inputType="textPassword' />

<Button android:id="(@+id/button2"

android:layout_width="135dp" android:layout_height="65dp"

android:layout_alignParentStart="true" android:layout_alignParentLeft="true"

android:layout_alignParentTop="true" android:layout_centerInParent="true"

android:layout_marginStart="129dp" android:layout_marginLeft="129dp"

android:layout_marginTop="324dp" android :onClick="Chk1_ogin"

android:text="Login" />

13
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

</RelativeLayout>

MainActivity.java

package com.example.passdatausingintent:

import androidx.appcompat.app.AppCompatActivity;

import android. content. Intent;

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 {

EditText e1,e2;

Intent it;

@Overnide

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R layout.activity_ main);

e1=(EditText) findViewByld(R.id.edJ):

e2=(EditText) findViewByld(R.id ed2);

public void ChkLogin(View view) {

if(el .getText().toString().equals("Sophia") && e2.getText().toString().equals("123")) {

Toast. makeText(getApplicationContext(), "Login Success!!!!" Toast LENGTH


LONG).show();

14
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

it = new Intent(this.LoginPage.class);

it. putExtra("Fullname" ,e1.getText().toString());

startActivity(it):

else

Toast.makeText(getApplicationContext(),"Login Failed !!!!",Toast LENGTH LONG).show():

activity_login_page.xml

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

<RelativeLayout xmlns:android="http://schemas. android.com/apk/tes/android"

xmins:app="http://schemas.android.com/apk/res-auto"

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

android:layout_width="match parent”

android:layout_height="match_parent"

android :background="(@drawable/backgroundimage"

tools:context=".LoginPage">

<TextView android:id="(@+id/tv1" android:layout_width="218dp"

android:layout_height="42dp" android:layout_alignParentTop="tmie"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_centerHorizontal="true" android:layout_marginTop="73 dp"

android:layout_marginEnd="127dp" android:layout_marginRight="127dp"

android:textSize="24sp" />

</RelativeLayout>

15
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Loginpage.java

package com.example.passdatausingintent;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog:

import android.content. DialogInterface;

import android.content. Intent:

import android. os.Bundle:

import android. widget.Text View;

public class LoginPage extends AppCompatActivity {

Intent it;

TextView t1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState):

setContentView(R. layout.activity login page):

it = getIntent();

ti=findViewByld(R..id.tvJ);

String name = it. getStringExtra(" Fullname"),

@Overnide

public void onBackPressed() {

new AlertDialog. Builder(this).setIcon(android.R.drawable.ic_dialog_alert).setTitle("Exit")

.setMessage("Are you sure?")

16
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

.setPositiveButton("'yes", new DialogInterface.OnClickListener() {

@oOverride

public void onClick(DialogInterface dialog, int which) {

Intent intent = new Intent(Intent ACTION MALIN),

intent.addCategory(Intent.CA TEGORY HOME),

intent.setFlags(Intent. FLAG ACTIVITY NEW _ TASK),

startActivity(intent);

finish():

System. exit(0);

}).setNegativeButton("no", null).show();

17
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

18
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 4

Aim: Create an android application to display Alert Dialog on pressing Back 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">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Application that display the alert Dialogue on Click of back button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.alertdialogue;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

19
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.Toast;
import android.window.OnBackInvokedDispatcher;

public class MainActivity extends AppCompatActivity {

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

@Override
public void onBackPressed() {
super.onBackPressed();
AlertDialog.Builder ab=new AlertDialog.Builder(this);
ab.setCancelable(false);
ab.setMessage("Are you sure to Exit?");
ab.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "You clicked on Cancel",
Toast.LENGTH_SHORT).show();
}
});
ab.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "You clicked on No",
Toast.LENGTH_SHORT).show();

20
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

});
ab.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();

}
});
AlertDialog ad=ab.create();
ad.show();

}
}

Output:

Practical No 5
21
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Aim: Create the background service android application to play the ringtone/music.

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">
<Button android:id="@+id/button" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_marginTop="317dp"
android:onClick="stopMusic" android:text="Stop"
android:textSize="36sp" />
<Button android:id="@+id/button2" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:layout_marginTop="238dp" android:onClick="startMusic"
android:text="Start" android:textSize="36sp" />
</RelativeLayout>

MainActivity.java

package com.example.musicplayer;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

22
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public void startMusic(View view) {


Intent it = new Intent(this,MyService.class);
startService(it);
}
public void stopMusic(View view) {
Intent it = new Intent(this,MyService.class);
stopService(it);
}
}

MyService.java
package com.example.musicplayer;

import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;

import androidx.annotation.Nullable;

public class MyService extends Service {

MediaPlayer mp;
@Nullable
@Override
public IBinder onBind(Intent intent)
{
return null;
}
@Override

23
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public int onStartCommand(Intent intent, int flags, int startId) {


mp = MediaPlayer.create(this, R.raw.andrukadhalpanniyathu);
mp.start();
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
mp.stop();
super.onDestroy();
}
}

AndroidManifest.xml
<?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.Musicplayer"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

24
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

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


</intent-filter>
</activity>
<service android:name=".MyService" android:enabled="true"></service>
</application>

</manifest>

Output:

Practical No 6
25
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Aim: Create an android application with automatically notify the user when aeroplane mode
is turned on or off using broadcase receiver.

Activity_Main.xml

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

<RelativeLayout xmlns:android="http://schemas. android.com/apk/Tes/android"

xmins:app="http://schemas.android.com/apk/res-auto"

xmins: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="wrap_ content"

android:layout_alignParentStart="true" android:layout_alignParentTop="true"

android:layout_marginStart="118dp" android:layout_marginTop="60dp"

android:text="Broadcast Receiver" />

</RelativeLayout>

MyBroadcastReceiver.java

package com.example.broadcastreceiver;

import android.content.BroadcastReceiver:

import android.content.Context;

import android.content. Intent;

import android.util Log:

import android. widget.Toast;

public class MyBroadcastReceiver extends BroadcastReceiver {

26
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

private static final String TAG = "MyBroadcastReceiver";

@Overnide

public void onReceive(Context context, Intent intent) {

StringBuilder sb = new StringBuilder();

sb.append(" Action: "+ intent.getAction() + "\n");

sb.append("URI: " + intent.toUri(Intent. URI INTENT SCHEME).toString() + "\n"):

String log = sb.toString(); Log.d(TAG log):

Toast.makeText(context, log, Toast LENGTH LONG).show():

MainActivity.java

package com.example.broadcastreceiver;

import androidx.appcompat.app.AppCompatActivity;

import android. os.Bundle:

public class MainActivity extends AppCompatActivity {

(@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R layout.activity main);

Android Manifest.xml

<receiver android:name=".MyBroadcastReceiver" android:exported="true">

27
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<intent-filter>

<action android:name="android.intent.action. AIRPLANE MODE" />

</intent-filter>

</receiver>

Output:

28
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 7

Aim: Create an android application using sqlite database to manage the students data by
using insert, update and delete operations and display the data in list view. Allow user to
insert Roll No, Name and Age of the student.

Activity_Main.xml

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


<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:background="@android:color/holo_blue_light"
tools:context=".MainActivity">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="43dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="11dp"
android:layout_marginLeft="11dp"
android:layout_marginTop="62dp"
android:text="Enter Roll No : "
android:textSize="24sp" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

29
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="23dp"
android:layout_marginLeft="23dp"
android:layout_marginTop="129dp"
android:text="Enter Name : "
android:textSize="24sp" />

<TextView
android:id="@+id/textView3"
android:layout_width="135dp"
android:layout_height="42dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="26dp"
android:layout_marginLeft="26dp"
android:layout_marginTop="192dp"
android:text="Enter Age : "
android:textSize="24sp" />

<EditText
android:id="@+id/editText"
android:layout_width="157dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="51dp"
android:layout_marginEnd="33dp"
30
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_marginRight="33dp"
android:ems="10"
android:inputType="textPersonName" />

<EditText
android:id="@+id/editText2"
android:layout_width="169dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="118dp"
android:layout_marginEnd="27dp"
android:layout_marginRight="27dp"
android:ems="10"
android:inputType="textPersonName" />

<EditText
android:id="@+id/editText3"
android:layout_width="165dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="189dp"
android:layout_marginEnd="30dp"
android:layout_marginRight="30dp"
android:ems="10"
android:inputType="textPersonName" />

31
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="304dp"
android:background="@android:color/holo_green_light"
android:text="Insert Record"
android:textSize="18sp" />

<Button
android:id="@+id/b2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="307dp"
android:layout_marginEnd="52dp"
android:layout_marginRight="52dp"
android:background="@android:color/holo_green_light"
android:text="Edit Record"
android:textSize="18sp" />

<Button
android:id="@+id/b3"
android:layout_width="wrap_content"
32
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="433dp"
android:background="@android:color/holo_red_dark"
android:text="Delete Record"
android:textSize="18dp" />

<Button
android:id="@+id/b4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="432dp"
android:layout_marginEnd="45dp"
android:layout_marginRight="45dp"
android:background="@android:color/holo_green_light"
android:text="View Records"
android:textSize="18sp" />

<Button
android:id="@+id/b5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
33
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_marginStart="148dp"
android:layout_marginLeft="148dp"
android:layout_marginTop="561dp"
android:background="@android:color/holo_green_light"
android:text="Clear"
android:textSize="18sp" />
</RelativeLayout>

MainActivity.java

package com.example.sqllite;

import android.app.AlertDialog;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


Database_Helper db;
EditText e1, e2, e3;
Button b1, b2, b3, b4, b5;

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

34
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

e1 = (EditText) findViewById(R.id.editText);
e2 = (EditText) findViewById(R.id.editText2);
e3 = (EditText) findViewById(R.id.editText3);
b1 = findViewById(R.id.b1);
b2 = findViewById(R.id.b2);
b3 = findViewById(R.id.b3);
b4 = findViewById(R.id.b4);
b5 = findViewById(R.id.b5);
db = new Database_Helper(this);

b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean chk = db.insertData(e1.getText().toString(), e2.getText().toString(),
e3.getText().toString());
if (chk == true)
Toast.makeText(getApplicationContext(), "Record Inserted Successfully!!",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(getApplicationContext(), "Record not Inserted !!",
Toast.LENGTH_SHORT).show();
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean chk = db.updateData(e1.getText().toString(), e2.getText().toString(),
e3.getText().toString());
if (chk == true)
Toast.makeText(getApplicationContext(), "Record Updated Successfully!!",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(getApplicationContext(), "Record not Updated !!",
Toast.LENGTH_SHORT).show();

35
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int c = db.deleteData(e1.getText().toString());
if (c > 0)
Toast.makeText(getApplicationContext(), "Record Deleted Successfully!!",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(getApplicationContext(), "Record not Deleted",
Toast.LENGTH_SHORT).show();
}
});
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor cs = db.viewData();
if (cs.getCount() == 0) {
showmesage("Error", "Nothing Found");
Toast.makeText(getApplicationContext(), "No Record Found",
Toast.LENGTH_SHORT).show();
return;
} else {
StringBuffer sb = new StringBuffer();
while (cs.moveToNext()) {
sb.append("Roll No : " + cs.getInt(0) + "\n");
sb.append("Name : " + cs.getString(1) + "\n");
sb.append("Age : " + cs.getInt(2) + "\n\n");
}
showmesage("Data", sb.toString());
}
}
});

36
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

b5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
e1.setText("");
e2.setText("");
e3.setText("");
}
});
}

public void showmesage(String title, String message) {


AlertDialog.Builder ab = new AlertDialog.Builder(this);
ab.setCancelable(true);
ab.setTitle(title);
ab.setMessage(message);
ab.show();
}
}

Database_Helper.java

package com.example.sqllite;

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

public class Database_Helper extends SQLiteOpenHelper {


public static final String DATABASE_NAME = "ClgDB";
public static final String TABLE_NAME = "student";

37
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public static final String COL1 = "ROLLNO";


public static final String COL2 = "NAME";
public static final String COL3 = "AGE";
public Database_Helper(Context con) { super(con,DATABASE_NAME,null,1); }
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE "+TABLE_NAME+"("+COL1+" INTEGER
PRIMARY KEY,"+COL2+" TEXT,"+COL3+" TEXT )");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
onCreate(db);
}
public boolean insertData(String rn,String name,String age)
{
SQLiteDatabase sb = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COL1,rn);
cv.put(COL2,name);
cv.put(COL3,age);
long res = sb.insert(TABLE_NAME,null,cv);
if(res == -1)
return false;
else
return true;
}
public Cursor viewData() {
SQLiteDatabase sb = this.getWritableDatabase();
Cursor cs = sb.rawQuery("SELECT * FROM "+TABLE_NAME,null);
return cs;
}
public boolean updateData(String rn,String name,String age) {
SQLiteDatabase sb = this.getWritableDatabase();

38
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

ContentValues cv = new ContentValues();


cv.put(COL2,name);
cv.put(COL3,age);
sb.update(TABLE_NAME,cv,"ROLLNO = "+rn,null);
return true;
}
public int deleteData(String rn) {
SQLiteDatabase sb = this.getWritableDatabase();
int cn = sb.delete(TABLE_NAME,"ROLLNO = "+rn,null);
return cn;
}
}

39
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

40
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 8

Aim: Create an android application to generate any random number with some time delay
using thread.

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/tv1"
android:layout_width="92dp"
android:layout_height="60dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="132dp"
android:layout_marginTop="75dp"
android:layout_marginEnd="187dp"
android:layout_marginBottom="596dp"
android:text="Random numbers generated"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.46"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.058" />

41
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="132dp"
android:layout_marginTop="229dp"
android:layout_marginEnd="188dp"
android:layout_marginBottom="454dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.346" />

<EditText
android:id="@+id/p1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="71dp"
android:layout_marginTop="170dp"
android:layout_marginEnd="130dp"
android:layout_marginBottom="516dp"
android:ems="10"
android:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
42
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

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.198" />

</RelativeLayout>

MainActivity.java

package com.example.randomnumber;

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import java.util.concurrent.ThreadLocalRandom;

public class MainActivity extends AppCompatActivity {


Button b1;
TextView t1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=findViewById(R.id.b1);
t1=findViewById(R.id.p1);
b1.setOnClickListener(

43
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public void onClick(View view) {
try{
Thread.sleep(2000);
int value= ThreadLocalRandom.current().nextInt();
t1.setText(value+"");
}
catch (Exception e){
Toast.makeText(getApplicationContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
}
);
}
}

44
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

45
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 9

Aim: Create an android application to demonstrate the following event listeners on the
following widgets:

 Button: on click listener, long click listener.


 Image: Touch listener with these motion events  Action up, action down and action
pointer down.
 Edit Text: Key listener on enter key.

The appropriate message should be displayed in textview.

Activity_Main.xml

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

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

xmins: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/button" android:layout_width="146dp"

android:layout_height="59dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_centerHorizontal="true" android:layout_marginStart="100dp"

android:layout_marginLeft="100dp" android:layout_marginTop="155dp"

android:text="Button" />

<Image View ancroid:id="(@+id/image View" android:layout_width="match_parent"

android:layout_height="411dp" android:layout_alignParentStart="true"

android:layout_alignParentBottom="tme" android:layout_marginStart="0dp"

46
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_marginBottom="-2dp" tools :srcCompat="(@drawable/background" />

<TextView android:id="@+id/textView" android:layout_width="match_parent"

android:layout_height="55dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout centerHorizontal="true" android:layout_marginStart="1dp"

android:layout_marginLeft="1dp" android:layout_marginT op="75dp"

android:gravity="center" android :textSize="18sp" />

<EditText android :id="(@+id/editText" android:layout_width="411dp"

android:layout_height="Wwrap_content" android:layout_alignParentStart="true"

android:layout_alignParentTop="true" android:layout_alignParentEnd="true"

android:layout_marginStart="4dp" android:layout_marginTop="7dp"

android:layout_marginEnd="4dp" android:ems="10"

android:inputT ype="textPersonName" />

</RelativeLayout>

Main Activity.java

package com.example.eventlistener_ implementation;

import androidx.appcompat.app.AppCompatActivity;

import android. graphics.Color:

import android. os.Bundle;

import android. view.KeyEvent;

import android. view. MotionEvent;

47
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android. view. View;

import android. widget Button;

import android. widget EditText;

import android widget ImageView;

import android. widget. TextView;

public class MainActivity extends AppCompatActivity {

TextView t1;

EditText e1;

Button b1;

ImageView iv:

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState):

setContentView(R.layout.Activity_Main):

t1 = findViewB yId(R.id.textView);

el = find ViewByld(R..id.editText),

bl = findViewByld(R.id.button);

iv = findViewByld(R.id.inageView),

iv.setImageResource(R.drawable. background);

el. setOnKeyListener(new View.OnKeyListener() {

@Override

public boolean onKey(View v, int keyCode, KeyEvent event) {

el.setTextColor(Color. BLUE):

el setTextSize(30);

48
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

tl.setText("EditText KeyListener Implemented."');

return false;

})

bl setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

t1.setText("Button OnClick Listener Implemented");

}});

bl. setOnLongClickListener(new View.OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

tl.setText("Button OnLongClickListener Implemented");

return true;

}}):

iv.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

switch (event.getAction())

case MotionEvent.ACTION_UP:

t1.setText("Image Motion : Action Up");

return true:

case MotionEvent.ACTION_DOWN:

49
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

tl.setText("Image Motion : Action Down"):

return true:

case MotionEvent ACTION_POINTER_DOWN:

//Activated when a finger is already there on image and second finger is being placed on it;

tl.setText("Image Motion : Pointer Down");

return true:

case MotionEvent ACTION_POINTER_UP:

//Aciivated when a finger is already there on tage second finger placed is removed;

tl.setText("Image Motion : Pointer UP"):

return true:

return false;

}}):

}}

50
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

51
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 10

Aim: Create an asynchronous android application to download the image from internet and
display the image in the image view.

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">
<EditText
android:id="@+id/ed1"
android:layout_width="match_parent"
android:layout_height="192dp"
android:layout_weight="1"
android:ems="10"
android:inputType="textPersonName" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="95dp"
android:layout_weight="1"
android:text="Button" />
<ImageView
android:id="@+id/imageView"
android:scaleType="centerCrop"
android:layout_width="match_parent"
android:layout_height="475dp"
android:layout_weight="1"
tools:srcCompat="@tools:sample/avatars" />

52
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

</LinearLayout>

MainActivity.java

package com.example.async_image_dowload;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import java.net.URL;
import java.net.URLConnection;
public class MainActivity extends AppCompatActivity {
EditText e1;
ImageView image;
Button btn;
String URL1 =
"";//"https://fsb.zobj.net/crop.php?r=I4zpxI0UfBFUa7qoNdhpY25lkGVybqJSrsiEvixGg1gKp
0coAh-
hzQtdn0p8c32EkkIigL4jOX6hzAQWPldAYLAj53s5sVJ5j0Y9SfyadfMGiiCCsXKDoe8DIT8yk
2jZtsyZryDkxzkCc-SGFNoox-
SW6ENTOsMnRG6whUvn6Fjzd7He79pxYt1dGe8da31liuh4IiaOXzX-7AI3";
@Override
protected void onCreate(Bundle savedInstanceState) {

53
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = findViewById(R.id.ed1);
btn = findViewById(R.id.button);
image = findViewById(R.id.imageView);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//https://scontent.fbom24-1.fna.fbcdn.net/v/t1.0-
9/fr/cp0/e15/q65/61168534_2224306170979346_923697403507245056_n.jpg?_nc_cat=107
&_nc_sid=85a577&efg=eyJpIjoidCJ9&_nc_ohc=-
HNFZN_Wb_QAX9FvCtI&_nc_ht=scontent.fbom24-
1.fna&_nc_tp=14&oh=26de8c190fc6c6b1a320c6f3fc64fde4&oe=5EACBAEB
URL1 = "https://media.istockphoto.com/id/1487972668/photo/artificial-
neural-network-abstract-technology-
background.jpg?s=1024x1024&w=is&k=20&c=e9yl330Z4hyU5xP3mFuPFb9_ikQ2AG2
56iivjVYKCiA=";
// "\n";
new downloadImage().execute();
}
});
}
public class downloadImage extends AsyncTask<Void, Void, Bitmap>{
@Override
protected Bitmap doInBackground(Void... voids) {
Bitmap bitmap = null;
try{
URL url = new URL(URL1);
URLConnection conn = url.openConnection();
bitmap = BitmapFactory.decodeStream(conn.getInputStream());
}
catch (Exception ex) {
ex.printStackTrace();
}

54
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

return bitmap;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
image.setImageBitmap(bitmap);
}
}
}

AndroidManifest.xml

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET"/>
<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.Async_image_dowload"
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>
<meta-data
android:name="android.app.lib_name"

55
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:value="" />
</activity>
</application>
</manifest>

Output:

56
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical 11

Aim: Create an android application using linear layout and insert 10 games in the list view
and display the selected game in the text view.

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">
<ListView
android:id="@+id/gameList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/GamesList" />
<TextView
android:id="@+id/selectedGame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>

Strings.xml
<resources>
<string name="app_name">linearlayout</string>

57
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<array name="GamesList">
<item>Carrom</item>
<item>Chess</item>
<item>Candy</item>
<item>Subway</item>
<item>Rummy</item>
<item>Pubg</item>
<item>FreeFire</item>
<item>Cricket</item>
<item>TalkingTom</item>
<item>Ludo</item>
</array>
</resources>

AndroidManifest.xml
<?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.Linearlayout"
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" />

58
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

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

MainActivity.java
package com.example.linearlayout;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

ListView listView;
TextView t;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t=(TextView) findViewById(R.id.selectedGame);
listView=findViewById(R.id.gameList);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long
l) {
Toast.makeText(MainActivity.this, i+"", Toast.LENGTH_SHORT).show();
switch (i){
case 0:

59
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

{
t.setText("Carrom Game");
return;
}
case 1:
{
t.setText("Chess Game");
return;
}
case 2:
{
t.setText("Candy Crush Game");
return;
}
case 3:
{
t.setText("Subway Surf Game");
return;
}
case 4:
{
t.setText("Rummy Circle");
return;
}
case 5:
{
t.setText("Pubg Game");
return;
}
case 6:
{
t.setText("FreeFire Game");
return;
}

60
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

case 7:
{
t.setText("Cricket");
return;
}
case 8:
{
t.setText("TalkingTom");
return;
}
case 9:
{
t.setText("Ludo Game");
return;
}
}
}
}
);
}
}

61
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

62
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 12

Aim: Insert the new contents in the following resources and demonstrate their uses in the
android application android resources: (Color, Theme, String, Drawable, Dimension, Image).

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 :id="(@+id/rel"

android:layout_width="match_ parent"

android:layout_height="match_parent"

android :background="(@drawable/flower10"

tools:context="_MaimActivity"

tools:targetApi="ICE_ CREAM_SANDWICH_MRI">

<TextView android:id="@+id/textView" style="(@style/CustomText”

android:layout_width="wrap_ content” android:layout_height="51dp"

android:layout_alignParentStart="true" android:layout_alignParentLeft="true"

android:layout_alignParentTop="true" android:layout_alignParentEnd="true"

android:layout alignParentRight="true" android:layout_marginStart="42dp"

android:layout_marginLeft="42dp" android:layout_marginTop="54dp"

android:layout_marginEnd="174dp" android:layout_marginRight="174dp"

android:text="(@string/hello" android:textColor="(@color/Pink"

63
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:textSize="(@dimen/font_size" />

<TextView android:id="(@+id/tv1" style="@style/TextStyle"

android:layout_width="175dp" android:layout_height="141dp"

android:layout_alignParentStart="true" android:layout_alignParentLeft="true"

android:layout_alignParentEnd="true" android:layout_alignParentBottom="true"

android:layout_marginStart="230dp" android:layout_marginLeft="230dp"

android:layout_ marginEnd="6dp" android:layout marginBottom="10dp"

android:text="TextView" android:textStyle="italic" />

</RelativeLayout>

MainActivity.java

package com.example.resourcesdemonstration,

import androidx annotation.RequiresApi;

import androidx.appcompat.app.AppCompatActivity;

import android. os.Build;

import android. os.Bundle;

import android.widget.RelativeLayout;

import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

TextView t1;

@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedinstanceState);

64
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

setContentView(R.layout.activity_main);

RelativeLayout rl = findViewByld.id. rel);

tl = findViewByld(R.id.tv1);

tl.setText(R.string.flowername);

strings.xml

<resources>

<string name="app_name">ResourcesDemonstration</string>

sstring name="hello">Hello</string>

<string name="flowername">Red Rose</string>

</resources>

styles.xml

<resources>

<!-- Base application theme. -->

<style name="AppTheme" parent=""Theme.AppCompat.Light.DarkActionBar">

<!-- Customize your theme here. -->

<item name=" color Primary">@color/colorPrimary</item>

<item name="colorPrimaryDark" >@color/colorPrimaryDark</item>

<item name="colorAccent">@color/colorAccent</item>

</style>

<style name="CustomText" parent="@style/TextAppearance.AppCompat.Small">

65
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<item name="android:textSize">20sp</item>

<item name" android :textColor" >#008321</item>

</style>

<style name="TextStyle" parent="(@style/AppTheme">

<item name="android:textSize">50dp</item>

<item name="android:textColor" >@color/Green</item>

</style>
</resources>

colors.xml

<?xml version="1.0" encoding="utf8"'?>


<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
<color name="Pink">#E70B55</color>
<color name—"Green">#4FF109</color>
</resources>

dimen.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<dimen name="textview_height" >25dp</dimen>
<dimen name="textview_width">150dp</dimen>
<dimen name="font_size">26sp</dimen>
</resources>

66
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

67
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 13

Aim: Create an android application using grid view layout and insert 6 images of different
flowers as the items and toast the animal name by clicking the image.

Activity_Main.xml
<?xml version="1.0" encoding="utf-8"?>
<GridLayout 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_height="match_parent"
tools:context=".MainActivity" android:layout_width="match_parent">

<ImageButton
android:id="@+id/imageButton"
android:layout_width="200dp"
android:layout_height="250dp"
android:layout_row="0"
android:layout_column="0"
app:srcCompat="@drawable/f1" />

<ImageButton
android:id="@+id/imageButton3"
android:layout_width="200dp"
android:layout_height="250dp"
android:layout_row="0"
android:layout_column="1"
app:srcCompat="@drawable/f2" />

<ImageButton
android:id="@+id/imageButton4"
android:layout_width="200dp"
android:layout_height="250dp"
android:layout_row="1"

68
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_column="0"
app:srcCompat="@drawable/f3" />

<ImageButton
android:id="@+id/imageButton5"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_row="1"
android:layout_column="1"
app:srcCompat="@drawable/f4" />

<ImageButton
android:id="@+id/imageButton6"
android:layout_width="200dp"
android:layout_height="250dp"
android:layout_row="2"
android:layout_column="0"
app:srcCompat="@drawable/f5" />

<ImageButton
android:id="@+id/imageButton7"
android:layout_width="200dp"
android:layout_height="250dp"
android:layout_row="2"
android:layout_column="1"
app:srcCompat="@drawable/r2" />

</GridLayout>

MainActivity.java
package com.example.gridlayout;

import androidx.appcompat.app.AppCompatActivity;

69
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


ImageButton b1,b2,b3,b4,b5,b6;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=findViewById(R.id.imageButton);
b2=findViewById(R.id.imageButton3);
b3=findViewById(R.id.imageButton4);
b4=findViewById(R.id.imageButton5);
b5=findViewById(R.id.imageButton6);
b6=findViewById(R.id.imageButton7);
b1.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Yellow Rose",
Toast.LENGTH_SHORT).show();
}
}
);
b2.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Champa Flower",
Toast.LENGTH_SHORT).show();

70
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

}
}
);
b3.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Pink Sunfloewr",
Toast.LENGTH_SHORT).show();
}
}
);
b4.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Violet SunFlower",
Toast.LENGTH_SHORT).show();
}
}
);
b5.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "White Sunflower",
Toast.LENGTH_SHORT).show();
}
}
);
b6.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {

71
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Toast.makeText(MainActivity.this, "Purple SunFlower",


Toast.LENGTH_SHORT).show();
}
}
);

}
}

Output:

72
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 14

Aim: Create an android application to demonstrate the use of sub menu the toast should be
generated by selecting the sub menu item.

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:id="@+id/rel"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" />

Mainactivity.java

package com.example.submenu;

import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.RelativeLayout;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


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

73
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

relativeLayout = findViewById(R.id.rel);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mysubmenu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.menu1:
Toast.makeText(getApplicationContext(), "You selected Settings.",
Toast.LENGTH_SHORT).show();
break;

case R.id.menu2:
Toast.makeText(getApplicationContext(), "You selected Background.",
Toast.LENGTH_SHORT).show();
break;

case R.id.menu3:
Toast.makeText(getApplicationContext(), "You selected Tools.",
Toast.LENGTH_SHORT).show();
break;

case R.id.sub1:
Toast.makeText(getApplicationContext(), "Red Colour.",
Toast.LENGTH_SHORT).show();
relativeLayout.setBackgroundColor(Color.RED);
break;

case R.id.sub2:
Toast.makeText(getApplicationContext(), "Blue Colour.",
Toast.LENGTH_SHORT).show();

74
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

relativeLayout.setBackgroundColor(Color.BLUE);
break;

case R.id.sub3:
Toast.makeText(getApplicationContext(), "Green Colour.",
Toast.LENGTH_SHORT).show();
relativeLayout.setBackgroundColor(Color.GREEN);
break;
}
return super.onOptionsItemSelected(item);
}
}

mysubmenu.xml

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


<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu1" android:title="@string/Settings" />
<item android:id="@+id/menu2" android:title="@string/Background">
<menu>
<item android:id="@+id/sub1" android:title="Red" />
<item android:id="@+id/sub2" android:title="Blue" />
<item android:id="@+id/sub3" android:title="Green" />
</menu>
</item>
<item android:id="@+id/menu3" android:title="@string/Tools" />
</menu>

75
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

76
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 15

Aim: Create the media API in android to play a video file.

Activitymain.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">

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="94dp"
android:background="#28CFC0"
android:text="Video 1" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="159dp"
android:layout_marginBottom="94dp"
android:text="Video 2" />

<Button
android:id="@+id/button3"

77
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="38dp"
android:layout_marginBottom="89dp"
android:text="Video 3" />

<VideoView
android:id="@+id/videoView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="1dp"
android:layout_marginLeft="1dp"
android:layout_marginTop="0dp"
android:layout_marginBottom="155dp" />
</RelativeLayout>

Androidmanifest.xml

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"

78
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Video"
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>
</application>
</manifest>

Mymenu.xml

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


<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_settings" android:orderInCategory="100"
android:title="Menu Settings"/>
</menu>

Maniactivity.xml
package com.example.video;

import androidx.appcompat.app.AppCompatActivity;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.View;

79
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android.widget.Button;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;

public class MainActivity extends AppCompatActivity {


VideoView v1;
MediaController mc;
Button b1,b2,b3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
v1 = findViewById(R.id.videoView2);
b1 = findViewById(R.id.button1);
b2 = findViewById(R.id.button2);
b3 = findViewById(R.id.button3);
mc = new MediaController(this);
mc.setAnchorView(v1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Playing
Video",Toast.LENGTH_SHORT).show();
v1.setMediaController(mc);
v1.setVideoURI(Uri.parse("/storage/3036-
3031/Sumitha/kannodakannodu.mp4"));
v1.requestFocus();
v1.start();
}});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Playing

80
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Video",Toast.LENGTH_SHORT).show();
v1.setMediaController(mc);
v1.setVideoURI(Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/Downlo
ad/InstaVideo/Reelvideo-65750.mp4"));
v1.requestFocus();
v1.start();
}});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Playing
Video",Toast.LENGTH_SHORT).show();
v1.setMediaController(mc);
v1.setVideoURI(Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/Movies/
Instagram/VID_188561025_131528_224.mp4"));
v1.requestFocus();
v1.start();
}});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu,menu);
return true;
}
}

81
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

82
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 16

Aim: Create an android application with four buttons and each will request the permission
to access the device data such as user’s contact, camera and media gallery.

Acitivity_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="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_red_light"
tools:context=".MainActivity">
<TableLayout
android:id="@+id/tablelayout" android:layout_width="match_parent"
android:layout_height="match_parent" android:gravity="center">
<TableRow android:layout_width="400dp" android:layout_height="120dp">
<Button android:id="@+id/b1" android:layout_width="200dp"
android:layout_height="120dp" android:text="Camera"
android:textSize="36sp"></Button>
</TableRow>
<TableRow android:layout_width="match_parent"
android:layout_height="100dp">
<Button android:id="@+id/b2" android:layout_width="362dp"
android:layout_height="120dp" android:text="Contacts"
android:textSize="36sp"></Button>
</TableRow>
<TableRow android:layout_width="400dp" android:layout_height="100dp">
<Button android:id="@+id/b3" android:layout_width="match_parent"
android:layout_height="120dp" android:text="Calendar"
android:textSize="36sp"></Button>
</TableRow>
<TableRow android:layout_width="400dp" android:layout_height="100dp">

83
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<Button android:id="@+id/b4" android:layout_width="match_parent"


android:layout_height="120dp" android:text="Storage"
android:textSize="36sp"></Button>
</TableRow>
</TableLayout>
</RelativeLayout>

MainActivity.java

package com.example.permissions;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button b1, b2, b3, b4;
private static final int CAMERA = 100;
private static final int CALENDAR = 101;
private static final int CONTACTS = 102;
private static final int STORAGE = 103;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = findViewById(R.id.b1);
b2 = findViewById(R.id.b2);
b3 = findViewById(R.id.b3);
b4 = findViewById(R.id.b4);

84
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkPermission(Manifest.permission.CAMERA,CAMERA);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkPermission(Manifest.permission.READ_CONTACTS,CONTACTS);
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkPermission(Manifest.permission.READ_CALENDAR,CALENDAR);
}
});
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

checkPermission(Manifest.permission.READ_EXTERNAL_STORAGE,STORAGE);
}
});
}
public void checkPermission(String permission, int requestCode) {
if (ContextCompat.checkSelfPermission(MainActivity.this, permission)==
PackageManager.PERMISSION_DENIED)
{
ActivityCompat.requestPermissions(MainActivity.this, new String[]{permission},
requestCode);
} else {
Toast.makeText(MainActivity.this, "Permission already granted",

85
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Toast.LENGTH_SHORT).show();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[]
permissions, @NonNull int[]
grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode)
{
case 100 :
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED)
Toast.makeText(MainActivity.this,"Camera Permission Granted",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this,"Camera Permission Denied",
Toast.LENGTH_SHORT).show();
return;
case 101 :
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED)
Toast.makeText(MainActivity.this,"Calendar Permission Granted",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this,"Calendar Permission Denied",
Toast.LENGTH_SHORT).show();
return;
case 102 :
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED)
Toast.makeText(MainActivity.this,"Contacts Permission Granted",
Toast.LENGTH_SHORT).show();
else
86
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Toast.makeText(MainActivity.this,"Contacts Permission Denied",


Toast.LENGTH_SHORT).show();
return;
case 103 :
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED)
Toast.makeText(MainActivity.this,"Storage Permission Granted",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this,"Storage Permission Denied",
Toast.LENGTH_SHORT).show();
return;
}
}
}

AndroidManifest.xml

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-feature android:name="android.hardware.camera"
android:required="false"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"

87
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

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.Permissions"
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>
</application>
</manifest>

88
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

89
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 17

Aim: Create the media API in android to play an audio file with seekbar.

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">
<ImageView android:id="@+id/imageView" android:layout_width="match_parent"
android:layout_height="510dp" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:layout_marginStart="1dp" android:layout_marginLeft="1dp"
android:layout_marginTop="31dp" android:src="@drawable/flower5" />
<Button android:id="@+id/button" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:text="@string/forward" />
<Button android:id="@+id/button2" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imageView"
android:layout_alignLeft="@+id/imageView"
android:layout_alignParentBottom="true"
android:layout_marginStart="90dp" android:layout_marginLeft="90dp"
android:layout_marginBottom="-1dp" android:text="@string/pause" />
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/back"
android:textFontWeight="@integer/material_motion_duration_long_2"
android:id="@+id/button3"

90
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_alignTop="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:layout_toEndOf="@+id/button2" />
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/rewind" android:id="@+id/button4"
android:layout_alignTop="@+id/button3"
android:layout_toRightOf="@+id/button3"
android:layout_toEndOf="@+id/button3" />

<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/button"
android:layout_alignStart="@+id/textView"
android:layout_alignLeft="@+id/textView"
android:layout_alignEnd="@+id/textView"
android:layout_alignRight="@+id/textView" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Small Text"
android:id="@+id/textView2" android:layout_above="@+id/seekBar"
android:layout_toLeftOf="@+id/textView"
android:layout_toStartOf="@+id/textView" />
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Small Text"
android:id="@+id/textView3" android:layout_above="@+id/seekBar"
android:layout_alignRight="@+id/button4"
android:layout_alignEnd="@+id/button4" />

91
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView4" android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_centerHorizontal="true" />
</RelativeLayout>

MainActivity.java

package com.example.audioseekbar;

import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.concurrent.TimeUnit;
public class MainActivity extends AppCompatActivity {
private Button b1, b2, b3, b4;
private ImageView iv;
private MediaPlayer mediaPlayer;
private double startTime = 0;
private double finalTime = 0;
private Handler myHandler = new Handler();
private int forwardTime = 5000;
private int backwardTime = 5000;
private SeekBar seekbar;

92
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

private TextView tx1, tx2, tx3;


public static int oneTimeOnly = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById(R.id.button);
b2 = (Button) findViewById(R.id.button2);
b3 = (Button) findViewById(R.id.button3);
b4 = (Button) findViewById(R.id.button4);
iv = (ImageView) findViewById(R.id.imageView);
tx1 = (TextView) findViewById(R.id.textView2);
tx2 = (TextView) findViewById(R.id.textView3);
tx3 = (TextView) findViewById(R.id.textView4);
tx3.setText("Song.mp3");
mediaPlayer = MediaPlayer.create(this, R.raw.pudidhai);
seekbar = (SeekBar) findViewById(R.id.seekBar);
seekbar.setClickable(false);
b2.setEnabled(false);
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Playing sound",
Toast.LENGTH_SHORT).show();
mediaPlayer.start();
finalTime = mediaPlayer.getDuration();
startTime = mediaPlayer.getCurrentPosition();
if (oneTimeOnly == 0) {
seekbar.setMax((int) finalTime);
oneTimeOnly = 1;
}
tx2.setText(String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes((long) finalTime),

93
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

TimeUnit.MILLISECONDS.toSeconds((long) finalTime) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long)
finalTime))));
tx1.setText(String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes((long) startTime),
TimeUnit.MILLISECONDS.toSeconds((long) startTime) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes((long)
startTime))));
seekbar.setProgress((int) startTime);
myHandler.postDelayed(UpdateSongTime, 100);
b2.setEnabled(true);
b3.setEnabled(false);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Pausing sound",
Toast.LENGTH_SHORT).show();
mediaPlayer.pause();
b2.setEnabled(false);
b3.setEnabled(true);
}
});
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int temp = (int) startTime;
if ((temp + forwardTime) <= finalTime) {
startTime = startTime + forwardTime;
mediaPlayer.seekTo((int) startTime);
Toast.makeText(getApplicationContext(), "You have Jumped forward 5
seconds", Toast.LENGTH_SHORT).show();
} else {

94
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Toast.makeText(getApplicationContext(), "Cannot jump forward 5 seconds",


Toast.LENGTH_SHORT).show();
}
}
});
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int temp = (int) startTime;
if ((temp - backwardTime) > 0) {
startTime = startTime - backwardTime;
mediaPlayer.seekTo((int) startTime);
Toast.makeText(getApplicationContext(), "You have Jumped backward 5
seconds", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Cannot jump backward 5
seconds", Toast.LENGTH_SHORT).show();
}
}
});
}

private Runnable UpdateSongTime = new Runnable() {


public void run() {
startTime = mediaPlayer.getCurrentPosition();
tx1.setText(String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes((long) startTime),
TimeUnit.MILLISECONDS.toSeconds((long) startTime) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.
toMinutes((long) startTime))));
seekbar.setProgress((int) startTime);
myHandler.postDelayed(this, 100);
}

95
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

};
}

Strings.xml

<resources>
<string name="app_name">audioseekbar</string>
<string name="back">.</string>
<string name="rewind"><![CDATA[<<]]></string>
<string name="forward"><![CDATA[>>]]></string>
<string name="pause">||</string>
</resources>
Create a raw directory from res file and paste the audio file.
Download a flower photo and paste it in drawable folder.

Output:

96
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

97
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 18

Aim: Create an android application, with one button and image view also set the
background image in the application, the image should be changed on each click of the
button.

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:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
android:id="@+id/im"
android:layout_width="313dp"
android:layout_height="239dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="56dp"
android:layout_marginBottom="423dp"
app:srcCompat="@drawable/r1" />

<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="159dp"
android:layout_marginBottom="184dp"

98
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:text="New Image" />

</RelativeLayout>

MainActivity.java
package com.example.imageview;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;

import java.util.Random;

public class MainActivity extends AppCompatActivity {


Button b1;
ImageView view;
RelativeLayout r;
int images[]={
R.drawable.r1,R.drawable.r2,R.drawable.r3,R.drawable.r4,R.drawable.r5,R.drawable.r6
};
int currentimage =0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=findViewById(R.id.b1);
view=findViewById(R.id.im);
r=findViewById(R.id.rl);
b1.setOnClickListener(new View.OnClickListener() {
@Override

99
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public void onClick(View v) {


Random random=new Random();
currentimage=random.nextInt(5);
r.setBackgroundResource(images[currentimage]);
view.setImageResource(images[currentimage]);
}
});
}
}

Output:

100
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 19

Aim: Create an android application to pay income tax using interactive GUI. The following
information must be taken as the input with the final output displaying tax to be paid:
Financial Year: Assessment Year: Name of the individual: Age: Gender: Income for the
Financial Year all sources: Total Income to be considered Exempted from IT: On click of a
calculate button, the income tax to be paid must be displayed in a report format.

Activitymain.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="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:layout_marginStart="18dp" android:layout_marginLeft="18dp"
android:layout_marginTop="83dp" android:text="Financial Year : " />
<TextView android:id="@+id/textView2" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:layout_marginStart="7dp" android:layout_marginLeft="7dp"
android:layout_marginTop="147dp" android:text="Assessment Year : " />
<TextView android:id="@+id/textView3" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:layout_marginStart="45dp" android:layout_marginLeft="45dp"
android:layout_marginTop="205dp" android:text="Name : " />
<TextView android:id="@+id/textView4"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentStart="true" android:layout_alignParentLeft="true"

101
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_alignParentTop="true" android:layout_marginStart="50dp"
android:layout_marginLeft="50dp" android:layout_marginTop="259dp"
android:text="Age : " />
<TextView android:id="@+id/textView5" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:layout_centerVertical="true" android:layout_marginStart="39dp"
android:layout_marginLeft="39dp" android:layout_marginTop="311dp"
android:text="Gender : " />
<TextView android:id="@+id/textView6" android:layout_width="91dp"
android:layout_height="60dp" android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="13dp" android:layout_marginLeft="13dp"
android:layout_marginBottom="217dp" android:text="Annual Income : (In
Lakhs)" />
<EditText android:id="@+id/ed1" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" android:layout_alignParentRight="true"
android:layout_marginTop="67dp" android:layout_marginEnd="62dp"
android:layout_marginRight="62dp" android:ems="10"
android:inputType="textPersonName" />
<EditText android:id="@+id/ed2" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" android:layout_alignParentRight="true"
android:layout_marginTop="129dp" android:layout_marginEnd="62dp"
android:layout_marginRight="62dp" android:ems="10"
android:inputType="textPersonName" />
<EditText android:id="@+id/ed3" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" android:layout_alignParentRight="true"
android:layout_marginTop="185dp" android:layout_marginEnd="63dp"
android:layout_marginRight="63dp" android:ems="10"
android:inputType="textPersonName" />

102
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<EditText android:id="@+id/ed4" android:layout_width="wrap_content"


android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" android:layout_alignParentRight="true"
android:layout_marginTop="240dp" android:layout_marginEnd="64dp"
android:layout_marginRight="64dp" android:ems="10"
android:inputType="textPersonName" />
<EditText android:id="@+id/ed5" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" android:layout_alignParentRight="true"
android:layout_marginTop="292dp" android:layout_marginEnd="61dp"
android:layout_marginRight="61dp" android:ems="10"
android:inputType="textPersonName" />
<EditText android:id="@+id/ed6" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="62dp" android:layout_marginRight="62dp"
android:layout_marginBottom="240dp" android:ems="10"
android:inputType="textPersonName" />
<Button android:id="@+id/button"
android:layout_width="209dp" android:layout_height="63dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="74dp" android:text="Calculate Income Tax" />
</RelativeLayout>

Go to java folder and click new activity select empty views activity and give name
reportpage.

Activityreportpage.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"

103
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ReportPage">
<TextView android:id="@+id/tv1" android:layout_width="277dp"
android:layout_height="51dp" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" android:layout_alignParentRight="true"
android:layout_marginTop="40dp" android:layout_marginEnd="18dp"
android:layout_marginRight="18dp" android:text="Income Tax Report"
android:textColor="#009688" android:textSize="30sp"
android:textStyle="bold" />
<TextView android:id="@+id/tv2" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_alignParentTop="true"
android:layout_marginTop="145dp" android:background="#009688"
android:gravity="center" android:textColor="@android:color/background_light"
android:textSize="18sp" />
<TextView android:id="@+id/tv3" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_alignParentTop="true"
android:layout_marginTop="227dp" android:background="#009688"
android:gravity="center" android:textColor="@android:color/background_light"
android:textSize="18sp" />
<TextView android:id="@+id/tv4" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_alignParentTop="true"
android:layout_marginTop="308dp" android:background="#009688"
android:gravity="center" android:textColor="@android:color/background_light"
android:textSize="18sp" />
<TextView android:id="@+id/tv5" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_alignParentTop="true"
android:layout_marginTop="392dp" android:background="#009688"
android:gravity="center" android:textColor="@android:color/background_light"
android:textSize="18sp" />
<TextView android:id="@+id/tv6" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_alignParentTop="true"
android:layout_marginTop="476dp" android:background="#009688"
104
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:gravity="center" android:textColor="@android:color/background_light"
android:textSize="18sp" />
<TextView android:id="@+id/tv7"
android:layout_width="match_parent" android:layout_height="53dp"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="3dp" android:layout_marginBottom="53dp"
android:gravity="center" android:textColor="#009688"
android:textSize="30sp" />
</RelativeLayout>

MainActivity.java
package com.example.incometaxreport;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
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 {
EditText e1,e2,e3,e4,e5,e6;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1 = findViewById(R.id.ed1);
e2 = findViewById(R.id.ed2);
e3 = findViewById(R.id.ed3);
e4 = findViewById(R.id.ed4);
e5 = findViewById(R.id.ed5);
e6 = findViewById(R.id.ed6);

105
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(MainActivity.this,ReportPage.class);
it.putExtra("name",e3.getText().toString());
it.putExtra("fyear",e1.getText().toString());
it.putExtra("age",e4.getText().toString());
it.putExtra("aInc",e6.getText().toString());
startActivity(it);
}});
}
}

ReportPage.java
package com.example.incometaxreport;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

import java.text.DecimalFormat;

public class ReportPage extends AppCompatActivity {


TextView t1, t2, t3, t4, t5, t6;
double tax = 0.0f;
DecimalFormat df = new DecimalFormat("0.00");

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reportpage);
t1 = findViewById(R.id.tv2);

106
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

t2 = findViewById(R.id.tv3);
t3 = findViewById(R.id.tv4);
t4 = findViewById(R.id.tv5);
t5 = findViewById(R.id.tv6);
t6 = findViewById(R.id.tv7);
Intent it = getIntent();
float Inc = Float.parseFloat(it.getStringExtra("aInc"));
if (Inc <= 2.5) {
} else if (Inc > 2.5 && Inc <= 5) {
tax = Inc * 0.05;
} else if (Inc > 5 && Inc <= 7.5) {
tax = Inc * 0.10;
} else if (Inc > 7.5 && Inc <= 10) {
tax = Inc * 0.15;
} else if (Inc > 10 && Inc <= 12.5) {
tax = Inc * 0.20;
} else if (Inc > 12.5 && Inc <= 15) {
tax = Inc * 0.25;
} else {
tax = Inc * 0.3;
}
t1.setText("Financial Year : " + it.getStringExtra("fyear"));
t2.setText("Name : " + it.getStringExtra("name"));
t3.setText("Age : " + it.getStringExtra("age"));
t4.setText("Annual Income : " + it.getStringExtra("aInc"));
t5.setText("Income Tax to be paid : " + df.format(tax) + "Lakhs");
t6.setText("Thank you!!!");
}
}

Output:

107
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

108
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 20

Aim: Design the Telephone API in android to make a call. The application should import all
the contacts from contact list of the user.

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:id="@+id/r1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/b1"
android:layout_width="177dp"
android:layout_height="85dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="127dp"
android:layout_marginTop="205dp"
android:layout_marginEnd="106dp"
android:layout_marginBottom="441dp"
android:text="Button" />

<EditText
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"

109
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="133dp"
android:layout_marginTop="120dp"
android:layout_marginEnd="68dp"
android:layout_marginBottom="566dp"
android:ems="10"
android:inputType="text"
android:text="Name" />

</RelativeLayout>

MainActivity.java

package com.example.calling_application;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
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 {


EditText e1;

110
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1=findViewById(R.id.tv1);
b1=(Button) findViewById(R.id.b1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent it=new Intent(Intent.ACTION_CALL);
String ph="";
if(e1.getText().length()==10){
if(ContextCompat.checkSelfPermission(MainActivity.this,
android.Manifest.permission.CALL_PHONE)!=
PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this, new
String[]{android.Manifest.permission.CALL_PHONE}, 100);
return;
}
ph="tel"+e1.getText().toString();
it.setData(Uri.parse(ph));
Toast.makeText(getApplicationContext(),e1.getText().toString(),
Toast.LENGTH_LONG).show();
startActivity(it);
}
else
Toast.makeText(getApplicationContext(), "Enter valid phone number",
Toast.LENGTH_LONG).show();
}
});
}

@Override

111
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public void onRequestPermissionsResult(int requestCode, @NonNull String[]


permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (grantResults.length>0&&
grantResults[0]==PackageManager.PERMISSION_GRANTED)
Toast.makeText(MainActivity.this, "Phone Permission Granted",
Toast.LENGTH_SHORT).show();
else
Toast.makeText(MainActivity.this, "Phone permission denied",
Toast.LENGTH_SHORT).show();
}
}

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-feature
android:name="android.hardware.telephony"
android:required="false"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<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.Calling_application"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">

112
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<intent-filter>
<action android:name="android.intent.action.MAIN" />

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


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

</manifest>

Output:

113
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

\Practical No 21

Aim: Using Firebase create a JSON document of employee with attributes:id, name and
salary. Create an android application to read and write the above JSON document.

Search firebase in google.

Click on get started.

Log into your google account.

Go to tools Firebase Realtime DatabaseSave and retrieve Data.

Connect to firebase.

Add the realtime database to your app Accept changes.

Once connected, Go to your firebase page and look for your project.

Select your project and go to database.

Create database Start in locked mode Enable.

In Rules section, make read and write true and publish the changes.

Activity_Main.xml

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

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

xmins:app="http://schemas.android.com/apk’res-auto"

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

android:layout_width="match parent”

android:layout_height="match_ parent"

android:background="#CC 6694"

tools:context="._MainActivity">

<TextView android:id="(@+id/tv1" android: layout _width="300dp"

114
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_height="wrap_content" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_centerHorizontal="true" android:layout_marginTop="29dp"

android:layout_marginEnd="35dp" android:layout_marginRight="35dp"

android:text="Employee Details" android:textC olor="(@c olor/colorPrimaryDark"

android:textSize="3 6sp" />

<TextView android:id="(@+id/textView2" android:layout_width="60dp"

android:layout_height="30dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_margmStart="42dp" android:layout_marginLeft="42dp"

android:layout_marginTop="170dp" android:text="ID: "

android:textSize="18sp" />

<TextView android:id="@-+id/textView3" android:layout width="74dp"

android:layout_height="3 1 dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_marginStart="38dp" android:layout_marginL eft="38dp"

android:layout_marginT op="223dp" android:text="Name : "

android:textSize="18sp" />

<TextView android:id="(@+id/textView4" android: layout _width="74dp"

android:layout_height="3 1 dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

115
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_marginStart="35dp" android:layout_marginL eft="35dp"

android:layout_marginTop="280dp" android:text="Salary : "

android:textSize="18sp" />

<EditText android:id="@+id/ed1" android:layout_width="wrap_ content”

android:layout_height="wrap_ content" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout marginTop="152dp" android:layout marginEnd="76dp"

android:layout_marginRight="76dp" android:ems="10"

android:inputT ype="textPersonName" />

<EditText android:id="(@+id/ed2" android:layout_width="wrap content"

android:layout_height="Wrap_content" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginTop="213dp" android:layout_marginEnd="75dp"

android:layout_marginRight="75dp" android:ems="10"

android:inputT ype="textPersonName" />

<EditText android:id="@+id/ed3" android:layout_width="wrap content"

android:layout_height="wrap_content" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginTop="271dp" android:layout_marginEnd="75dp"

android:layout_marginRight="75dp" android:ems="10"

android:inputType="textPersonName" />

116
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<Button android:id="(@+id/button" android:layout_width="306dp"

android:layout_height="65dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentBottom="true"

android:layout_centerInParent="true" android:layout marginStart="29dp"

android:layout_marginLeft="29dp" android:layout_marginBottom="197dp"

android:background="(Mandroid:color/holo green light" android:onClick="createJSONDoc"

android:text="Insert into Firebase Database" android:textSize="18sp" />

<Button android:id="(@+id/button2" android:layout_width="325dp"

android:layout_height="70dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentBottom="true"

android:layout_marginStart="19dp" android:layout_marginLeft="19dp"

android:layout_marginBottom="86dp"
android:background="(@android:color/holo_green_light”

android:onClick="retrieveDoc" android:text="Retrieve from Firebase Database"

android:textSize="18sp" />

</RelativeLayout>

MainActivity.java

package com.example.firebase_jsondocument;:

import androidx annotation. NonNull:

import androidx.appcompat.app.AppCompatActivity;

import android. app.AlertDialog:

import android. os.Bundle;

117
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android. view.View:

import android. Widget.EditText;

import android. Widget.Toast:

import com.google. firebase.database.DataSnapshot:

import com.google.firebase.database.DatabaseError;

import com.google.firebase.database.DatabaseReference;

import com.google.firebase.database.FirebaseDatabase;

import com.google.firebase.database.ValucEventListener;

public class MainActivity extends AppCompatActivity {

EditText e1,e2,e3:

FirebaseDatabase fb:

DatabaseReference dr;

Employee e;

AlertDialog.Builder ab;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState):

setContentView(R.layout.Activity_Main);

el=find ViewByld(R.id.ed7);

e2=find ViewByld(R.id.ed2):

e3=find ViewByld(R.id.ed3):

fb=FirebaseDatabase.getinstance();

dr=fb.getReference();

118
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public void createJSONDoc(View view) {

e= new Employee(el.getText().toString(),e2.getT ext().toString().e3.getT ext().toString()):

dr.child("Employee1").set Value(e);

Toast.makeText(getApplicationContext(),"Data Inserted Successfully into Firebase


Database.",Toast LENGTH_SHORT)show():

public void retrieveDoc(View view) {

ab=new AlertDialog Builder(MainActivity. this);

dr.addValueEventListener(new ValueEventListener() {

@Override

public void onDataChange((@NonNull DataSnapshot dataSnapshot) {

Employee emp=null:

for(DataSnapshot data : dataSnapshot.getChildren()) {

emp=data.getValue(Employee.class);

ab.setCancelable(true):

ab.setTitle("Data");

ab.setMessage(emp.getid()+"\n"+emp.getName()+"\n"+emp.getSalary()):

ab.show():

@Override

public void onCancelled(@NouNull DatabaseError databaseError) { }

}):

119
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Employee.java

package com.example.firebase_jsondocument;

public class Employee {

String id, name, salary;

public Employee(String id, String name, String salary) {

this.id=id;

this.name=name;

this.salary=salary;

public Employee() { }

public String getIdQ { return id: }

public void setId(Strmg id) { this.id = id; }

public String getName() { return name; }

public void setName(String name) {this name =name;}

public String getSalary() { return salary; }

public void setSalary(String salary) { this.salary = salary; }

120
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

121
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 22

Aim: Create the background service android application to generate the notification. The
application should contain one edit text view and two buttons with captions start service and
stop service, the start service button will send the text of text view to notification and stop
service button will kill the notification.

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

<Button android:id="@+id/btn" android:layout_width="258dp"

android:layout_height="110dp" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginTop="99dp" android:layout_marginEnd="58dp"

android:layout_marginRight="58dp" android:text="Generate Notification"

android:textSize="30sp" />

<Button android:id="(@+id/btn2" android:layout_width="256dp"

android:layout_height="123dp" android:layout_alignParentT op="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

122
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_centerHorizontal="true" android:layout_marginTop="255dp"

android:layout_marginEnd="57dp" android:layout_marginRight="57dp"

android:text="Kill Notification" android:textSize="30sp" />

</RelativeLayout>

MainActivity.java

package com.example.notificationdemo;

import androidx.appcompat.app.AppCompatActivity;

import androidx.core.app.NotificationCompat;

import android. app.NotificationManager;

import android.app.PendingIntent;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.Widget.Button;

import android.Widget.Toast;

public class MainActivity extends AppCompatActivity {

int notifyID=1;

int nummessages=0;

Button b1,b2;

NotificationManager manager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

123
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

setContentView(R.0layout.Activity_Main);

bl=findViewByld(R.id.btn);

b2=findViewByld(R.id.btn2);

manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

b1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

numimessages += 1;

Intent it=new Intent(MainActivity.this, Main2Activity.class);

Pendinglntent pendingIntent=PendingIntent.getActivity.(MainActivity. this, (int)


System.currentTimeMillis(), it, 0);

NotificationCompat.Builder n = new NotificationCompat.Builder(MainActivity. this)

.setContentTitle(" Notification App")

.setContentText(" Welcome to my Notification")

.setContentIntent(pendingIntent)

.setSmallIicon(R.mipmap.ic_ launcher)

setNumber(nummessages)

.setAutoCancel(true):

manager.notify(notifyID, n.build());

}});

b2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Toast.makeText(getApplicationContext()."Notification Killed" Toast


LENGTH_LONG).show();

124
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

manager.cancel(notifyID);

}});

activity_main2.xml

< ?xinl version="1.0" encoding="ulf-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="._Main2 Activity'">

<TextViewandroid:id="(@+id/textView" android:layout_Width=”339dp”

android:layout_height="135dp" android:layout_alignParentStart=”true”

android:layout_alignParentLeft="true" android:layout_alignParentTop=”true”

android:layout_centerHorizontal="true" android:layout_marginStart=”32dp”

android:layout_marginLeft="32dp" android:layout_marginTop=”206dp”

android:text="This is a Sample Activity" android:textSize=”30sp” />

</RelativeLayout>

Output:

125
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

126
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 23

Aim: Create an android application with two Fragments and load them on the click of
Button's. Display two Button's and a FrameLayout in our Activity and perform
setOnClickListener event on both Button's. On the click of First Button replace the First
Fragment and on click of Second Button we replace the Second Fragment with the layout
(FrameLayout). In the both Fragment's display a TextView and a Button and onclick of
Button we display the name of the Fragment with the help of Toast.

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">
<Button android:id="@+id/frag1" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="First Fragment"
android:textStyle="bold" />
<Button android:id="@+id/frag2"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:text="Second Fragment" android:textStyle="bold" />
<FrameLayout android:id="@+id/frame_layout"
android:layout_width="match_parent" android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>

Java new fragmentblank fragmentFirst Fragment


Java new fragmentblank fragmentSecondFragment

Fragment_First.xml

127
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

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


<FrameLayout 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:background="@drawable/flower4"
tools:context=".FirstFragment">
<Button android:id="@+id/button" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_gravity="bottom|center"
android:layout_marginBottom="50dp" android:text="Button" />
<TextView android:id="@+id/textView" android:layout_width="290dp"
android:layout_height="58dp" android:layout_gravity="bottom|center"
android:layout_marginBottom="80dp" android:text=" First Fragment"
android:textColor="@color/black" android:textSize="30sp"
android:textStyle="bold" />
</FrameLayout>

Fragment_Second.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:background="@drawable/flower4"
tools:context=".SecondFragment">
<Button android:id="@+id/button" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_gravity="bottom|center"
android:layout_marginBottom="50dp" android:text="Button" />
<TextView android:id="@+id/textView" android:layout_width="290dp"
android:layout_height="58dp" android:layout_gravity="bottom|center"
android:layout_marginBottom="80dp" android:text=" Second Fragment"
android:textColor="@color/black" android:textSize="30sp"

128
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:textStyle="bold" />
</FrameLayout>

MainActivity.java
package com.example.fragments;

import androidx.appcompat.app.AppCompatActivity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button fragment1,fragment2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragment1 = findViewById(R.id.frag1);
fragment2 = findViewById(R.id.frag2);
fragment1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { loadFragment(new FirstFragment()); }
});
fragment2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { loadFragment(new SecondFragment()); }
});
}
public void loadFragment(Fragment fragment) {
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.frame_layout,fragment);

129
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

ft.commit();
}
}

FirstFragment.java
package com.example.fragments;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
public class FirstFragment extends Fragment {
Button button;
public FirstFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_first, container, false);
button = view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "First Fragment",
Toast.LENGTH_LONG).show();
}
});
return view;

130
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

}
}

SecondFragment.java
package com.example.fragments;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;
public class SecondFragment extends Fragment {
Button button;
public SecondFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_second,container,false);
button = view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(),"Second
Fragment",Toast.LENGTH_LONG).show();
}});
return view;
}
}

131
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

132
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 24

Aim: Create the Telephone API in android application to make a call in predefined contact
number (the contact number is inserted through the code, do not import the contact form
user’s contact list).

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="wrap_ content"

android:layout_height="Wrap_content" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginT op="162dp" android:layout_marginEnd="32dp"

android:layout_marginRight="32dp" android:ems="10"

android:inputT ype="number|textPersonName|textPhonetic|textEmailAddress"

tools:layout_editor_absoluteX="146dp" tools:layout_editor_absoluteY="78dp" />

<TextView android:id="(@+id/tv1" android:layout_width="wrap_content”

android:layout_height="Wrap_content" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

133
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_marginStart="15dp" android:layout_marginLeft="15dp"

android:layout_marginT op="179dp" android:text="Enter Phone Number : "

tools:layout_ editor absoluteX="41dp" tools:layout editor absoluteY="89dp" />

<Button android:id="(@+id/btn1" android:layout_width="wrap_content"

android:layout_height="82dp" android:layout_alignParentBottom="true"

android:layout_centerHorizontal="true" android:layout_marginBottom="265dp"

android:background="(@android:drawable/sym_action_call"
tools:layout_editor_absoluteX="120dp"

tools:layout editor absoluteY="256dp" />

</RelativeLayout>

MainActivity.java

package com.example.callingapplication;

import androidx.annotation. NonNull:

import androidx.appcompat.app.AppCompatActivity;

import androidx.core.app.ActivityCompat:

import androidx.core.content.ContextCompat;

import android.Manifest;

import android.content.Intent:

import android.content.pm.PackageManager;

import android.Net.Uri;

import android.os.Bundle;

import android.view.View:

134
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android.Widget.Button;

import android.Widget.EditText;

import android.widget.Toast:

public class MainActivity extends AppCompatActivity {

EditText e1;

Button b1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main):

e1=findViewByld(R.id. editText):

bi=(Button)findViewByld(R.id.btn1);

bl.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent it=new Intent(Intent.ACTION_CALL),

String ph= “”;

if(el.getText().length()==10) {

if(ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.CALL_PHONE)!=PackageManager. PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(MainActivity.this, new
String[]{Manifest.permission.CALL_PHONE}, 100);

return;

ph="tel:" + el.getText().toString():

135
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

it.setData(Uri.parse(ph));

Toast.makeText(getApplicationContext(), el.getText().toString(), Toast


LENGTH_LONG).show();

startActivity(it);

else

Toast.makeText(getApplicationContext(),"Enter Valid Phone Number", Toast


LENGTH_LONG).show();

});

@Override

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,


@NonNull int[] grantResults) {

super.onRequestPermissionsResult(requestCode, permissions, grantResults):

if(grantResults. length > 0 && grantResults[0] ==


PackageManager.PERMISSION_GRANTED)

Toast.makeText(MainActivity.this,"Phone Permission Granted",


Toast.LENGTH_SHORT).show();

else

Toast.makeText(MainActivity.this."Phone Permission Denied",


Toast.LENGTH_SHORT).show():

AndroidManifest.xml (Add this line inside <manifest> tag on the top)

136
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<uses-permission android:name="android.permission.CALL_ PHONE" />

Output:

137
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 25

Aim: Create an android application for registration page, the registration information must
include name, age, gender. date of birth, username and password. The input fields must be
take only the required data in a proper manner and the information must be stored in the
Database Create another page for login and the user must login earlier registration
information.

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:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.053"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.063" />

<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"

138
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_height="wrap_content"
android:layout_marginEnd="368dp"
android:layout_marginBottom="592dp"
android:text="Age"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="348dp"
android:layout_marginBottom="520dp"
android:text="Gender"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<TextView
android:id="@+id/tv4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="364dp"
android:layout_marginBottom="436dp"
android:text="DOB"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<TextView
android:id="@+id/tv5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="332dp"
android:layout_marginBottom="356dp"
android:text="Username"
139
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<TextView
android:id="@+id/tv6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="328dp"
android:layout_marginBottom="280dp"
android:text="Password"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<EditText
android:id="@+id/editTextText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="72dp"
android:layout_marginBottom="652dp"
android:ems="10"
android:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<EditText
android:id="@+id/editTextNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="68dp"
android:layout_marginBottom="576dp"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

140
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

<RadioButton
android:id="@+id/radioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="232dp"
android:layout_marginBottom="492dp"
android:text="M"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="132dp"
android:layout_marginBottom="488dp"
android:text="F"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<EditText
android:id="@+id/editTextNumber2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="68dp"
android:layout_marginBottom="408dp"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<EditText
android:id="@+id/editTextText2"
141
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="68dp"
android:layout_marginBottom="328dp"
android:ems="10"
android:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<EditText
android:id="@+id/editTextTextPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="64dp"
android:layout_marginBottom="256dp"
android:ems="10"
android:inputType="textPassword"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="168dp"
android:layout_marginBottom="160dp"
android:text="Register"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
142
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_marginEnd="164dp"
android:layout_marginBottom="92dp"
android:text="Login Page"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Output:

143
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 26

Aim: Create an android application for the following menu items, the appropriate toast
should appear by clicking on the item:

 Hockey
 Cricket
 Carrom
 Polo
 Chess
 Football

Activity_Main.xml

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

<RelativeLayout xmlns:android="hittp://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/r1"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

</RelativeLayout>

MainActivity.java

package com.example.menuitems_games;

import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;

144
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android.os.Bundle;

import android.view.Menu;

import android.view. Menulnflater:

import android.view.Menultem:;

import android.Widget.RelativeLayout;

import android.Widget.Toast;

public class MainActivity extends AppCompatActivity {

RelativeLayout r;

@Overnide

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

r=findViewByld(R.id.r1):

@Override

public boolean onCreateOptionsMenu(Menu menu) {

Menulnflater mi=getMemuInflater();

mi.inflate(R.menu.gamesmenu, menu);

return super.onCreateOptionsMenu(menu);

@Override

public boolean onOptionsItemSelected(@NouNull Menultem item) {

switch (item. getItemId()) {

case R.id.ml: r.setBackgroundResource(R.drawable.hockey);

145
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Toast.makeText(getApplicationContext(),"Hockey : National Game."


Toast.LENGTH_LONG).show():

return true;

case R.id.m2: r.setBackgroundResource(R.drawable.cricket):

Toast.makeText(getApplicationContext(),"Cricket : Bat and Ball Game.",


Toast.LENGTH_LONG).show();

return true:

case R.id.m3: r.setBackgroundResource(R.drawable.carrom);

Toast. makeText(getApplicationC ontext(),""Carrom : cue sport-based tabletop game." ,


Toast.LENGTH_LONG).show();

return true;

case R.id.m4: r.setBackgroundResource(R.drawable.polo);

Toast.makeText(getApplicationContext(),"Polo : horseback mounted team sport.",


Toast.LENGTH LONG).show();

return true;

case R.id.m5: r.setBackgroundResource(R.drawable.chess),

Toast.maketext(getApplicationContext(),"Chess : Game of strategy and Tactics.",


Toast.LENGTH_LONG).show();

return true;

case R.id.m6: r.setBackgroundResource(R.drawable.football);

Toast.makeText(getApplicationContext()."Football : Team sport Game." ,


Toast.LENGTH_LONG).show();

return true;

return super .onOptionsItemSelected(item):;

146
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

gamesmenu.xml

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

<menu xmins: app=" http://schemas.android.com/apk/res-auto"

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

<item android:id="@+id/m1" android:title=""Hockey" />

<item android:id="@+id/m2" android:title="Cricket" />

<item android:id="(@+id/m3" android:title="Carrom" />

<item android:id="@-+id/m4" android:title="Polo" />

<item android:id—"@+id/m5" android:title="Chess" />

<item android:id="@-+id/m6" android:title="Football" />

</menu>

147
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

148
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 27

Aim: Create an android application that displays a login form with text for username and
password and button for submit and reset. On submitting, toast should be displayed
accordingly i.e. "Correct username and password" if username and password match and
"Incorrect username/password" if username and password do not match.

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:id="@+id/ed2"
android:layout_width="119dp"
android:layout_height="43dp"
android:text="Password"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.208"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.276" />

<TextView
android:id="@+id/ed1"
android:layout_width="119dp"
android:layout_height="43dp"
android:text="Username"

149
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.184"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.171" />

<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="ChkLogin"
android:text="Login"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.461" />

<EditText
android:id="@+id/name"
android:layout_width="165dp"
android:layout_height="41dp"
android:ems="10"
android:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.87"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.173" />

<EditText
android:id="@+id/passwd"
150
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_width="157dp"
android:layout_height="38dp"
android:ems="10"
android:inputType="textPassword"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.891"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.272" />
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java
package com.example.intentexample;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


EditText e1, e2;
Intent it;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
e1=(EditText) findViewById(R.id.name);
e2=(EditText) findViewById(R.id.passwd);

151
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public void ChkLogin(View view){


if(
e1.getText().toString().equals("sophia")&&
e2.getText().toString().equals("123")
){
Toast.makeText(getApplicationContext(), "Login Success",
Toast.LENGTH_LONG).show();
it=new Intent(this, LoginPage.class);
it.putExtra("sophia", e1.getText().toString());
startActivity(it);
}
else Toast.makeText(getApplicationContext(), "Login Failed",
Toast.LENGTH_LONG).show();
}
}
Activity_login_Page.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=".LoginPage">

<TextView
android:id="@+id/tv1"
android:layout_width="95dp"
android:layout_height="77dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

152
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.411" />
</androidx.constraintlayout.widget.ConstraintLayout>

LoginPage.java
package com.example.intentexample;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class LoginPage extends AppCompatActivity {


Intent it;
TextView t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_page);
it=getIntent();
t1=findViewById(R.id.tv1);
String name=it.getStringExtra("sophia");
t1.setText("Hii" +name+"!!!");
}
}

153
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

154
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 28

Aim: Create an android application that opens the website www.google.com in the browser
on the click of a button using intents.

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"

android:background="(@android:color/holo_orange_light"

tools:context=".MainActivity">

<EditText android :id="@+id/ed1" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_alignParentTop="true"

android:layout_centerHorizontal="true" android:layout_marginTop="191dp"

android:ems="10" android :inputType="textPersonName"

tools:layout_editor_absoluteX="88dp"

tools:layout_editor_absoluteY="163dp" />

<Button android:id="(@+id/btn1" android:layout_width="219dp"

android:layout height="59dp" android:layout_alignParentBottom="true"

155
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_centerHorizontal="true" android:layout_marginBottom="246dp"

android:background="@Mandroid:color‘holo_green_light" android:text="Open Website"

android:textColor="@color/colorPrimaryDark" android:textSize="24sp"

tools:layout_editor_absoluteX="146dp" tools:layout_ editor_absoluteY="368dp" />

</RelativeLayout>

MainActivity.java

package com.example.intent_browser;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

Button bl:

EditText e1;

@ Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState):

setContentView(R layout.activity_main):

b1=findViewByld(R.id.btn1);

el=findViewByld(R.id.ed1);

156
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

bl .setOnClickListener(new View.OncClickListener()

@Override

public void onClick(View view)

Intent intent = new Intent();

intent.setAction(Intent_ACTION_VIEW);

intent.addCategory(Intent.CATEGORY_BROWSABLE);

intent.setData(Uri.parse("http://"+e1.getText().toString()));

startActivity(intent);

});

157
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

158
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 29

Aim: Create an android application that allows you to type your name and then displays it
on the same screen in teal time.

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"

android:background="(@android:color/holo_green_ dark"

tools:context=".MainActivity">

<EditText android:id="(@+id/editText" android:layout_width="wrap_conteut"

android:layout_height="wrap_content" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_centerHorizontal="true" android:layout_marginStart="58dp"

android:layout_marginLeft="58dp" android:layout_marginTop="134dp"

android:ems="10" android :inputType="textPersonName"

android:textSize="24sp" />

<TextView android:id="(@+id/textView" android:layout_width="244dp"

android:layout_height="wrap_content" android:layout_alignParentEnd="true"

159
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_alignParentRight="true" android: layout_alignParentBottom="true"

android:layout_centerVertical="true" android:layout_marginEnd="52dp"

android:layout_marginRight="52dp" android:layout_marginBottom="342dp"

android:textSize="48dp" />

</RelativeLayout>

MainActivity.java

package com.example.realtimeapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.text.Editable

import android.text.TextWatcher;

import android.Widget.EditText;

import android.Widget.TextView;

public class MainActivity extends AppCompatActivity {

EditText ed1;

TextView tv1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ed1= findViewByld(R.id.editText);

tv1=findViewByld(R.id.textView);

edl.addTextChangedListener(new TextWatcher() {

160
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after) { }

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

tvl.setText(ed1.getText());

@Override

public void aftaTextChanged(Editable s) { }

});

}
Output:

161
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 30
Aim: Create an android application that allows you add your first name and last name to a
database on the click of a bution and then displays the first name and last name when you
click another button.

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"

android:background="@android:color/holo_blue_bright"

tools:context=".MainActivity">

<TextView android:id="(@+id/tv1" android:layout_width="162dp"

android:layout_height="42dp" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_marginStart="22dp" android:layout_ marginLeft="22dp"

android:layout_marginTop="97dp" android:text="First Name: "

android:textColor="#FB0303" android:textSize="24sp" />

<TextView android:id="(@+id/tv2" android:layout_width="163dp"

android:layout_height="49dp" android:layout_alignParentStart="true"

162
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_alignParentLeft="true" android:layout_alignParentTop="true"

android:layout_marginStart="24dp" android:layout_marginLeft="24dp"

android:layout_marginT op="213dp" android:text="Last Name : "

android:textColor="#F90202" android:textSize="24sp" />

<EditText android:id="@+id/ed1 android: layout_width="180dp"

android:layout_height="57dp" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginTop="80dp" android:layout_marginEnd="36dp"

android:layout_ marginRight="36dp" android:ems="10"

android:inputT ype="textPersonName" android:textSize="24sp" />

<EditText android:id="(@+id/ed2" android :layout_width="180dp"

android:layout_height="59dp" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginT op="198dp" android:layout_marginEnd="35dp"

android:layout_marginRight="35dp" android:ems="10"

android:inputType="textPersonName" android:shadowColor="#0FF607"

android:textSize="24sp" />

<TextView android:id="(@+id/tv3" android:layout_width="329dp"

android:layout_height="67dp" android:layout_alignParentTop="true"

android:layout_alignParentEnd="true" android:layout_alignParentRight="true"

android:layout_marginTop="317dp" android:layout_marginEnd="11dp"

163
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:layout_marginRight="11dp" android:textColor="(@c olor/colorPrimaryDark"

android:textSize="30sp" />

<Button android:id="@-+id/btn1" android:layout_width="wrap_content"

android:layout_height="Wrap_content" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentBottom="true"

android:layout_centerHorizontal="true" android:layout_marginStart="126dp"

android:layout_marginLeft="126dp" android:layout_marginBottom="170dp"

android:text="Insert” android:textSize="30sp" />

<Button android:id="@+id/btn2" android:layout_width="wrap_ content"

android:layout_height="wrap_content" android:layout_alignParentStart="true"

android:layout_alignParentLeft="true" android:layout_alignParentBottom="true"

android:layout_centerHorizontal="true" android:layout_marginStart="111dp"

android:layout_marginLeft="111dp" android :layout_marginBottom="92dp"

android:text="Retrieve" android:textSize="30sp" />

</RelativeLayout>

MainActivity.java

package com.example.simpledatabase;

import androidx.appcompat.app.AppCompatActivity;

import android.database.Cursor:

import android.os.Bundle;

import android.view.View;

164
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android.Widget.Button;

import android.Widget.EditText:

import android.Widget.TextView;

import android.Widget.Toast;

public class MainActivity extends AppCompatActivity {

EditText e1,e2;

Button b1,b2:

TextView t1;

DbHelper d;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

el=findViewByld(R.id.ed1);

e2=findViewByld(R.id.ed2);

bi=findViewByld(R.id.btn1);

b2=findViewByld(R.id.btn2);

ti=findViewByld(R.id.tv3);

d=new DbHelper(this);

bl.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

d.insert(el.getText().toString(), e2.getText().toString());

Toast.makeText(getApplicationContext().""Data Inserted!!!!!"
Toast.LENGTH_SHORT).show();

165
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

}):

b2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Cursor c = d.retrieve();

while (c.moveToNext()) {

t1.setText("Full Name : "+c. getString(0)+" "+c. getString(1));

}}});

DbHelper.java

package com.example.simpledatabase;

import android.content.ContentValies;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite SQLiteDatabase;

import android.database.sqlite SQLiteOpenHelper;

public class DbHelper extends SQLiteOpenHelper {

public DbHelper(Context context){ super(context,""Student" null, 1); }

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("CREATE TABLE NAME(Fname TEXT,Lname TEXT)");

166
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

(@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("DROP TABLE IF EXISTS NAME");

onCreate(db);

public void insert(String fn,String In) {

SQLiteDatabase db=this.getWritableDatabase();

ContentValues cv=new ContentValues();

cv.put("Fname" ,fn);

cv.put("Lname" ,In);

long res=db.insert("NAME" ,null.cv);

public Cursor retrieve() {

SQLiteDatabase db=getWritableDatabase();

Cursor cs = db.rawQuery("SELECT * FROM NAME" null);

return cs;

167
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

168
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 31

Aim: Create an android application that displays a welcome message on the click of a
button. In this program show the various stages of the lifecycle of an activity. (Hint: Stages of
Activity Lifecycle — Start, Resume, Stop, Pause, Restart, Destroy).

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"

android:background="@drawable/flower9"

tools:context=".MainActivity">

<TextView android:id="@+id/tv1" android:layout_width="match_parent"

android:layout_height="Wrap_content" android:layout_alignParentStart="true"

android:layout_alignParentTop="true" android:layout_marginT op="0dp"

android:textColor="@android:color/holo_blue_dark" android:textSize="36sp" />

<Button android:id="@+id/b1" android:layout_width="wrap_content"

android:layout_height="Wwrap_content" android:layout_alignParentEnd="true"

android:layout_alignParentRight="true" android:layout_alignParentBottom=''true"

android:layout_centerHorizontal="true" android:layout_marginEnd="118dp"

android:layout_marginRight="118dp" android:layout_marginBottom="147dp"
169
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:text="Click" />

</RelativeLayout>

MainActivity.java

package com.example.helloworld_actlifecycle;

import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.os.PersistableBundle;

import android.util.Log;

import android.view.View;

import android.Widget.Button;

import android.Widget.TextView;

import android.Widget.Toast;

public class MainActivity extends AppCompatActivity {

Button b1;

TextView t1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

b1=findViewByld(R.id.b1);

t1=findViewByld(R.id.tv1);

bl.setOnClickListener(new View.OnClickListener() {

170
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

@Override

public void onClick(View v) {

t1.setText(“hello world”);

}});

@Override

protected void onStart() {

Toast.makeText(getApplicationContext(),"Activity Started" ,
Toast.LENGTH_SHORT).show();

super. onStart();

Log.d("Lifecycle" ,"onStart Invoked");

@Override

protected void onStop() {

Toast.makeText(getApplicationContext()," Activity Stoped" ,


Toast.LENGTH_SHORT).show();

super.onStop();

Log.d(" Lifecycle" ,"onStop Invoked" );

@Override

protected void onRestart() {

Toast.makeText(getApplicationContext()," Activity Restarted" ,


Toast.LENGTH_SHORT).show();

171
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

super.onRestart();

Log.d(" Lifecycle" ,"onRestart Invoked");

@Override

protected void onPause() {

Toast.makeText(getApplicationContext()," Activity Paused",


Toast.LENGTH_SHORT).show();

super.onPause();

Log.d("Lifecycle" ,"onPause Invoked");

@Override

protected void onDestroy()

Toast.makeText(getApplicationC ontext()," Activity Destroyed" ,


Toast.LENGTH_SHORT).show()l;

super.onDestroy();

Log.d("Lifecycle" ,"onDestroy Invoked");

@Override

protected void onResume() {

Toast.makeText(getApplicationContext()," Activity Resumed" ,


Toast.LENGTH_SHORT).show();

super.onResume();

Log.d(" Lifecycle" ,"onResume Invoked");

172
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Output:

173
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Practical No 32

Aim: Create an android application to demonstrate the following:

 DatePicker Dialog
 TimePicker Dialog
 Progress Bar
 Exit Dialog(Alert Dialog)

Activity_Main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<Button
android:id="@+id/time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/holo_green_light"
android:onClick="launchTimeTrigger"
android:text="Launch Time Trigger"
android:textSize="30sp" />

<Button
android:id="@+id/date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"

174
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

android:background="@android:color/holo_purple"
android:onClick="launchDatePicker"
android:text="Date Picker"
android:textSize="30sp" />

<Button
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/colorAccent"
android:onClick="showProgressBar"
android:text="Progress Bar"
android:textSize="30sp" />

<Button
android:id="@+id/exit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/holo_blue_bright"
android:onClick="launchExit"
android:text="Exit"
android:textSize="30sp" />
</LinearLayout>

MainActivity.java
package com.example.data_time_exit_progress_pickerdialogue;

import android.app.AlertDialog;
import android.app.DatePickerDialog;

175
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

ProgressDialog pd;

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

public void launchTimeTrigger(View view) {


TimePickerDialog tpd;

176
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Calendar calendar = Calendar.getInstance();


int hr = calendar.get(Calendar.HOUR_OF_DAY);
int min = calendar.get(Calendar.MINUTE);
int mt = calendar.get(Calendar.MONTH);
TimePickerDialog.OnTimeSetListener tms = new
TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hour, int minute) {
Toast.makeText(getApplicationContext(), "Time - " + hour + " : " + minute,
Toast.LENGTH_LONG).show();
}
};
tpd = new TimePickerDialog(this, tms, hr, min, true);
tpd.show();
}

public void launchDatePicker(View view) {


DatePickerDialog dpd;
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int mon = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog.OnDateSetListener listener = new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int mon, int day) {
Toast.makeText(getApplicationContext(), "Date : " + day + "/" + mon + "/" +
year, Toast.LENGTH_LONG).show();
}
};
dpd = new DatePickerDialog(this, listener, year, mon, day);
dpd.show();
}

177
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

public void showProgressBar(View view) {


pd = new ProgressDialog(this);
pd.setMax(100);
pd.setTitle("Progress Dialog");
pd.setMessage("Loading....");
pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
pd.show();
new Thread(new Runnable() {
@Override
public void run() {
try {
while (pd.getProgress() <= pd.getMax()) {
Thread.sleep(2000);
handler.sendMessage(handler.obtainMessage());
if (pd.getProgress() <= pd.getMax())
pd.dismiss();
}
} catch (Exception e) {
e.printStackTrace();
}

}
}).start();
}

Handler handler = new Handler() {


@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
pd.incrementProgressBy(1);

178
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

}
};

public void launchExit(View view) {


AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Confirm Exit!!!!!");
alert.setMessage("Are you sure to exit??");
alert.setIcon(R.drawable.ic_launcher_background);
alert.setCancelable(true);
alert.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "You clicked on Cancel",
Toast.LENGTH_SHORT);
}
});
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alert.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "You clicked on No",
Toast.LENGTH_SHORT);
}
});
//AlertDialog ad = alert.create();
alert.show();
}

179
Shristi Shah 51
Advanced Mobile Programming Vivek College Of Commerce

Colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="colorAccent">#E21E94</color>
</resources>

Output:

180
Shristi Shah 51

You might also like