It3681 - Mobile Applications Development Laboratory
It3681 - Mobile Applications Development Laboratory
LIST OF EXPERIMENTS:
PROCEDURE:
(i)To develop an android application using Kotlin, we need a Android application
development IDE such as Android Studio.
(ii)Android Studio is an IDE that allows us to develop application at single platform. We can
download Android Studio set from Android Studio official link Download Android Studio.
Before installing Android Studio on our machine, we must have Java installed. Look a
reference here https://www.javatpoint.com/how-to-set-path-in-java to set path of JDK.
After download Android Studio, run its setup and install it. To install follow the instructions.
@Override
publicbooleanonCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
XML file
<LinearLayoutxmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=” ill_parent”
android:layout_height=”fill_parent”
android:orientation=”vertical”
android:padding=”20dip”>
<EditText
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Edit Text”/>
<Button
android:id=”@+id/btn1”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Button”/>
<CheckBox
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Checkbox”/>
<RadioButton
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Radio Button”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Green Color”
android:textColor=”#00ff00”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Red Color”
android:textColor=”#ff0000”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Blue Color”
android:textColor=”#0000ff”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Size 10”
android:textColor=”#000000”
android:textSize=”10dip”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Size 15”
android:textColor=”#000000”
android:textSize=”15dip”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Size 20”
android:textColor=”#000000”
android:textSize=”20dip”/>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Size 50”
android:textColor=”#000000”
android:textSize=”50dip”/>
</LinearLayout>
OUTPUT:
EX NO: 3 DEVELOP A NATIVE CALCULATOR APPLICATION
JAVA CODE
package com.example.rating;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText firstnum,secondnum;
TextView r;
Button bt;
Button bts;
Button btm;
double a,b,c;
@SuppressLint(“MissingInflatedId”)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firstnum=(EditText) findViewById(R.id.first);
secondnum=(EditText) findViewById(R.id.second);
bt=(Button) findViewById(R.id.buttonadd);
bts=(Button) findViewById(R.id.buttonsub);
btm=(Button) findViewById(R.id.buttonmul);
r=(TextView) findViewById(R.id.result);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a=Double.parseDouble(firstnum.getText().toString());
b=Double.parseDouble(secondnum.getText().toString());
c=a+b;
r.setText(“Sum=”+c);
}
});
bts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a=Double.parseDouble(firstnum.getText().toString());
b=Double.parseDouble(secondnum.getText().toString());
c=a-b;
r.setText(“Sub=”+c);
}
});
btm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
a=Double.parseDouble(firstnum.getText().toString());
b=Double.parseDouble(secondnum.getText().toString());
c=a*b;
r.setText(“Mul=”+c);
}
});
}
}
XML CODE
<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:layout_centerHorizontal=”true”
tools:context=”.MainActivity">
<TextView
android:id=”@+id/textview1”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignParentTop=”true”
android:layout_centerHorizontal=”true”
android:text=”Enter number 1”
android:textSize=”18sp” />
<EditText
android:id=”@+id/first”
android:text=”one”
android:minHeight=”48dp”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_below=”@id/textview1”
android:layout_alignParentTop=”false”
android:layout_alignParentRight=”false”
android:layout_centerHorizontal=”true”
android:ems=”10”
android:inputType=”number” />
<TextView
android:id=”@+id/textView2”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_below=”@id/first”
android:layout_centerHorizontal=”true”
android:text=”Enter Number 2”
android:textSize=”18sp”/>
<EditText
android:id=”@+id/second”
android:text=”two”
android:minHeight=”48dp”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_below=”@id/textView2”
android:layout_centerHorizontal=”true”
android:ems=”10”
android:inputType=”number” />
<Button
android:id=”@+id/buttonadd”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_below=”@id/second”
android:layout_centerHorizontal=”true”
android:text=”Add”/>
<Button
android:id=”@+id/buttonsub”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_below=”@id/buttonadd”
android:layout_centerHorizontal=”true”
android:text=”Sub” />
<Button
android:id=”@+id/buttonmul”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_below=”@id/buttonsub”
android:layout_centerHorizontal=”true”
android:text=”mul” />
“TextView
android:id=”@+id/result”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_below=”@id/buttonmul”
android:layout_centerHorizontal=”true”
android:textSize=”24sp” />
</RelativeLayout>
OUTPUT:
EX NO: 4 DEVELOP A GAMING APPLICATION THAT USES 2-D
ANIMATIONS AND GESTURES
JAVA CODE
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
ImageView imageView;
Button blinkBTN, rotateBTN, fadeBTN, moveBTN, slideBTN, zoomBTN,
stopBTN;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageview);
blinkBTN = findViewById(R.id.BTNblink);
rotateBTN = findViewById(R.id.BTNrotate);
fadeBTN = findViewById(R.id.BTNfade);
moveBTN = findViewById(R.id.BTNmove);
slideBTN = findViewById(R.id.BTNslide);
zoomBTN = findViewById(R.id.BTNzoom);
stopBTN = findViewById(R.id.BTNstop);
blinkBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// To add blink animation
Animation animation =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.blink_animation);
imageView.startAnimation(animation);
}
});
rotateBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// To add rotate animation
Animation animation =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotate_animation);
imageView.startAnimation(animation);
}
});
fadeBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// To add fade animation
Animation animation =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade_animation);
imageView.startAnimation(animation);
}
});
moveBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// To add move animation
Animation animation =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.move_animation);
imageView.startAnimation(animation);
}
});
slideBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// To add slide animation
Animation animation =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_animation);
imageView.startAnimation(animation);
}
});
zoomBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animation animation =
AnimationUtils.loadAnimation(getApplicationContext(), R.anim.zoom_animation);
imageView.startAnimation(animation);
}
});
stopBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.clearAnimation();
}
});
}
}
XML CODE
<?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"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageview"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:contentDescription="@string/app_name"
android:src="@drawable/gfgimage" />
<LinearLayout
android:id="@+id/linear1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/imageview"
android:layout_marginTop="30dp"
android:orientation="horizontal"
android:weightSum="3">
<!--To start the blink animation of the image-->
<Button
android:id="@+id/BTNblink"
style="@style/TextAppearance.AppCompat.Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:padding="3dp"
android:text="@string/blink"
android:textColor="@color/white" />
<!--To start the rotate animation of the image-->
<Button
android:id="@+id/BTNrotate"
style="@style/TextAppearance.AppCompat.Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:padding="3dp"
android:text="@string/clockwise"
android:textColor="@color/white" />
<!--To start the fading animation of the image-->
<Button
android:id="@+id/BTNfade"
style="@style/TextAppearance.AppCompat.Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:padding="3dp"
android:text="@string/fade"
android:textColor="@color/white" />
</LinearLayout>
<LinearLayout
android:id="@+id/linear2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/linear1"
android:layout_marginTop="30dp"
android:orientation="horizontal"
android:weightSum="3">
<!--To start the move animation of the image-->
<Button
android:id="@+id/BTNmove"
style="@style/TextAppearance.AppCompat.Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:padding="3dp"
android:text="@string/move"
android:textColor="@color/white" />
<!--To start the slide animation of the image-->
<Button
android:id="@+id/BTNslide"
style="@style/TextAppearance.AppCompat.Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:padding="3dp"
android:text="@string/slide"
android:textColor="@color/white" />
<!--To start the zoom animation of the image-->
<Button
android:id="@+id/BTNzoom"
style="@style/TextAppearance.AppCompat.Widget.Button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_weight="1"
android:padding="3dp"
android:text="@string/zoom"
android:textColor="@color/white" />
</LinearLayout>
<!--To stop the animation of the image-->
<Button
android:id="@+id/BTNstop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/linear2"
android:layout_marginLeft="30dp"
android:layout_marginTop="30dp"
android:layout_marginRight="30dp"
android:text="@string/stop_animation" />
</RelativeLayout>
OUTPUT:
EX NO: 5 DEVELOP A MOVIE RATING APPLICATION (SIMILAR TO
IMDB)
JAVA CODE
package com.example.ra;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.LayerDrawable;
import androidx.appcompat.app.AppCompatActivity;
//import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.RatingBar;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
RatingBar rt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//binding MainActivity.java with activity_main.xml file
rt = (RatingBar) findViewById(R.id.ratingBar);
//finding the specific RatingBar with its unique ID
LayerDrawable stars=(LayerDrawable)rt.getProgressDrawable();
//Use for changing the color of RatingBar
stars.getDrawable(2).setColorFilter(Color.YELLOW,
PorterDuff.Mode.SRC_ATOP);
}
public void Call(View v)
{
// This function is called when button is clicked.
// Display ratings, which is required to be converted into string
first.
TextView t = (TextView)findViewById(R.id.textView2);
t.setText(“You Rated :”+String.valueOf(rt.getRating()));
}
}
XML CODE
<?xml version=”1.0” encoding=”utf-8”?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
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:fitsSystemWindows=”true”
tools:context=”.MainActivity”>
<RatingBar
android:id=”@+id/ratingBar”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginTop=”104dp”
android:background=”#00AA00”
app:layout_constraintLeft_toLeftOf=”parent”
app:layout_constraintRight_toRightOf=”parent”
app:layout_constraintTop_toTopOf=”parent”
tools:layout_constraintLeft_creator=”1”
tools:layout_constraintRight_creator=”1”
tools:layout_constraintTop_creator=”1” />
<TextView
android:id=”@+id/textView”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Rate Me!!!”
android:textColor=”@android:color/background_dark”
android:textSize="30sp”
android:textStyle=”bold|italic”
tools:layout_editor_absoluteX=”127dp”
tools:layout_editor_absoluteY=”28dp” />
<TextView
android:id=”@+id/textView2”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginTop=”148dp”
android:textColorHint=”#FF0000”
android:textSize=”24sp”
app:layout_constraintLeft_toLeftOf=”parent”
app:layout_constraintRight_toRightOf=”parent”
app:layout_constraintTop_toBottomOf=”@+id/ratingBar”
tools:layout_constraintRight_creator=”1”
tools:layout_constraintLeft_creator=”1” />
<Button
android:id=”@+id/button”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginBottom=”50dp”
android:layout_marginTop=”50dp”
android:background=”@android:color/holo_red_dark”
android:onClick=”Call”
android:text=”Submit”
android:textColor=”@android:color/background_light”
android:textStyle=”bold|italic”
app:layout_constraintBottom_toTopOf=”@+id/textView2”
app:layout_constraintLeft_toLeftOf=”parent”
app:layout_constraintRight_toRightOf=”parent”
app:layout_constraintTop_toBottomOf=”@+id/ratingBar”
tools:layout_constraintBottom_creator=”1”
tools:layout_constraintLeft_creator=”1”
tools:layout_constraintRight_creator=”1”
tools:layout_constraintTop_creator=”1” />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
OUTPUT:
EX NO: 6 DEVELOP AN APPLICATION TO CONNECT TO A WEB
SERVICE AND TO RETRIEVE DATA WITH HTTP
JAVA CODE:
package com.example.webv;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Find the WebView by its unique ID
WebView webView = findViewById(R.id.web);
// loading https://www.geeksforgeeks.org url in the WebView.
webView.loadUrl(“https://www.geeksforgeeks.org”);
// this will enable the javascript.
webView.getSettings().setJavaScriptEnabled(true);
// WebViewClient allows you to handle
// onPageFinished and override Url loading.
webView.setWebViewClient(new WebViewClient());
}
}
XML CODE:
<?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”
tools:context=”com.gfg.android.examplekotlin.MainActivity”>
<!-- unique ID of WebView -- >
<WebView
android:id=”@+id/web”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
tools:layout_editor_absoluteX=”8dp”
tools:layout_editor_absoluteY=”8dp” />
</RelativeLayout>
AndroidManifest.xml
<uses-permission android:name=”android.permission.INTERNET” />
OUTPUT:
EX NO: 7 DEVELOP A SIMPLE SHOPPING APPLICATION
JAVA CODE:
package com.example.grocerylist.Adapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.recyclerview.widget.RecyclerView;
import com.example.grocerylist.Database.Entity.GroceryItems;
import com.example.grocerylist.R;
import com.example.grocerylist.UI.GroceryViewModel;
import com.example.grocerylist.databinding.GroceryadapterBinding;
@Override
public GroceryViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
GroceryadapterBinding binding =
GroceryadapterBinding.inflate(LayoutInflater.from(parent.getContext()), parent,
false);
return new GroceryViewHolder(binding);
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public void onBindViewHolder(GroceryViewHolder holder, int position) {
GroceryItems currentPosition = list.get(position);
holder.binding.txtItemName.setText(currentPosition.getItemName());
holder.binding.txtItemPrice.setText(String.valueOf(currentPosition.getItemPrice()));
holder.binding.txtItemQuantity.setText(String.valueOf(currentPosition.getItemQuantit
y()));
holder.binding.ibDelete.setOnClickListener(v ->
viewModel.delete(currentPosition));
if (position == list.size() - 1) {
int totalCost = 0;
for (int i = 0; i < list.size(); i++) {
totalCost += list.get(i).getItemPrice();
}
holder.binding.txtItemTotalCost.setVisibility(View.VISIBLE);
holder.binding.txtTotalCostTitle.setVisibility(View.VISIBLE);
holder.binding.txtItemTotalCost.setText(String.valueOf(totalCost));
}
}
static class GroceryViewHolder extends RecyclerView.ViewHolder {
private final GroceryadapterBinding binding;
XML CODE:
<?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"
android:layout_width="match_parent"
android:layout_height="125dp"
android:background="@drawable/adapter1">
<CheckBox
android:id="@+id/cbItemCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="29dp"
android:layout_marginLeft="29dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:background="@color/white"
android:shadowColor="@color/black"
app:layout_constraintBaseline_toBaselineOf="@+id/txtItemName"
app:layout_constraintEnd_toStartOf="@+id/txtItemName"
app:layout_constraintStart_toStartOf="parent" />
<!-- This button is used to delete grocery item -->
<ImageButton
android:id="@+id/ibDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="26dp"
android:layout_marginRight="26dp"
android:background="@color/black"
android:src="@drawable/ic_action_delete"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/txtItemPrice"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.257" />
<!-- This text view is used to add statement for total cost -->
<TextView
android:id="@+id/txtTotalCostTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="77dp"
android:layout_marginLeft="77dp"
android:layout_marginEnd="149dp"
android:layout_marginRight="149dp"
android:layout_marginBottom="16dp"
android:text="@string/totalCostTitle"
android:textColor="@color/white"
android:textSize="20dp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/txtItemTotalCost"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
OUTPUT:
EX NO: 8 DESIGN A WEB SERVER SUPPORTING PUSH NOTIFICATIONS
JAVA CODE:
package com.example.notification;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;
import android.app.NotificationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=findViewById(R.id.click);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
NotificationCompat.Builder
mbuilder=(NotificationCompat.Builder)
new NotificationCompat.Builder(getApplicationContext())
.setSmallIcon(R.drawable.one)
.setContentTitle(“Notification”)
.setContentText(“this is noti”);
NotificationManager notificationManager=(NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(0,mbuilder.build());
}
});
}
}
XML:
}
}
XML CODE:
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="// your API "/>
Build.gradle.kts(Module:app)
The code must be in dependencies tag
implementation("com.google.android.gms:play-services-maps:18.1.0")
OUTPUT:
EX NO: 10 Mini Projects involving Flutter/Kotlin multi-platform
JAVA CODE:
package com.example.db;
import android.app.Activity;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener {
EditText Rollno, Name, Marks;
Button Insert, Delete, Update, View, ViewAll;
SQLiteDatabase db;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Rollno = (EditText) findViewById(R.id.Rollno);
Name = (EditText) findViewById(R.id.Name);
Marks = (EditText) findViewById(R.id.Marks);
Insert = (Button) findViewById(R.id.Insert);
Delete = (Button) findViewById(R.id.Delete);
Update = (Button) findViewById(R.id.Update);
View = (Button) findViewById(R.id.View);
ViewAll = (Button) findViewById(R.id.all);
Insert.setOnClickListener(this);
Delete.setOnClickListener(this);
Update.setOnClickListener(this);
View.setOnClickListener(this);
ViewAll.setOnClickListener(this);
// Creating database and table
db = openOrCreateDatabase("StudentDB", Context.MODE_PRIVATE, null);
db.execSQL(“CREAT TABLE IF NOT EXISTS student(rollno VARCHAR,name
VARCHAR, marks VARCHAR);”);
}
public void onClick(View view) {
// Inserting a record to the Student table
if (view == Insert) {
// Checking for empty fields
if (Rollno.getText().toString().trim().length() == 0 ||
Name.getText().toString().trim().length() == 0 ||
Marks.getText().toString().trim().length() == 0) {
showMessage("Error", "Please enter all values");
return;
}
db.execSQL(“INSERT INTO studet VALUES(‘” + Rollno.getText() +
“‘,’” + Name.getText() + “’,’" + Marks.getText() + “‘);”);
showMessage("Success", "Record added");
clearText();
}
// Deleting a record from the Student table
if (view == Delete) {
// Checking for empty roll number
if (Rollno.getText().toString().trim().length() == 0) {
showMessage("Error", "Please enter Rollno");
return;
}
Cursor c = db.rawQuery(“SELECT * FROM student WHERE rollno=’” +
Rollno.getText() + “’”, null);
if (c.moveToFirst()) {
db.execSQL(“DELETE FROM student WHERE rollno=’” + Rollno.getText() +
“’”);
showMessage("Success", "Record Deleted");
} else {
showMessage("Error", "Invalid Rollno");
}
clearText();
}
// Updating a record in the Student table
if (view == Update) {
// Checking for empty roll number
if (Rollno.getText().toString().trim().length() == 0) {
showMessage("Error", "Please enter Rollno");
return;
}
Cursor c = db.rawQuery(“SELECT * FROM student WHERE rollno=’” +
Rollno.getText() + “’”, null);
if (c.moveToFirst()) {
db.execSQL(“UPDATE student SET name=’”" + Name.getText() + “’,marks=’” +
Marks.getText() + ‘ “WHERE rollno=”" + Rollno.getText() + “’”);
showMessage("Success", "Record Modified");
} else {
showMessage("Error", "Invalid Rollno");
}
clearText();
}
// Display a record from the Student table
if (view == View)
if(view == ViewAll)
{
c = db.rawQuery(“SELECT * FROM student”, null);
if(c.getCount()==0)
{
showMessage("Error", "No records found");
return;
}
StringBuffer buffer=new StringBuffer();
while(c.moveToNext())
{
buffer.append("Rollno: "+c.getString(0)+"\n");
buffer.append("Name: "+c.getString(1)+"\n");
buffer.append("Marks: "+c.getString(2)+"\n\n");
}
showMessage("Student Details", buffer.toString());
}
}
public void showMessage(String title,String message)
{
Builder builder=new Builder(this);
builder.setCancelable(true);
builder.setTitle(title);
builder.setMessage(message);
builder.show();
}
public void clearText()
{
Rollno.setText("");
Name.setText("");
Marks.setText("");
Rollno.requestFocus();
}
}
XML CODE
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="50dp"
android:layout_y="20dp"
android:text="Student Details"
android:textSize="30sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="20dp"
android:layout_y="110dp"
android:text="Enter Rollno:"
android:textSize="20sp" />
<EditText
android:id="@+id/Rollno"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_x="175dp"
android:layout_y="100dp"
android:inputType="number"
android:textSize="20sp"
android:text="rollno"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="20dp"
android:layout_y="160dp"
android:text="Enter Name:"
android:textSize="20sp" />
<EditText
android:id="@+id/Name"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_x="175dp"
android:layout_y="150dp"
android:inputType="text"
android:text="Enter Name:"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="20dp"
android:layout_y="210dp"
android:text="Enter Marks:"
android:textSize="20sp" />
<EditText
android:id="@+id/Marks"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="Enter Mark:"
android:layout_x="175dp"
android:layout_y="200dp"
android:inputType="number"
android:textSize="20sp" />
<Button
android:id="@+id/Insert"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_x="25dp"
android:layout_y="300dp"
android:text="Insert"
android:textSize="30dp" />
<Button
android:id="@+id/Delete"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_x="200dp"
android:layout_y="300dp"
android:text="Delete"
android:textSize="30dp" />
<Button
android:id="@+id/Update"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_x="25dp"
android:layout_y="400dp"
android:text="Update"
android:textSize="30dp" />
<Button
android:id="@+id/View"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_x="200dp"
android:layout_y="400dp"
android:text="View"
android:textSize="30dp" />
<Button
android:id="@+id/all"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_x="100dp"
android:layout_y="500dp"
android:text="all"
android:textSize="30dp" />
</AbsoluteLayout>
OUTPUT: