You are on page 1of 27

Enrollment No: 202103103510510

Practical-1
Aim: Create an Android application by setting appropriate application
launcher icon.

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

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="202103103510510"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.848"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.992" />

CGPIT/6IT-B/Mobile Application Development_Android 1


Enrollment No: 202103103510510

<EditText

android:id="@+id/editTextText"

android:layout_width="310dp"

android:layout_height="43dp"

android:ems="10"

android:inputType="text"

android:text="Name"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.425"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.193" />

<Button

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.487"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/editTextText"

app:layout_constraintVertical_bias="0.147" />

CGPIT/6IT-B/Mobile Application Development_Android 2


Enrollment No: 202103103510510

<ImageButton

android:id="@+id/imageButton"

android:layout_width="324dp"

android:layout_height="271dp"

android:layout_marginBottom="100dp"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.494"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="@+id/button"

app:layout_constraintVertical_bias="1.0"

tools:srcCompat="@mipmap/logo" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.test;

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);
}
}

CGPIT/6IT-B/Mobile Application Development_Android 3


Enrollment No: 202103103510510

Output:

CGPIT/6IT-B/Mobile Application Development_Android 4


Enrollment No: 202103103510510

Practical-2
Aim: Create an Android application that will demonstrate the use of
each:

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

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="202103103510510"

android:textAlignment="center"

android:textStyle="bold"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.099"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.022" />

CGPIT/6IT-B/Mobile Application Development_Android 5


Enrollment No: 202103103510510

<EditText

android:id="@+id/editTextText"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:ems="10"

android:hint="Name"

android:inputType="text"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.452"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/textView3" />

<TextView

android:id="@+id/textView3"

android:layout_width="275dp"

android:layout_height="44dp"

android:fontFamily="sans-serif-condensed-medium"

android:text="Registration Form"

android:textAlignment="center"

android:textColor="@color/white"

android:textSize="24sp"

android:textStyle="bold"

android:typeface="monospace"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

CGPIT/6IT-B/Mobile Application Development_Android 6


Enrollment No: 202103103510510

app:layout_constraintHorizontal_bias="0.438"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.112" />

<EditText

android:id="@+id/editTextTextEmailAddress"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:ems="10"

android:hint="E-mail"

android:inputType="textEmailAddress"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.452"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/editTextText" />

<EditText

android:id="@+id/editTextPhone"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:ems="10"

android:hint="Phone No."

android:inputType="phone"

app:layout_constraintEnd_toEndOf="parent"

CGPIT/6IT-B/Mobile Application Development_Android 7


Enrollment No: 202103103510510

app:layout_constraintHorizontal_bias="0.452"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/editTextTextPassword" />

<EditText

android:id="@+id/editTextTextPassword"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:ems="10"

android:hint="Password"

android:inputType="textPassword"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.452"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/editTextTextEmailAddress" />

<TextView

android:id="@+id/textView4"

android:layout_width="210dp"

android:layout_height="41dp"

android:layout_marginTop="8dp"

android:text="Gender"

android:textAlignment="viewStart"

android:textSize="16sp"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

CGPIT/6IT-B/Mobile Application Development_Android 8


Enrollment No: 202103103510510

app:layout_constraintHorizontal_bias="0.452"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/editTextPhone"

app:layout_constraintVertical_bias="0.038" />

<Button

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="40dp"

android:text="Submit"

android:textStyle="bold"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.287"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/radioButton" />

<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="40dp"

android:text="Reset"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.631"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/radioButton2" />

CGPIT/6IT-B/Mobile Application Development_Android 9


Enrollment No: 202103103510510

<androidx.constraintlayout.widget.Group

android:id="@+id/group"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

app:constraint_referenced_ids="radioButton2,radioButton"

app:layout_constraintStart_toStartOf="parent" />

<RadioButton

android:id="@+id/radioButton2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Female"

android:textStyle="bold"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="@+id/textView4"

app:layout_constraintHorizontal_bias="0.837"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.702" />

<RadioButton

android:id="@+id/radioButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Male"

android:textStyle="bold"

CGPIT/6IT-B/Mobile Application Development_Android 10


Enrollment No: 202103103510510

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.262"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.702" />

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

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

tools:targetApi="31">

<activity

