Mad Chapter 4
1. . Create an ImageView code triggered by a button click event
Answer:
Certainly! Here's an example of code to create an ImageView that is triggered by a button click
event:
```xml
<!-- layout/activity_main.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/buttonShowImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Image"
android:layout_centerInParent="true"/>
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/buttonShowImage"
android:layout_centerHorizontal="true"
android:visibility="gone"
android:src="@drawable/your_image" /> <!-- replace your_image with the actual image
resource -->
</RelativeLayout>
```
And in your MainActivity.java:
```java
// MainActivity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button buttonShowImage = findViewById(R.id.buttonShowImage);
imageView = findViewById(R.id.imageView);
buttonShowImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Show or hide the image based on its current visibility state
if (imageView.getVisibility() == View.VISIBLE) {
imageView.setVisibility(View.GONE);
} else {
imageView.setVisibility(View.VISIBLE);
}
}
});
}
}
```
2. Write programs for Checkbox and RadioButton.
Answer:
For Checkbox:
```java
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class CheckboxActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_checkbox);
CheckBox checkBox = findViewById(R.id.checkbox);
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
Toast.makeText(CheckboxActivity.this, "Checkbox Checked",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(CheckboxActivity.this, "Checkbox Unchecked",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
```
And the corresponding XML layout file (`activity_checkbox.xml`):
```xml
<CheckBox
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check me!" />
```
For RadioButton:
```java
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class RadioButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_radio_button);
RadioGroup radioGroup = findViewById(R.id.radio_group);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton radioButton = findViewById(checkedId);
Toast.makeText(RadioButtonActivity.this, "Selected: " + radioButton.getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}
```
And the corresponding XML layout file (`activity_radio_button.xml`):
```xml
<RadioGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/radio_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/radio_button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 1" />
<RadioButton
android:id="@+id/radio_button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 2" />
</RadioGroup>
```
3. Provide a code example for implementing a ProgressBar in Android.
Answer:
<ProgressBar
android:id="@+id/progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:progress="50"
android:max="100" />
4. Write programs utilizing ArrayAdapter for ListView and AutoCompleteTextView.
Answer:
1. **ArrayAdapter for ListView:**
```java
// MainActivity.java
public class MainActivity extends AppCompatActivity {
ListView listView;
ArrayAdapter<String> adapter;
String[] data = {"Item 1", "Item 2", "Item 3", "Item 4"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.listView);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
listView.setAdapter(adapter);
}
}
```
```xml
<!-- activity_main.xml -->
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
```
2. **ArrayAdapter for AutoCompleteTextView:**
```java
// MainActivity.java
public class MainActivity extends AppCompatActivity {
AutoCompleteTextView autoCompleteTextView;
ArrayAdapter<String> adapter;
String[] data = {"Apple", "Banana", "Cherry", "Date"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, data);
autoCompleteTextView.setAdapter(adapter);
}
}
```
```xml
<!-- activity_main.xml -->
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"/>
```
5. Develop a GridView progra.
Answer:
1. **MainActivity.java:**
```java
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
GridView gridView;
ArrayAdapter<String> adapter;
String[] data = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5",
"Item 6", "Item 7", "Item 8", "Item 9", "Item 10"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = findViewById(R.id.gridView);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
gridView.setAdapter(adapter);
}
}
```
2. **activity_main.xml:**
```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"
tools:context=".MainActivity">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:padding="10dp"
android:columnWidth="100dp"
android:stretchMode="columnWidth"
android:gravity="center"/>
</RelativeLayout>
```
6. Write difference between toggle button and radio button.
Answer:
7. Develop an application to display analog Time Picker. Also display the selected time. (Write only .
java file)
Answer:
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.TimePicker;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
TextView selectedTimeTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
selectedTimeTextView = findViewById(R.id.selectedTimeTextView);
}
public void showTimePicker(View view) {
final Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
String selectedTime = String.format("%02d:%02d", hourOfDay, minute);
selectedTimeTextView.setText("Selected Time: " + selectedTime);
}
}, hour, minute, true);
timePickerDialog.show();
}
}
8. Develop an android application using radio button.
Answer:
Certainly! Here's the Java code for an Android application that uses RadioButtons:
```java
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private RadioButton radioButton1, radioButton2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radioButton1 = findViewById(R.id.radioButton1);
radioButton2 = findViewById(R.id.radioButton2);
}
public void onRadioButtonClicked(View view) {
boolean checked = ((RadioButton) view).isChecked();
switch (view.getId()) {
case R.id.radioButton1:
if (checked)
showToast("Option 1 selected");
break;
case R.id.radioButton2:
if (checked)
showToast("Option 2 selected");
break;
}
}
private void showToast(String message) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
}
```
And the corresponding `activity_main.xml` layout file:
```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=".MainActivity">
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 1"
android:onClick="onRadioButtonClicked"
android:layout_marginTop="50dp"
android:layout_centerHorizontal="true"/>
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 2"
android:onClick="onRadioButtonClicked"
android:layout_below="@id/radioButton1"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
```
9. Develop a program to perform addition, subtraction, division, multiplication of two numbers and
display the result. (Use appropriate UI controls).
Answer:
**MainActivity.java:**
```java
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
EditText number1EditText, number2EditText;
TextView resultTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
number1EditText = findViewById(R.id.number1EditText);
number2EditText = findViewById(R.id.number2EditText);
resultTextView = findViewById(R.id.resultTextView);
}
public void calculate(View view) {
String number1Str = number1EditText.getText().toString();
String number2Str = number2EditText.getText().toString();
if (!number1Str.isEmpty() && !number2Str.isEmpty()) {
double number1 = Double.parseDouble(number1Str);
double number2 = Double.parseDouble(number2Str);
switch (view.getId()) {
case R.id.addButton:
resultTextView.setText(String.valueOf(number1 + number2));
break;
case R.id.subtractButton:
resultTextView.setText(String.valueOf(number1 - number2));
break;
case R.id.multiplyButton:
resultTextView.setText(String.valueOf(number1 * number2));
break;
case R.id.divideButton:
if (number2 != 0) {
resultTextView.setText(String.valueOf(number1 / number2));
} else {
resultTextView.setText("Error: Division by zero");
}
break;
}
} else {
resultTextView.setText("Please enter both numbers");
}
}
}
```
**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"
tools:context=".MainActivity">
<EditText
android:id="@+id/number1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter number 1"
android:inputType="numberDecimal"
android:layout_margin="16dp"/>
<EditText
android:id="@+id/number2EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter number 2"
android:inputType="numberDecimal"
android:layout_below="@id/number1EditText"
android:layout_margin="16dp"/>
<Button
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add"
android:onClick="calculate"
android:layout_below="@id/number2EditText"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_alignParentEnd="true"/>
<Button
android:id="@+id/subtractButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Subtract"
android:onClick="calculate"
android:layout_below="@id/addButton"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_alignParentEnd="true"/>
<Button
android:id="@+id/multiplyButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Multiply"
android:onClick="calculate"
android:layout_below="@id/subtractButton"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_alignParentEnd="true"/>
<Button
android:id="@+id/divideButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Divide"
android:onClick="calculate"
android:layout_below="@id/multiplyButton"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_alignParentEnd="true"/>
<TextView
android:id="@+id/resultTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Result will be displayed here"
android:textSize="20sp"
android:textStyle="bold"
android:layout_below="@id/divideButton"
android:layout_marginTop="32dp"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
```
10. Develop an android application for Date and Time Picker.
Answer:
**MainActivity.java:**
```java
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
TextView selectedDateTextView, selectedTimeTextView;
Calendar calendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
selectedDateTextView = findViewById(R.id.selectedDateTextView);
selectedTimeTextView = findViewById(R.id.selectedTimeTextView);
calendar = Calendar.getInstance();
}
public void showDatePicker(View view) {
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
String selectedDate = dayOfMonth + "/" + (monthOfYear + 1) + "/" + year;
selectedDateTextView.setText("Selected Date: " + selectedDate);
}
}, year, month, dayOfMonth);
datePickerDialog.show();
}
public void showTimePicker(View view) {
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
String selectedTime = hourOfDay + ":" + minute;
selectedTimeTextView.setText("Selected Time: " + selectedTime);
}
}, hour, minute, true);
timePickerDialog.show();
}
}
```
**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"
tools:context=".MainActivity">
<Button
android:id="@+id/datePickerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Date Picker"
android:onClick="showDatePicker"
android:layout_marginTop="50dp"
android:layout_centerHorizontal="true"/>
<Button
android:id="@+id/timePickerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Time Picker"
android:onClick="showTimePicker"
android:layout_below="@id/datePickerButton"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"/>
<TextView
android:id="@+id/selectedDateTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selected Date: "
android:textSize="20sp"
android:textStyle="bold"
android:layout_below="@id/timePickerButton"
android:layout_marginTop="50dp"
android:layout_centerHorizontal="true"/>
<TextView
android:id="@+id/selectedTimeTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selected Time: "
android:textSize="20sp"
android:textStyle="bold"
android:layout_below="@id/selectedDateTextView"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
```
11. Name any four attributes of Edit Text control
Answer:
android:id
android: gravity
android: text
android: hint
android: textColor
12. Design a employee registration form using UI component.
Answer:
**activity_main.xml:**
```xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/titleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Employee Registration Form"
android:textSize="24sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="16dp"/>
<EditText
android:id="@+id/firstNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="First Name"/>
<EditText
android:id="@+id/lastNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Last Name"
android:layout_marginTop="8dp"/>
<EditText
android:id="@+id/emailEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email Address"
android:inputType="textEmailAddress"
android:layout_marginTop="8dp"/>
<EditText
android:id="@+id/phoneEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Phone Number"
android:inputType="phone"
android:layout_marginTop="8dp"/>
<Spinner
android:id="@+id/departmentSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Select Department"
android:layout_marginTop="8dp"/>
<Button
android:id="@+id/registerButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Register"
android:layout_marginTop="16dp"/>
</LinearLayout>
13. Write a program to display a rectangular progress bar.
Answer:
**MainActivity.java:**
import android.os.Bundle;
import android.os.Handler;
import android.widget.ProgressBar;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private ProgressBar progressBar;
private int progressStatus = 0;
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressBar = findViewById(R.id.progressBar);
// Start the progress bar animation
startProgressBar();
}
private void startProgressBar() {
new Thread(new Runnable() {
public void run() {
while (progressStatus < 100) {
progressStatus += 1;
// Update the progress bar and display it
handler.post(new Runnable() {
public void run() {
progressBar.setProgress(progressStatus);
}
});
try {
// Sleep for 50 milliseconds to simulate progress
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
}
```
**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">
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"/>
</RelativeLayout>
14. Enlist the elements of UI.
Answer:
Elements of UI:
• Menu Bar
• Toolbar
• Navigation Bar
• Editor Tabs
• Editor