1. Write a program to demonstrate Date and Time picker.
Ans.
XML File:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Button to open DatePickerDialog -->
<Button
android:id="@+id/btnPickDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pick Date"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"/>
<!-- Button to open TimePickerDialog -->
<Button
android:id="@+id/btnPickTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pick Time"
android:layout_below="@id/btnPickDate"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"/>
<!-- TextView to display selected date and time -->
<TextView
android:id="@+id/tvSelectedDateTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selected Date and Time will be displayed here"
android:textSize="18sp"
android:layout_below="@id/btnPickTime"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"/>
</RelativeLayout>
Java Code:
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link].*
class MainActivity : AppCompatActivity() {
private lateinit var tvSelectedDateTime: TextView
private lateinit var btnPickDate: Button
private lateinit var btnPickTime: Button
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_main)
// Initialize UI components
tvSelectedDateTime = findViewById([Link])
btnPickDate = findViewById([Link])
btnPickTime = findViewById([Link])
// Set up the Date Picker
[Link] {
val calendar = [Link]()
val year = [Link]([Link])
val month = [Link]([Link])
val dayOfMonth = [Link](Calendar.DAY_OF_MONTH)
val datePickerDialog = DatePickerDialog(this, { _, selectedYear,
selectedMonth, selectedDayOfMonth ->
// Format the selected date
val formattedDate = "${selectedDayOfMonth}/${selectedMonth +
1}/$selectedYear"
[Link] = "Selected Date: $formattedDate"
}, year, month, dayOfMonth)
[Link]()
}
// Set up the Time Picker
[Link] {
val calendar = [Link]()
val hour = [Link](Calendar.HOUR_OF_DAY)
val minute = [Link]([Link])
val timePickerDialog = TimePickerDialog(this, { _, selectedHour,
selectedMinute ->
// Format the selected time
val formattedTime = [Link]("%02d:%02d", selectedHour,
selectedMinute)
[Link] = "Selected Time: $formattedTime"
}, hour, minute, true)
[Link]()
}
}
}
2. Write a program to create a Hello World Activity using all lifecycles method to
display messages using Log.d.
Ans.
XML File:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/helloWorldText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, World!"
android:textSize="24sp"
android:layout_centerInParent="true"/>
</RelativeLayout>
Java Code:
package [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
// Tag for log messages
private val TAG = "MainActivityLifecycle"
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_main)
// Log the creation lifecycle method
Log.d(TAG, "onCreate called")
}
override fun onStart() {
[Link]()
// Log the start lifecycle method
Log.d(TAG, "onStart called")
}
override fun onResume() {
[Link]()
// Log the resume lifecycle method
Log.d(TAG, "onResume called")
}
override fun onPause() {
[Link]()
// Log the pause lifecycle method
Log.d(TAG, "onPause called")
}
override fun onStop() {
[Link]()
// Log the stop lifecycle method
Log.d(TAG, "onStop called")
}
override fun onRestart() {
[Link]()
// Log the restart lifecycle method
Log.d(TAG, "onRestart called")
}
override fun onDestroy() {
[Link]()
// Log the destroy lifecycle method
Log.d(TAG, "onDestroy called")
}
}
3. Write a program to calculate factorial of a given number.
Ans.
XML File:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- EditText to input the number -->
<EditText
android:id="@+id/etNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"/>
<!-- Button to calculate the factorial -->
<Button
android:id="@+id/btnCalculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Factorial"
android:layout_below="@id/etNumber"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"/>
<!-- TextView to display the result -->
<TextView
android:id="@+id/tvResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Factorial will be displayed here"
android:textSize="18sp"
android:layout_below="@id/btnCalculate"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"/>
</RelativeLayout>
Java Code:
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
private lateinit var etNumber: EditText
private lateinit var btnCalculate: Button
private lateinit var tvResult: TextView
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_main)
// Initialize UI components
etNumber = findViewById([Link])
btnCalculate = findViewById([Link])
tvResult = findViewById([Link])
// Set button click listener
[Link] {
val number = [Link]()
if ([Link]()) {
val num = [Link]()
if (num >= 0) {
val result = factorial(num)
[Link] = "Factorial of $num is: $result"
} else {
[Link](this, "Please enter a non-negative number",
Toast.LENGTH_SHORT).show()
}
} else {
[Link](this, "Please enter a number",
Toast.LENGTH_SHORT).show()
}
}
}
// Function to calculate factorial recursively
private fun factorial(n: Int): Long {
if (n == 0 || n == 1) {
return 1
}
return n * factorial(n - 1)
}
}
4. Write a program to create a text field and a button “Navigate”. Whenyou enter
“[Link]” and press navigate button it should open google page.
Ans.
XML File:
<?xml version=”1.0” encoding=”utf-8”?>
<LinearLayout xmlns:android=[Link]
Android:layout_width=”match_parent”
Android:layout_height=”match_parent”
Android:orientation=”vertical”
Android:padding=”20dp”>
<EditText
Android:id=”@+id/urlEditText”
Android:layout_width=”match_parent”
Android:layout_height=”wrap_content”
Android:hint=”Enter URL”
Android:inputType=”textUri”/>
<Button
Android:id=”@+id/navigateButton”
Android:layout_width=”wrap_content”
Android:layout_height=”wrap_content”
Android:text=”Navigate”
Android:layout_gravity=”center”
Android:padding=”10dp”/>
</LinearLayout>
Java Code:
Import [Link];
Import [Link];
Import [Link];
Import [Link];
Import [Link];
Import [Link];
Import [Link];
Import [Link];
Public class MainActivity extends AppCompatActivity {
Private EditText urlEditText;
Private Button navigateButton;
@Override
Protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
urlEditText = findViewById([Link]);
navigateButton = findViewById([Link]);
[Link](new [Link]() {
@Override
Public void onClick(View v) {
String url = [Link]().toString().trim();
// Ensure URL is valid
If ();
startActivity(intent);
} catch (Exception e) {
[Link]([Link], “Invalid URL”, Toast.LENGTH_SHORT).show();
}
}
});
}
}
5.