android:name=".MainActivity"

android:exported="true">

CGPIT/6IT-B/Mobile Application Development_Android 11


Enrollment No: 202103103510510

<intent-filter>

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

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

</intent-filter>

</activity>

</application>

</manifest>

a. Android Lifecycle

Output :

CGPIT/6IT-B/Mobile Application Development_Android 12


Enrollment No: 202103103510510

b. User interface elements

c. Layouts

CGPIT/6IT-B/Mobile Application Development_Android 13


Enrollment No: 202103103510510

Practical-3
Aim: Design an activity which contains three fragments horizontally.
First fragment contains the gallery the gallery of institute, second
fragment contains available courses. If user selects a particular course
from the list then third Fragment displays the description of selected
course from the second fragment.

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"

android:orientation="vertical"

tools:context=".MainActivity">

<fragment

android:id="@+id/f1"

android:name="com.example.pr3.First"

android:layout_width="match_parent"

android:layout_height="wrap_content"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.0"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

CGPIT/6IT-B/Mobile Application Development_Android 14


Enrollment No: 202103103510510

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.073">

</fragment>

<fragment

android:id="@+id/f2"

android:name="com.example.pr3.Second"

android:layout_width="match_parent"

android:layout_height="wrap_content"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.0"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.32">

</fragment>

<fragment

android:id="@+id/f3"

android:name="com.example.pr3.Third"

android:layout_width="match_parent"

android:layout_height="wrap_content"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.0"

CGPIT/6IT-B/Mobile Application Development_Android 15


Enrollment No: 202103103510510

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.691">

</fragment>

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.pr3;

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

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

CGPIT/6IT-B/Mobile Application Development_Android 16


Enrollment No: 202103103510510

android:layout_height="match_parent"

tools:context=".First">

<!-- TODO: Update blank fragment layout -->

<ImageView

android:id="@+id/imageView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:src="@mipmap/logo" />

<TextView

android:id="@+id/textView"

android:layout_width="142dp"

android:layout_height="41dp"

android:text="202103103510510"

android:textAlignment="center"

android:textColor="#E91E63"

android:textColorHint="#4CAF50"

android:textStyle="bold" />

</FrameLayout>

First.java

package com.example.pr3;

import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

CGPIT/6IT-B/Mobile Application Development_Android 17


Enrollment No: 202103103510510

import android.view.ViewGroup;

/**

* A simple {@link Fragment} subclass.

* Use the {@link First#newInstance} factory method to

* create an instance of this fragment.

*/

