Android Studio Codes
Android Studio Codes
package com.example.myapp;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
// Set a delay for launching the main activity after the splash screen
@Override
public void run() {
startActivity(mainIntent);
finish();
}, SPLASH_TIME_OUT);
2. Create the layout file for the splash screen (`activity_splash.xml`) in the
`res/layout` directory:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary">
<!-- Add your splash screen content here, such as logo or image -->
</RelativeLayout>
3. Update the `AndroidManifest.xml` file to define the splash screen activity:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!-- Define the splash screen activity as the launcher activity -->
<activity
android:name=".SplashActivity"
android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
</intent-filter>
</activity>
<!-- Define the main activity -->
<activity android:name=".MainActivity">
<intent-filter>
</intent-filter>
</activity>
</application>
</manifest>
import android.provider.BaseColumns;
private StudentContract() {}
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import static com.example.myapp.StudentContract.StudentEntry;
}
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ENTRIES);
db.execSQL(SQL_DELETE_ENTRIES);
onCreate(db);
```
```java
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.example.myapp.StudentContract.StudentEntry;
import com.example.myapp.StudentDbHelper;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
insertStudentRecords();
showStudentDetails();
values.put(StudentEntry.COLUMN_NAME_ROLL_NO, 1);
values.put(StudentEntry.COLUMN_NAME_NAME, "John");
values.put(StudentEntry.COLUMN_NAME_PERCENTAGE, 85.5);
SQLiteDatabase db = dbHelper.getReadableDatabase();
String[] projection = {
StudentEntry.COLUMN_NAME_ROLL_NO,
StudentEntry.COLUMN_NAME_NAME,
StudentEntry.COLUMN_NAME_ADDRESS,
StudentEntry.COLUMN_NAME_PERCENTAGE
};
Cursor cursor = db.query(
StudentEntry.TABLE_NAME,
projection,
null,
null,
null,
null,
null
);
while (cursor.moveToNext()) {
int rollNo =
cursor.getInt(cursor.getColumnIndexOrThrow(StudentEntry.COLUMN_NAME
_ROLL_NO));
String name =
cursor.getString(cursor.getColumnIndexOrThrow(StudentEntry.COLUMN_NA
ME_NAME));
String address =
cursor.getString(cursor.getColumnIndexOrThrow(StudentEntry.COLUMN_NA
ME_ADDRESS));
double percentage =
cursor.getDouble(cursor.getColumnIndexOrThrow(StudentEntry.COLUMN_N
AME_PERCENTAGE));
studentDetails.append("Roll No: ").append(rollNo).append("\n");
studentDetails.append("Name: ").append(name).append("\n");
studentDetails.append("Address: ").append(address).append("\n");
studentDetails.append("Percentage: ").append(percentage).append("\n\
n");
cursor.close();
textView.setText(studentDetails.toString());
<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">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textSize="18sp" />
</RelativeLayout>
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"/>
<Button
android:id="@+id/buttonCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber"
android:layout_marginTop="16dp"
android:text="Check"
android:onClick="checkNumber"/>
</RelativeLayout>
2. Implement the logic in the MainActivity class to check whether the entered
number is a perfect number or not (`MainActivity.java`):
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (input.isEmpty()) {
return;
if (number <= 0) {
return;
if (isPerfect) {
} else {
int sum = 0;
if (number % i == 0) {
sum += i;
```
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"/>
<EditText
android:id="@+id/editTextNumber2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber1"
android:layout_marginTop="16dp"
android:inputType="numberDecimal"/>
<Button
android:id="@+id/buttonAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber2"
android:layout_marginTop="16dp"
android:text="Add"
android:onClick="performAddition"/>
<Button
android:id="@+id/buttonSubtract"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonAdd"
android:layout_marginTop="16dp"
android:text="Subtract"
android:onClick="performSubtraction"/>
<Button
android:id="@+id/buttonMultiply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonSubtract"
android:layout_marginTop="16dp"
android:text="Multiply"
android:onClick="performMultiplication"/>
<Button
android:id="@+id/buttonDivide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonMultiply"
android:layout_marginTop="16dp"
android:text="Divide"
android:onClick="performDivision"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonDivide"
android:layout_marginTop="16dp"/>
</RelativeLayout>
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
@Override
setContentView(R.layout.activity_main);
editTextNumber1 = findViewById(R.id.editTextNumber1);
editTextNumber2 = findViewById(R.id.editTextNumber2);
textViewResult = findViewById(R.id.textViewResult);
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
if (num2 == 0) {
textViewResult.setText("Result: Infinity (Division by zero)");
} else {
```
Slip 3
Q.1) Create an application that allows the user to enter a number in the
textbox. Check whether the number in the textbox is Armstrong or not.
Print the message accordingly in the label control.
[10 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"/>
<Button
android:id="@+id/buttonCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber"
android:layout_marginTop="16dp"
android:text="Check"
android:onClick="checkArmstrong"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonCheck"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to check whether the entered
number is an Armstrong number or not (`MainActivity.java`):
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (input.isEmpty()) {
return;
}
int number = Integer.parseInt(input);
if (number < 0) {
return;
if (isArmstrong) {
} else {
int sum = 0;
number /= 10;
textViewResult.setText(message);
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextPhoneNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"/>
<Button
android:id="@+id/buttonCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextPhoneNumber"
android:layout_marginTop="16dp"
android:text="Check"
android:onClick="checkPhoneNumber"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonCheck"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to examine the entered phone
number with the given format requirements (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editTextPhoneNumber =
findViewById(R.id.editTextPhoneNumber);
return;
if (matcher.matches()) {
} else {
}
}
textViewResult.setText(message);
```
Slip 4
Q.1) Construct image switcher using setFactory().
[10 Marks]
Q.2) Write a program to search a specific location on Google Map.
[20 Marks]
- Enable the "Maps SDK for Android" API for your project.
- Add the necessary permissions for internet access and location services to
your AndroidManifest.xml file:
```xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mapsearch">
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
...
```
```xml
<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=".MapsActivity">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/searchButton"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<Button
android:id="@+id/searchButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
</RelativeLayout>
```
- In your activity class, initialize the GoogleMap object and handle the search
button click event:
```java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
searchButton = findViewById(R.id.searchButton);
searchButton.setOnClickListener(new View.OnClickListener() {
@Override
searchLocation();
});
// Obtain the SupportMapFragment and get notified when the map is ready
to be used.
.findFragmentById(R.id.map);
if (mapFragment != null) {
mapFragment.getMapAsync(this);
@Override
mMap = googleMap;
// Add a marker in default location and move the camera
mMap.addMarker(new
MarkerOptions().position(defaultLocation).title("Default Location"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(defaultLocation));
```
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonShowDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Dialog"
android:layout_centerInParent="true"
android:onClick="showAlertDialog"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to show the AlertDialog box
(`MainActivity.java`):
```java
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
builder.setTitle("Alert Dialog")
@Override
})
.setNegativeButton("Cancel", new
DialogInterface.OnClickListener() {
@Override
})
.setCancelable(false); // Prevent dismiss when touching outside of
the dialog
alertDialog.show();
```
Q.2) Create an Android application which will ask the user to input his /
her name. A message should display the two items concatenated in a label.
Change the format of the label using radio buttons and check boxes for
selection. The user can make the label text bold, underlined or italic as
well as change its color. Also include buttons to display the message in the
label, clear the text boxes as well as label. Finally exit.
[20 Marks]
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"/>
<RadioGroup
android:id="@+id/radioGroupFormat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextName"
android:orientation="horizontal">
<RadioButton
android:id="@+id/radioButtonBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bold"/>
<RadioButton
android:id="@+id/radioButtonUnderline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Underline"/>
<RadioButton
android:id="@+id/radioButtonItalic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Italic"/>
</RadioGroup>
<CheckBox
android:id="@+id/checkBoxColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change color"
android:layout_below="@id/radioGroupFormat"/>
<Button
android:id="@+id/buttonDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Display Message"
android:layout_below="@id/checkBoxColor"
android:onClick="displayMessage"/>
<Button
android:id="@+id/buttonClear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clear"
android:layout_below="@id/buttonDisplay"
android:layout_marginTop="16dp"
android:onClick="clearFields"/>
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonClear"
android:layout_marginTop="16dp"/>
<Button
android:id="@+id/buttonExit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Exit"
android:layout_below="@id/textViewMessage"
android:layout_marginTop="16dp"
android:onClick="exitApp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle button clicks and
update the label (`MainActivity.java`):
```java
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextName = findViewById(R.id.editTextName);
radioGroupFormat = findViewById(R.id.radioGroupFormat);
checkBoxColor = findViewById(R.id.checkBoxColor);
textViewMessage = findViewById(R.id.textViewMessage);
int checkedRadioButtonId =
radioGroupFormat.getCheckedRadioButtonId();
if (checkedRadioButtonId != -1) {
switch (radioButton.getId()) {
case R.id.radioButtonBold:
message.insert(0, "<b>");
message.append("</b>");
break;
case R.id.radioButtonUnderline:
message.insert(0, "<u>");
message.append("</u>");
break;
case R.id.radioButtonItalic:
message.insert(0, "<i>");
message.append("</i>");
break;
if (checkBoxColor.isChecked()) {
message.append("</font>");
textViewMessage.setText(android.text.Html.fromHtml(message.toString()));
}
// Method to clear all fields
editTextName.setText("");
radioGroupFormat.clearCheck();
checkBoxColor.setChecked(false);
textViewMessage.setText("");
PASSWORD
LOGIN
```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:padding="16dp"
tools:context=".LoginActivity">
<EditText
android:id="@+id/editTextUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="text"/>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextUsername"
android:layout_marginTop="8dp"
android:hint="Password"
android:inputType="textPassword"/>
<Button
android:id="@+id/buttonLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:layout_below="@id/editTextPassword"
android:layout_marginTop="16dp"
android:onClick="login"/>
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonLogin"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the LoginActivity class to handle login button click
and perform validation (`LoginActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// Initialize views
editTextUsername = findViewById(R.id.editTextUsername);
editTextPassword = findViewById(R.id.editTextPassword);
textViewMessage = findViewById(R.id.textViewMessage);
}
// Perform validation
if (isValidCredentials(username, password)) {
// Show success message
textViewMessage.setText("Login successful!");
textViewMessage.setTextColor(getResources().getColor(android.R.color.holo_
green_dark));
} else {
// Show error message
textViewMessage.setText("Invalid username or password.");
textViewMessage.setTextColor(getResources().getColor(android.R.color.holo_
red_dark));
}
}
// Method to validate username and password
private boolean isValidCredentials(String username, String password) {
// Validate username and password (example validation: username must be
"admin" and password must be "password")
return username.equals("admin") && password.equals("password");
}
}
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Progress"
android:layout_centerInParent="true"
android:onClick="startProgress"/>
<ProgressBar
android:id="@+id/progressBar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/buttonStart"
android:layout_marginTop="16dp"
android:max="100"
android:visibility="invisible"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to start and stop the progress
(`MainActivity.java`):
```java
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
progressBar = findViewById(R.id.progressBar);
buttonStart = findViewById(R.id.buttonStart);
progressStatus = 0;
progressBar.setVisibility(View.VISIBLE);
buttonStart.setEnabled(false);
@Override
handler.post(new Runnable() {
@Override
progressBar.setProgress(progressStatus);
});
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
// After completing progress, enable the button and hide the progress
bar
handler.post(new Runnable() {
@Override
buttonStart.setEnabled(true);
progressBar.setVisibility(View.INVISIBLE);
});
}).start();
```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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonInsert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insert Employee"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:onClick="insertEmployee"/>
<Button
android:id="@+id/buttonShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Employees"
android:layout_below="@id/buttonInsert"
android:layout_centerHorizontal="true"
android:onClick="showEmployees"/>
<TextView
android:id="@+id/textViewEmployees"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonShow"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
```java
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
textViewEmployees = findViewById(R.id.textViewEmployees);
// Initialize DatabaseHelper
dbHelper = new DatabaseHelper(this);
}
if (newRowId == -1) {
// Error occurred while inserting
Toast.makeText(this, "Error inserting employee " + i,
Toast.LENGTH_SHORT).show();
}
}
```java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
// Create the "Employee" table
String SQL_CREATE_EMPLOYEE_TABLE = "CREATE TABLE
Employee (" +
"E_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT," +
"address TEXT," +
"ph_no TEXT)";
db.execSQL(SQL_CREATE_EMPLOYEE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
// Drop the table if it exists and recreate it
db.execSQL("DROP TABLE IF EXISTS Employee");
onCreate(db);
}
}
```
Q.3] Viva.
Slip 8
Q.1] Create a Application which shows Life Cycle of Activity.
[10 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textViewLifecycle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Activity Lifecycle:"
android:textSize="18sp"
android:textStyle="bold"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to observe and log the lifecycle
callbacks (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
textViewLifecycle = findViewById(R.id.textViewLifecycle);
Log.d(TAG, "onCreate");
updateLifecycleText("onCreate");
@Override
super.onStart();
Log.d(TAG, "onStart");
updateLifecycleText("onStart");
@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "onResume");
updateLifecycleText("onResume");
@Override
super.onPause();
Log.d(TAG, "onPause");
updateLifecycleText("onPause");
@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "onStop");
updateLifecycleText("onStop");
@Override
super.onDestroy();
Log.d(TAG, "onDestroy");
updateLifecycleText("onDestroy");
// Helper method to update the TextView with the current lifecycle state
private void updateLifecycleText(String lifecycleState) {
```
```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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonInsert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insert Customer"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:onClick="insertCustomer"/>
<Button
android:id="@+id/buttonShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Customers"
android:layout_below="@id/buttonInsert"
android:layout_centerHorizontal="true"
android:onClick="showCustomers"/>
<TextView
android:id="@+id/textViewCustomers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonShow"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
```java
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
textViewCustomers = findViewById(R.id.textViewCustomers);
// Initialize DatabaseHelper
dbHelper = new DatabaseHelper(this);
}
if (newRowId == -1) {
// Error occurred while inserting
Toast.makeText(this, "Error inserting customer " + i,
Toast.LENGTH_SHORT).show();
}
}
3. Define the DatabaseHelper class to create and manage the SQLite database
(`DatabaseHelper.java`):
```java
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
// Create the "Customer" table
String SQL_CREATE_CUSTOMER_TABLE = "CREATE TABLE
Customer (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT," +
"address TEXT," +
"ph_no TEXT)";
db.execSQL(SQL_CREATE_CUSTOMER_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop the table if it exists and recreate it
db.execSQL("DROP TABLE IF EXISTS Customer");
onCreate(db);
}
}
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"
android:layout_marginBottom="16dp"/>
<Button
android:id="@+id/buttonCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check"
android:layout_below="@id/editTextNumber"
android:layout_centerHorizontal="true"
android:onClick="checkPalindrome"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonCheck"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to check whether the entered
number is a palindrome or not (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
EditText editTextNumber;
TextView textViewResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextNumber = findViewById(R.id.editTextNumber);
textViewResult = findViewById(R.id.textViewResult);
}
Slip 10
Q.1] Create an application that allows the user to enter a number in the
textbox named getnum. Check whether the number in the textbox getnum
is Armstrong or not. Print the message using Toast control when the user
clicks on the button Check.
[10 Marks]
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"
android:layout_marginBottom="16dp"/>
<Button
android:id="@+id/buttonCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check"
android:layout_below="@id/editTextNumber"
android:layout_centerHorizontal="true"
android:onClick="checkArmstrong"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to check whether the entered
number is an Armstrong number or not and display the message using a Toast
control (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
EditText editTextNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextNumber = findViewById(R.id.editTextNumber);
}
To create an Android application that draws a GUI using Spinner and Buttons,
you can follow these steps:
1. Define the layout for the activity (`activity_main.xml`):
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<Spinner
android:id="@+id/spinnerOptions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="16dp"/>
<Button
android:id="@+id/buttonSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:layout_below="@id/spinnerOptions"
android:layout_centerHorizontal="true"
android:onClick="onSubmitClicked"/>
<Button
android:id="@+id/buttonReset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reset"
android:layout_below="@id/buttonSubmit"
android:layout_centerHorizontal="true"
android:onClick="onResetClicked"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle button clicks and
spinner selection (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
Spinner spinnerOptions;
Button buttonSubmit;
Button buttonReset;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
spinnerOptions = findViewById(R.id.spinnerOptions);
buttonSubmit = findViewById(R.id.buttonSubmit);
buttonReset = findViewById(R.id.buttonReset);
ArrayAdapter<CharSequence> adapter =
ArrayAdapter.createFromResource(
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdo
wn_item);
spinnerOptions.setAdapter(adapter);
spinnerOptions.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
@Override
});
}
}
```
```xml
<resources>
<string-array name="options_array">
<item>Option 1</item>
<item>Option 2</item>
<item>Option 3</item>
<item>Option 4</item>
</string-array>
</resources>
```
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter first number"
android:inputType="number"/>
<EditText
android:id="@+id/editTextNumber2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber1"
android:layout_marginTop="16dp"
android:inputType="number"/>
<Button
android:id="@+id/buttonPower"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber2"
android:layout_marginTop="16dp"
android:text="Power"
android:onClick="onPowerClicked"/>
<Button
android:id="@+id/buttonAverage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonPower"
android:layout_marginTop="16dp"
android:text="Average"
android:onClick="onAverageClicked"/>
</RelativeLayout>
```
```xml
<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:padding="16dp"
tools:context=".ResultActivity">
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textStyle="bold"
android:layout_centerInParent="true"/>
</RelativeLayout>
```
3. Implement the logic in the MainActivity class to handle button clicks and
pass data to the ResultActivity (`MainActivity.java`):
```java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
EditText editTextNumber2;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextNumber1 = findViewById(R.id.editTextNumber1);
editTextNumber2 = findViewById(R.id.editTextNumber2);
double number1 =
Double.parseDouble(editTextNumber1.getText().toString());
double number2 =
Double.parseDouble(editTextNumber2.getText().toString());
double number1 =
Double.parseDouble(editTextNumber1.getText().toString());
double number2 =
Double.parseDouble(editTextNumber2.getText().toString());
intent.putExtra("result", result);
startActivity(intent);
```
4. Implement the logic in the ResultActivity class to display the result
(`ResultActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
// Initialize views
textViewResult.setText(result);
}
}
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextString"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a string"
android:layout_marginBottom="16dp"/>
<RadioGroup
android:id="@+id/radioGroupOptions"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextString"
android:orientation="vertical">
<RadioButton
android:id="@+id/radioButtonUpperCase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Upper Case"/>
<RadioButton
android:id="@+id/radioButtonLowerCase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lower Case"/>
<RadioButton
android:id="@+id/radioButtonRight5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right 5 Characters"/>
<RadioButton
android:id="@+id/radioButtonLeft5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Left 5 Characters"/>
</RadioGroup>
<Button
android:id="@+id/buttonApply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radioGroupOptions"
android:text="Apply"
android:onClick="applyOperation"/>
</RelativeLayout>
```
EditText editTextString;
RadioGroup radioGroupOptions;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextString = findViewById(R.id.editTextString);
radioGroupOptions = findViewById(R.id.radioGroupOptions);
}
int selectedRadioButtonId =
radioGroupOptions.getCheckedRadioButtonId();
RadioButton selectedRadioButton =
findViewById(selectedRadioButtonId);
switch (selectedRadioButton.getId()) {
case R.id.radioButtonUpperCase:
applyUpperCase(input);
break;
case R.id.radioButtonLowerCase:
applyLowerCase(input);
break;
case R.id.radioButtonRight5:
applyRight5(input);
break;
case R.id.radioButtonLeft5:
applyLeft5(input);
break;
}
}
// Method to convert string to upper case
private void applyUpperCase(String input) {
String result = input.toUpperCase();
displayResult(result);
}
Slip 12
Q.1] Construct an Android app that toggles a light bulb ON and OFF
when the user clicks on toggle button.
[10 Marks]
To create an Android application that toggles a light bulb on and off when the
user clicks on a toggle button, you can follow these steps:
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff="OFF"
android:textOn="ON"
android:checked="false"
android:layout_centerInParent="true"
android:onClick="toggleLight"/>
<ImageView
android:id="@+id/imageViewLightBulb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_light_bulb_off"
android:layout_below="@id/toggleButton"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Add the light bulb images to the drawable folder. You should have two
images: `ic_light_bulb_on.png` and `ic_light_bulb_off.png`.
3. Implement the logic in the MainActivity class to toggle the light bulb on and
off when the toggle button is clicked (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.ToggleButton;
ToggleButton toggleButton;
ImageView imageViewLightBulb;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
toggleButton = findViewById(R.id.toggleButton);
imageViewLightBulb = findViewById(R.id.imageViewLightBulb);
}
// Method to toggle the light bulb on and off
isLightOn = !isLightOn;
if (isLightOn) {
imageViewLightBulb.setImageResource(R.drawable.ic_light_bulb_on);
} else {
imageViewLightBulb.setImageResource(R.drawable.ic_light_bulb_off);
Q.2] Create an Android application which will ask the user to input his /
her name. A message should display the two items concatenated in a label.
Change the format of the label using radio buttons and check boxes for
selection. The user can make the label text bold, underlined or italic as
well as change its color. Also include buttons to display the message in the
label, clear the text boxes as well as label. Finally exit.
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name"
android:layout_marginBottom="16dp"/>
<RadioGroup
android:id="@+id/radioGroupFormat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@id/editTextName">
<RadioButton
android:id="@+id/radioButtonBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bold"/>
<RadioButton
android:id="@+id/radioButtonItalic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Italic"/>
<RadioButton
android:id="@+id/radioButtonUnderline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Underline"/>
</RadioGroup>
<CheckBox
android:id="@+id/checkBoxColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change color"
android:layout_below="@id/radioGroupFormat"/>
<Button
android:id="@+id/buttonDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Display"
android:layout_below="@id/checkBoxColor"
android:onClick="displayMessage"/>
<Button
android:id="@+id/buttonClear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clear"
android:layout_below="@id/buttonDisplay"
android:onClick="clearMessage"/>
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonClear"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle button clicks and
customize the label's format (`MainActivity.java`):
```java
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText editTextName;
RadioGroup radioGroupFormat;
CheckBox checkBoxColor;
TextView textViewMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextName = findViewById(R.id.editTextName);
radioGroupFormat = findViewById(R.id.radioGroupFormat);
checkBoxColor = findViewById(R.id.checkBoxColor);
textViewMessage = findViewById(R.id.textViewMessage);
}
textViewMessage.setText(formattedName.toString());
}
Slip 13
Q.1] Java android program to demonstrate Registration form with
validation.
[10 Marks]
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="text"/>
<EditText
android:id="@+id/editTextEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextUsername"
android:layout_marginTop="16dp"
android:hint="Email"
android:inputType="textEmailAddress"/>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextEmail"
android:layout_marginTop="16dp"
android:hint="Password"
android:inputType="textPassword"/>
<Button
android:id="@+id/buttonRegister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextPassword"
android:layout_marginTop="16dp"
android:text="Register"
android:onClick="register"/>
</RelativeLayout>
```
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextUsername = findViewById(R.id.editTextUsername);
editTextEmail = findViewById(R.id.editTextEmail);
editTextPassword = findViewById(R.id.editTextPassword);
}
// Validate inputs
if (validateUsername(username) && validateEmail(email) &&
validatePassword(password)) {
// Registration successful
Toast.makeText(this, "Registration successful",
Toast.LENGTH_SHORT).show();
}
}
```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"
```xml
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNewItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter item"
android:layout_marginBottom="16dp"/>
<Button
android:id="@+id/buttonInsert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insert"
android:layout_below="@id/editTextNewItem"
android:onClick="insertItem"/>
<ListView
android:id="@+id/listViewItems"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/buttonInsert"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
```xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textViewItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:padding="8dp"/>
```
3. Implement the logic in the MainActivity class to handle list operations
(`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextNewItem = findViewById(R.id.editTextNewItem);
listViewItems = findViewById(R.id.listViewItems);
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextNewItem = findViewById(R.id.editTextNewItem);
listViewItems = findViewById(R.id.listViewItems);
Slip 14
Q.1] Construct an Android application to accept a number and calculate
and display Factorial of a given number in TextView.
[10 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"/>
<Button
android:id="@+id/buttonCalculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Factorial"
android:layout_below="@id/editTextNumber"
android:layout_marginTop="16dp"
android:onClick="calculateFactorial"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonCalculate"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to calculate the factorial and
display the result (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
EditText editTextNumber;
TextView textViewResult;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextNumber = findViewById(R.id.editTextNumber);
textViewResult = findViewById(R.id.textViewResult);
if (!numberString.isEmpty()) {
} else {
if (n == 0 || n == 1) {
return 1;
long factorial = 1;
factorial *= i;
return factorial;
}
```
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="text"/>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextUsername"
android:layout_marginTop="16dp"
android:hint="Password"
android:inputType="textPassword"/>
<Button
android:id="@+id/buttonLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LOGIN"
android:layout_below="@id/editTextPassword"
android:layout_marginTop="16dp"
android:onClick="login"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle the login button click
and display toast messages (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextUsername = findViewById(R.id.editTextUsername);
editTextPassword = findViewById(R.id.editTextPassword);
}
if (username.equals(CORRECT_USERNAME) &&
password.equals(CORRECT_PASSWORD)) {
showToast("Login Successful");
} else {
showToast("Invalid Login");
}
}
Slip 15
Q1] Construct an Android application to accept two numbers in two
EditText, with four buttons as ADD, SUB, DIV and MULT and display
Result using Toast Control.
[10 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter number 1"
android:inputType="number"/>
<EditText
android:id="@+id/editTextNumber2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber1"
android:layout_marginTop="16dp"
android:inputType="number"/>
<Button
android:id="@+id/buttonAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ADD"
android:layout_below="@id/editTextNumber2"
android:layout_marginTop="16dp"
android:onClick="add"/>
<Button
android:id="@+id/buttonSub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SUB"
android:layout_below="@id/buttonAdd"
android:layout_marginTop="16dp"
android:layout_alignStart="@id/buttonAdd"
android:onClick="subtract"/>
<Button
android:id="@+id/buttonDiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DIV"
android:layout_below="@id/buttonSub"
android:layout_marginTop="16dp"
android:layout_alignStart="@id/buttonSub"
android:onClick="divide"/>
<Button
android:id="@+id/buttonMult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MULT"
android:layout_below="@id/buttonDiv"
android:layout_marginTop="16dp"
android:layout_alignStart="@id/buttonDiv"
android:onClick="multiply"/>
</RelativeLayout>
```
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize views
editTextNumber1 = findViewById(R.id.editTextNumber1);
editTextNumber2 = findViewById(R.id.editTextNumber2);
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
}
// Method to handle subtraction button click
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
if (num2 != 0) {
} else {
}
// Method to handle multiplication button click
double num1 =
Double.parseDouble(editTextNumber1.getText().toString());
double num2 =
Double.parseDouble(editTextNumber2.getText().toString());
Q2] Construct a bank app to display different menu like withdraw, deposit
etc.
[20 Marks]
Simple Bank App
Simple Bank Application
ACCOUNT NUMBER
ACCOUNT TYPE
BALANCE
Checking Savings
Deposit
Balance
Create
Withdraw
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Slip 16
Q1] Create a Simple Android Application Which Send ―Hello‖ message
from one activity to another with help of Button (Use Intent).
[10 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonSendHello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send Hello"
android:layout_centerInParent="true"
android:onClick="sendHello"/>
</RelativeLayout>
```
```xml
<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:padding="16dp"
tools:context=".DisplayMessageActivity">
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:layout_centerInParent="true"/>
</RelativeLayout>
```
3. Implement the logic in the MainActivity class to send the "Hello" message to
the second activity (`MainActivity.java`):
```java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
intent.putExtra("message", "Hello");
startActivity(intent);
```
```java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
textViewMessage.setText(message);
Q2] Create an Android application, with two activity first activity will
have an EditText and a Button where the user can enter player name and
after clicking on button the entered name will be display in another
Activity. Second activity has the BACK button to transition to first
activity (Using Intent).
[20 Marks]
To create an Android application with two activities where the first activity
allows the user to enter a player name and the second activity displays the
entered name, you can follow these steps:
1. Define the layout for the first activity (`activity_main.xml`):
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextPlayerName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
<Button
android:id="@+id/buttonSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:layout_below="@id/editTextPlayerName"
android:layout_marginTop="16dp"
android:onClick="submitName"/>
</RelativeLayout>
```
```xml
<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:padding="16dp"
tools:context=".DisplayNameActivity">
<TextView
android:id="@+id/textViewPlayerName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:layout_centerInParent="true"/>
<Button
android:id="@+id/buttonBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BACK"
android:layout_below="@id/textViewPlayerName"
android:layout_marginTop="16dp"
android:layout_centerHorizontal="true"
android:onClick="goBack"/>
</RelativeLayout>
```
```java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intent.putExtra("playerName", playerName);
startActivity(intent);
}
}
```
```java
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_name);
TextView textViewPlayerName =
findViewById(R.id.textViewPlayerName);
textViewPlayerName.setText(playerName);
finish(); // Close the current activity and go back to the previous one
To create a PhoneGap application that allows users to search for contacts, clone
contacts, and remove contacts, you can follow these steps:
```bash
phonegap create ContactManager
cd ContactManager
```
```bash
phonegap platform add android
```
3. Define the HTML structure and JavaScript logic for the application
(`index.html`):
```html
<!DOCTYPE html>
<html>
<head>
<title>Contact Manager</title>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</head>
<body>
<h1>Contact Manager</h1>
<button onclick="searchContacts()">Search Contacts</button>
<button onclick="cloneContact()">Clone Contact</button>
<button onclick="removeContact()">Remove Contact</button>
</body>
</html>
```
```javascript
// Function to search for contacts
function searchContacts() {
navigator.contacts.find(['*'], function(contacts) {
alert('Found ' + contacts.length + ' contacts.');
}, function(error) {
alert('Error searching for contacts: ' + error);
});
}
```bash
phonegap run android
```
Slip 18
Q1] Create an Android Application that will change color of the screen
and change the font size of text view using xml.
[10 Marks]
To create an Android application that changes the color of the screen and the
font size of a TextView using XML, you can follow these steps:
```xml
<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:padding="16dp"
android:background="@color/background_color"
tools:context=".MainActivity">
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size"
android:textColor="@color/text_color"
android:layout_centerInParent="true"/>
</RelativeLayout>
```
`colors.xml`:
```xml
<resources>
</resources>
```
`dimens.xml`:
```xml
<resources>
</resources>
Q2] Create table Project (id, name, dept, city). Create Application to
perform the following operations. (using SQLite database) i] Add at
least 5 records.
ii] Display all the records.
[20 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonAddRecord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Record"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:onClick="addRecord"/>
<Button
android:id="@+id/buttonDisplayRecords"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Display Records"
android:layout_below="@id/buttonAddRecord"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="displayRecords"/>
<TextView
android:id="@+id/textViewRecords"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_below="@id/buttonDisplayRecords"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle adding records and
displaying all records (`MainActivity.java`):
```java
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SQLiteDatabase db = dbHelper.getWritableDatabase();
values.put("dept", "IT");
if (newRowId != -1) {
} else {
SQLiteDatabase db = dbHelper.getReadableDatabase();
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
stringBuilder.append("ID: ").append(id)
.append(", Name: ").append(name)
.append("\n");
cursor.close();
textViewRecords.setText(stringBuilder.toString());
@Override
dbHelper.close();
super.onDestroy();
```
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@Override
"name TEXT," +
"dept TEXT," +
"city TEXT)");
}
@Override
onCreate(db);
1. Add images to the drawable folder in your project's resources. For this
example, let's assume you have two images named "image1.jpg" and
"image2.jpg".
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitCenter"
android:src="@drawable/image1"/>
<Button
android:id="@+id/buttonChangeImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change Image"
android:layout_centerInParent="true"
android:onClick="changeImage"/>
</RelativeLayout>
```
3. Implement the logic in the MainActivity class to handle changing the image
(`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
if (currentImage == 1) {
imageView.setImageResource(R.drawable.image2);
currentImage = 2;
} else {
imageView.setImageResource(R.drawable.image1);
currentImage = 1;
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"/>
<Button
android:id="@+id/buttonCalculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate"
android:layout_below="@id/editTextNumber"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="calculate"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_below="@id/buttonCalculate"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to calculate factorial and sum
of digits (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextNumber = findViewById(R.id.editTextNumber);
textViewResult = findViewById(R.id.textViewResult);
}
```xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menuFactorial"
android:title="Find Factorial"/>
<item
android:id="@+id/menuSumOfDigits"
android
To create an Android application that accepts two numbers from the user and
displays them, rejecting the input if both numbers are greater than 20, you can
follow these steps:
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"/>
<EditText
android:id="@+id/editTextNumber2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber1"
android:layout_marginTop="16dp"
android:inputType="number"/>
<Button
android:id="@+id/buttonSubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:layout_below="@id/editTextNumber2"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="submit"/>
<TextView
android:id="@+id/textViewNumbers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonSubmit"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:text=""
android:textSize="18sp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle input validation and
display numbers (`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextNumber1 = findViewById(R.id.editTextNumber1);
editTextNumber2 = findViewById(R.id.editTextNumber2);
textViewNumbers = findViewById(R.id.textViewNumbers);
try {
editTextNumber1.setText("");
editTextNumber2.setText("");
textViewNumbers.setText("");
} else {
} catch (NumberFormatException e) {
```xml
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
```
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonSendEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send Email"
android:layout_centerInParent="true"
android:onClick="sendEmail"/>
</RelativeLayout>
```
```java
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import java.io.File;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
emailIntent.setType("text/plain");
// Attach file
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
} catch (Exception e) {
Refer to slip 8 Q1
To create an Android application that writes data to the SD card, follow these
steps:
```xml
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
<Button
android:id="@+id/buttonWriteToSDCard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Write to SD Card"
android:layout_centerInParent="true"
android:onClick="writeToSDCard"/>
</RelativeLayout>
```
3. Implement the logic in the MainActivity class to write data to the SD card
(`MainActivity.java`):
```java
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
Refer to slip 19 Q1
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"/>
<RadioGroup
android:id="@+id/radioGroupOperations"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp">
<RadioButton
android:id="@+id/radioButtonOddEven"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Odd/Even"/>
<RadioButton
android:id="@+id/radioButtonPositiveNegative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Positive/Negative"/>
<RadioButton
android:id="@+id/radioButtonSquare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Square"/>
</RadioGroup>
<Button
android:id="@+id/buttonPerformOperation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Perform Operation"
android:layout_below="@id/radioGroupOperations"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="performOperation"/>
<TextView
android:id="@+id/textViewResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonPerformOperation"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:text=""
android:textSize="18sp"/>
</RelativeLayout>
```
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextNumber = findViewById(R.id.editTextNumber);
radioGroupOperations = findViewById(R.id.radioGroupOperations);
textViewResult = findViewById(R.id.textViewResult);
}
switch (operationId) {
case R.id.radioButtonOddEven:
checkOddEven(number);
break;
case R.id.radioButtonPositiveNegative:
checkPositiveNegative(number);
break;
case R.id.radioButtonSquare:
calculateSquare(number);
break;
default:
Toast.makeText(this, "Please select an operation",
Toast.LENGTH_SHORT).show();
}
} catch (NumberFormatException e) {
Toast.makeText(this, "Please enter a valid number",
Toast.LENGTH_SHORT).show();
}
}
Slip 23
Q. 1] Write a Java android program to demonstrate implicit intent.
[10 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonOpenWebpage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Open Webpage"
android:layout_centerInParent="true"
android:onClick="openWebpage"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle the button click and
open a web page (`MainActivity.java`):
```java
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
intent.setData(Uri.parse(url));
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
} else {
Q.2] Create an Android application which will ask the user to input his /
her name. A message should display the two items concatenated in a
label. Change the format of the label using radio buttons and check
boxes for selection. The user can make the label text bold, underlined
or italic as well as change its color. Also include buttons to display the
message in the label, clear the text boxes as well as label. Finally exit.
[20 Marks]
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/>
<Button
android:id="@+id/buttonDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Display"
android:layout_below="@id/editTextName"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="displayMessage"/>
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonDisplay"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:text=""
android:textSize="18sp"/>
<CheckBox
android:id="@+id/checkBoxBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bold"
android:layout_below="@id/textViewMessage"
android:layout_marginTop="16dp"/>
<CheckBox
android:id="@+id/checkBoxUnderline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Underline"
android:layout_below="@id/checkBoxBold"
android:layout_marginTop="16dp"/>
<CheckBox
android:id="@+id/checkBoxItalic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Italic"
android:layout_below="@id/checkBoxUnderline"
android:layout_marginTop="16dp"/>
<RadioGroup
android:id="@+id/radioGroupColor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/checkBoxItalic"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp">
<RadioButton
android:id="@+id/radioButtonRed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Red"/>
<RadioButton
android:id="@+id/radioButtonBlue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Blue"/>
<RadioButton
android:id="@+id/radioButtonGreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Green"/>
</RadioGroup>
<Button
android:id="@+id/buttonClear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Clear"
android:layout_below="@id/radioGroupColor"
android:layout_marginTop="16dp"
android:layout_marginRight="8dp"
android:layout_alignParentRight="true"
android:onClick="clearMessage"/>
<Button
android:id="@+id/buttonExit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Exit"
android:layout_below="@id/radioGroupColor"
android:layout_marginTop="16dp"
android:layout_marginLeft="8dp"
android:layout_toLeftOf="@id/buttonClear"
android:onClick="exitApp"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle button clicks and
change the format of the label (`MainActivity.java`):
```java
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.TextView;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewMessage = findViewById(R.id.textViewMessage);
checkBoxBold = findViewById(R.id.checkBoxBold);
checkBoxUnderline = findViewById(R.id.checkBoxUnderline);
checkBoxItalic = findViewById(R.id.checkBoxItalic);
radioButtonRed = findViewById(R.id.radioButtonRed);
radioButtonBlue = findViewById(R.id.radioButtonBlue);
radioButtonGreen = findViewById(R.id.radioButtonGreen);
}
// Method to display the message with selected formatting
if (checkBoxBold.isChecked()) {
textViewMessage.setTypeface(null, Typeface.BOLD);
} else {
textViewMessage.setTypeface(null, Typeface.NORMAL);
if (checkBoxUnderline.isChecked()) {
if (checkBoxItalic.isChecked()) {
}
if (radioButtonRed.isChecked()) {
textViewMessage.setTextColor(Color.RED);
} else if (radioButtonBlue.isChecked()) {
textViewMessage.setTextColor(Color.BLUE);
} else if (radioButtonGreen.isChecked()) {
textViewMessage.setTextColor(Color.GREEN);
textViewMessage.setText(android.text.Html.fromHtml(message));
textViewMessage.setText("");
checkBoxBold.setChecked(false);
checkBoxUnderline.setChecked(false);
checkBoxItalic.setChecked(false);
radioButtonRed.setChecked(false);
radioButtonBlue.setChecked(false);
radioButtonGreen.setChecked(false);
textViewMessage.setTypeface(null, Typeface.NORMAL);
textViewMessage.setTextColor(Color.BLACK);
}
finish();
Slip 24
Q.1] Write an application to accept a string from the user. With two
buttons to display the string in Uppercase and Lowercase using the toast
message.
[10 Marks]
To create an Android application that accepts a string from the user and
displays it in both uppercase and lowercase using toast messages, you can
follow these steps:
```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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextString"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a string"
android:inputType="text"/>
<Button
android:id="@+id/buttonUpperCase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Uppercase"
android:layout_below="@id/editTextString"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="displayUpperCase"/>
<Button
android:id="@+id/buttonLowerCase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lowercase"
android:layout_below="@id/buttonUpperCase"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="displayLowerCase"/>
</RelativeLayout>
```
2. Implement the logic in the MainActivity class to handle button clicks and
display the string in uppercase and lowercase using toast messages
(`MainActivity.java`):
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
editTextString = findViewById(R.id.editTextString);
}
1. Set up the SQLite database with a Car table containing columns for id, name,
type, and color.
3. Implement logic in the MainActivity class to handle button clicks, insert new
car details, and display all car details.
```java
public class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
// Create the Car table
db.execSQL(CREATE_CAR_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if it exists
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CAR);
// Create tables again
onCreate(db);
}
car.setName(cursor.getString(cursor.getColumnIndex(COLUMN_NAME)));
car.setType(cursor.getString(cursor.getColumnIndex(COLUMN_TYPE)));
car.setColor(cursor.getString(cursor.getColumnIndex(COLUMN_COLOR)));
carList.add(car);
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return carList;
}
}
```
```java
public class Car {
Implement the MainActivity class to handle button clicks, insert new car details,
and display all car details:
```java
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import java.util.List;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.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:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonInsertCarDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Insert Car Details"
android:layout_centerHorizontal="true"
android:onClick="insertCarDetails"/>
<Button
android:id="@+id/buttonShowAllCarDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show All Car Details"
android:layout_below="@id/buttonInsertCarDetails"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:onClick="showAllCarDetails"/>
</RelativeLayout>
```xml
<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:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextPhoneNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone" />
<EditText
android:id="@+id/editTextMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextPhoneNumber"
android:layout_marginTop="16dp"
<Button
android:id="@+id/buttonSendSMS"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextMessage"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:text="Send SMS"
android:onClick="sendSMS" />
</RelativeLayout>
```
```java
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize EditText fields
editTextPhoneNumber = findViewById(R.id.editTextPhoneNumber);
editTextMessage = findViewById(R.id.editTextMessage);
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.SEND_SMS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
return;
try {
// Send SMS message
} catch (Exception e) {
e.printStackTrace();