Lab - 2 Bhupendra
Lab - 2 Bhupendra
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
main_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_si"
android:title="Simple Interest"/>
<item
android:id="@+id/menu_area"
android:title="Area of Triangle"/>
</menu>
Fragment_simple_interest.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:layout_gravity="center"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etP"
android:inputType="numberDecimal"
android:textSize="25sp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etR"
android:inputType="numberDecimal"
android:textSize="25sp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etT"
android:inputType="numberDecimal"
android:textSize="25sp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnCalc"
android:text="Calculate "
android:textSize="25sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvResult"
android:textSize="23sp"/>
</LinearLayout>
Fragment_triangle.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:layout_gravity="center"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etBase"
android:textSize="25sp"
android:inputType="numberDecimal"/>
<EditText
android:layout_width="match_parent"
android:id="@+id/etHeight"
android:textSize="25sp"
android:inputType="numberDecimal"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnCalc"
android:textSize="23sp"
android:text="Calculate "
android:layout_gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvResult"
android:textSize="23sp"/>
</LinearLayout>
Fragment_SimpleInterest.java
package com.bhupendra.trianglesimpleinterest;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
Button btnCalc;
TextView tvResult;
public FragmentSimpleInterest() {
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
@Override
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
etP = view.findViewById(R.id.etP);
etR = view.findViewById(R.id.etR);
etT = view.findViewById(R.id.etT);
btnCalc = view.findViewById(R.id.btnCalc);
tvResult = view.findViewById(R.id.tvResult);
btnCalc.setOnClickListener(v -> {
double p = Double.parseDouble(etP.getText().toString());
double r = Double.parseDouble(etR.getText().toString());
double t = Double.parseDouble(etT.getText().toString());
double si = (p * r * t) / 100;
});
return view;
Fragment_Triangle.java
package com.bhupendra.trianglesimpleinterest;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
Button btnCalc;
TextView tvResult;
public FragmentTriangle() {
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
@Override
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
@Override
etBase = view.findViewById(R.id.etBase);
etHeight = view.findViewById(R.id.etHeight);
btnCalc = view.findViewById(R.id.btnCalc);
tvResult = view.findViewById(R.id.tvResult);
btnCalc.setOnClickListener(v -> {
double b = Double.parseDouble(etBase.getText().toString());
double h = Double.parseDouble(etHeight.getText().toString());
});
return view;
MainActivity.java
package com.bhupendra.trianglesimpleinterest;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
return true;
@Override
int id = item.getItemId();
if (id == R.id.menu_si) {
if (fragment != null) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment)
.commit();
return true;
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="35sp"
android:layout_margin="15dp"
android:textAlignment="center"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PopUp Menu"
android:id="@+id/btn"
android:textSize="25sp"
android:layout_margin="10dp"
android:layout_gravity="center"/>
</LinearLayout>
Popup.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:title="Copy"
android:id="@+id/copy"/>
android:title="Paste"
android:id="@+id/paste"/>
<item
android:title="Cut"
android:id="@+id/cut"/>
</menu>
MainActivity.java
package com.bhupendra.contextpopupmenu;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
Button btn;
@Override
super.onCreate(savedInstanceState);
btn=findViewById(R.id.btn);
registerForContextMenu(btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
popup.inflate(R.menu.popup);
popup.setOnMenuItemClickListener(MainActivity.this);
popup.show();
});
if (item.getItemId()==R.id.copy){
else if (item.getItemId()==R.id.paste){
else if (item.getItemId()==R.id.cut){
return true;
@Override
mf.inflate(R.menu.popup, menu);
return super.onCreateOptionsMenu(menu);
@Override
if (item.getItemId()==R.id.copy){
else if (item.getItemId()==R.id.paste){
else if (item.getItemId()==R.id.cut){
return super.onOptionsItemSelected(item); }
@Override
super.onCreateContextMenu(menu, v, menuInfo);
mf.inflate(R.menu.popup, menu);}
@Override
if (item.getItemId()==R.id.copy){
else if (item.getItemId()==R.id.paste){
else if (item.getItemId()==R.id.cut){
return super.onContextItemSelected(item);
}}
c. Create an android app with custom dialog box.Dialog box should ask for
Student details (Name,roll,MP,NP,AJ,AE,DS).When save button is pressed. Student
details should be displayed in activity along with result and grade.
Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="24dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btnShowDialog"
android:text="Student Details"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/tvStudentDetails"
android:layout_marginTop="20dp"
android:textSize="20sp"
android:textColor="#000000"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
Customdialog_student.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etName"
android:textSize="25dp"
android:hint="Name"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25dp"
android:hint="Roll Number"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etMP"
android:textSize="25dp"
android:inputType="number"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etNP"
android:textSize="25dp"
android:inputType="number"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etAJ"
android:textSize="25dp"
android:inputType="number"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etAE"
android:textSize="25dp"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etDS"
android:textSize="25dp"
android:inputType="number"/>
</LinearLayout>
</ScrollView>
MainActivity.java
package com.bhupendra.studentcustomdialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AlertDialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.*;
Button btnShowDialog;
TextView tvStudentDetails;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity);
btnShowDialog = findViewById(R.id.btnShowDialog);
tvStudentDetails = findViewById(R.id.tvStudentDetails);
builder.setView(view);
int mp = Integer.parseInt(etMP.getText().toString());
int np = Integer.parseInt(etNP.getText().toString());
int aj = Integer.parseInt(etAJ.getText().toString());
int ae = Integer.parseInt(etAE.getText().toString());
int ds = Integer.parseInt(etDS.getText().toString());
boolean pass = mp >= 40 && np >= 40 && aj >= 40 && ae >= 40 && ds >= 40;
String grade;
String output = "Name: " + name + "\nRoll: " + roll + "\nMarks:\nMobile Programming="
tvStudentDetails.setText(output);
});
builder.setNegativeButton("Cancel", null);
builder.show();
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content" android:textSize="30sp"
android:id="@+id/list"/>
Bhupendra chand Mobile Programming
RR Campus Lab 2
</LinearLayout>
Listitem.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">
<ImageView android:layout_width="100sp"
android:layout_height="100sp"
android:contentDescription="TODO"
android:src="@drawable/pic1" android:layout_margin="10sp"
android:id="@+id/image"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="main title"
android:textSize="30sp"
android:layout_margin="8sp"
android:id="@+id/main" android:layout_toRightOf="@+id/image"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="sub title"
android:textSize="25sp"
android:layout_margin="50sp"
android:id="@+id/sub_main"
android:layout_toRightOf="@+id/image"/>
</RelativeLayout>
MainActivity.java
import android.os.Bundle;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
setContentView(R.layout.layout);
list.setAdapter(adapter);
MyListAdapter.java
import android.app.Activity;
Activity context;
this.context = context;
this.title = title;
Bhupendra chand Mobile Programming
RR Campus Lab 2
this.image = image;
}
public View getView(int position, View view, ViewGroup parent) {
timage.setImageResource(image[position]);
tsub_main.setText(sub_main[position]); return rowView;
}
}
PHP
JavaScript
React
ActivityMain.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="auto_fit"
android:columnWidth="100dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:stretchMode="columnWidth"/>
</RelativeLayout>
MyGridAdapter.java
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView; import
android.widget.TextView;
import androidx.annotation.NonNull;
}
@NonNull @Override
public View getView(int position, @NonNull View convertView, @NonNull ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = context.getLayoutInflater(); convertView =
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.imageView.setImageResource(image[position]);
holder.textView.setText(text[position]);
return convertView;
}
ImageView imageView;
TextView textView; } }
PHP JavaScript
React
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" android:id="@+id/list"/>
</LinearLayout>
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="100sp"
android:layout_height="100sp"
android:layout_alignParentTop="true"
android:layout_margin="10sp"
android:id="@+id/image"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/image"
android:id="@+id/txtName" />
Bhupendra chand Mobile Programming
RR Campus Lab 2
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
android:layout_below="@id/txtName"
android:layout_toRightOf="@+id/image"
android:id="@+id/txtAddress" />
</RelativeLayout>
MainActivity.java
package com.example.recyclerview;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
RecyclerViewAdapter adapter;
RecyclerView.LayoutManager layoutManager;
RecyclerView list;
@Override
{ super.onCreate(savedInstanceState);
String[] name={"Php","JavaScript","React"};
list.setLayoutManager(layoutManager);
list.setAdapter(adapter);
}
Bhupendra chand Mobile Programming
RR Campus Lab 2
RecyclerViewAdapter.java package
com.example.recyclerview; import
android.app.Activity; import
android.view.LayoutInflater; import
android.view.View; import
android.view.ViewGroup; import
android.widget.ImageView; import
android.widget.TextView; import
androidx.annotation.NonNull; import
androidx.recyclerview.widget.RecyclerView; public
RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>{
Activity context;
String[] name;
image;
this.image = image;
@NonNull
@Override
viewHolder;
@Override
{ holder.txtName.setText(name[position]);
Bhupendra chand Mobile Programming
RR Campus Lab 2
holder.txtAddress.setText(address[position]);
holder.imageView.setImageResource(image[position]);
getItemCount() { return
name.length;
TextView txtName;
ImageView
ViewHolder(View
listItem){ super(listItem);
txtName = listItem.findViewById(R.id.txtName);
imageView = listItem.findViewById(R.id.image);