public class First extends Fragment {

// TODO: Rename parameter arguments, choose names that match

// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER

private static final String ARG_PARAM1 = "param1";

private static final String ARG_PARAM2 = "param2";

// TODO: Rename and change types of parameters

private String mParam1;

private String mParam2;

public First() {

// Required empty public constructor

/**

* Use this factory method to create a new instance of

* this fragment using the provided parameters.

* @param param1 Parameter 1.

* @param param2 Parameter 2.

* @return A new instance of fragment First.

*/

CGPIT/6IT-B/Mobile Application Development_Android 18


Enrollment No: 202103103510510

// TODO: Rename and change types and number of parameters

public static First newInstance(String param1, String param2) {

First fragment = new First();

Bundle args = new Bundle();

args.putString(ARG_PARAM1, param1);

args.putString(ARG_PARAM2, param2);

fragment.setArguments(args);

return fragment;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

if (getArguments() != null) {

mParam1 = getArguments().getString(ARG_PARAM1);

mParam2 = getArguments().getString(ARG_PARAM2);

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// Inflate the layout for this fragment

return inflater.inflate(R.layout.fragment_first, container, false);

CGPIT/6IT-B/Mobile Application Development_Android 19


Enrollment No: 202103103510510

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"

tools:context=".Second">

<ListView

android:id="@+id/Course_List"

android:layout_width="match_parent"

android:layout_height="match_parent" />

</FrameLayout>

Second.java

package com.example.pr3;

import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import org.w3c.dom.DOMStringList;

/**

CGPIT/6IT-B/Mobile Application Development_Android 20


Enrollment No: 202103103510510

* A simple {@link Fragment} subclass.

* Use the {@link Second#newInstance} factory method to

* create an instance of this fragment.

*/

public class Second extends Fragment {

ListView l;

String List[];

// TODO: Rename parameter arguments, choose names that match

// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER

private static final String ARG_PARAM1 = "param1";

private static final String ARG_PARAM2 = "param2";

// TODO: Rename and change types of parameters

private String mParam1;

private String mParam2;

public Second() {

// Required empty public constructor

/**

* Use this factory method to create a new instance of

* this fragment using the provided parameters.

* @param param1 Parameter 1.

* @param param2 Parameter 2.

* @return A new instance of fragment Second.

*/

CGPIT/6IT-B/Mobile Application Development_Android 21


Enrollment No: 202103103510510

// TODO: Rename and change types and number of parameters

public static Second newInstance(String param1, String param2) {

Second fragment = new Second();

Bundle args = new Bundle();

args.putString(ARG_PARAM1, param1);

args.putString(ARG_PARAM2, param2);

fragment.setArguments(args);

return fragment;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

if (getArguments() != null) {

mParam1 = getArguments().getString(ARG_PARAM1);

mParam2 = getArguments().getString(ARG_PARAM2);

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

List = getResources().getStringArray(R.array.Course);

View v = inflater.inflate(R.layout.fragment_second, container, false);

l=v.findViewById(R.id.Course_List);

final ArrayAdapter<String> adapter=new ArrayAdapter<>(getActivity(),

android.R.layout.simple_list_item_1,android.R.id.text1,List);

CGPIT/6IT-B/Mobile Application Development_Android 22


Enrollment No: 202103103510510

l.setAdapter(adapter);

l.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

String value=adapter.getItem(position);

Third t3=(Third) getFragmentManager().findFragmentById(R.id.f3);

t3.setCourseText(value);

});

// Inflate the layout for this fragment

return v;

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

tools:context=".Third">

<!-- TODO: Update blank fragment layout -->

<TextView

android:id="@+id/txtCourse"

android:layout_width="match_parent"

CGPIT/6IT-B/Mobile Application Development_Android 23


Enrollment No: 202103103510510

android:layout_height="match_parent"

android:text="Selected_Course_is" />

</FrameLayout>

Third.java

package com.example.pr3;

import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.TextView;

/**

* A simple {@link Fragment} subclass.

* Use the {@link Third#newInstance} factory method to

* create an instance of this fragment.

*/

public class Third extends Fragment {

// TODO: Rename parameter arguments, choose names that match

// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER

private static final String ARG_PARAM1 = "param1";

private static final String ARG_PARAM2 = "param2";

// TODO: Rename and change types of parameters

private String mParam1;

private String mParam2;

CGPIT/6IT-B/Mobile Application Development_Android 24


Enrollment No: 202103103510510

public Third() {

// Required empty public constructor

/**

* Use this factory method to create a new instance of

* this fragment using the provided parameters.

* @param param1 Parameter 1.

* @param param2 Parameter 2.

* @return A new instance of fragment Third.

*/

// TODO: Rename and change types and number of parameters

public static Third newInstance(String param1, String param2) {

Third fragment = new Third();

Bundle args = new Bundle();

args.putString(ARG_PARAM1, param1);

args.putString(ARG_PARAM2, param2);

fragment.setArguments(args);

return fragment;

TextView tv;

View mView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

CGPIT/6IT-B/Mobile Application Development_Android 25


Enrollment No: 202103103510510

if (getArguments() != null) {

mParam1 = getArguments().getString(ARG_PARAM1);

mParam2 = getArguments().getString(ARG_PARAM2);

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View v = inflater.inflate(R.layout.fragment_third,container);

mView = v;

// Inflate the layout for this fragment

return v;

public void setCourseText(String value)

tv=mView.findViewById(R.id.txtCourse);

if (value.equals("Diploma"))

tv.setText("You have Selected Diploma Course");

else if (value.equals("M.Tech"))

tv.setText("You have Selected M.Tech Course");

else if (value.equals("B.Tech"))

CGPIT/6IT-B/Mobile Application Development_Android 26


Enrollment No: 202103103510510

tv.setText("You have Selected B.Tech Course");

else

tv.setText("None Selected");

Output :

CGPIT/6IT-B/Mobile Application Development_Android 27

You might also like