Android Development Assignment - DHANANJAY SINGHAL
Android Development Assignment - DHANANJAY SINGHAL
HANSRAJ COLLEGE
BSC (HONS) COMPUTER SCIENCE
SEMESTER - 4
ANDROID DEVELOPMENT
DHANANJAY SINGHAL
21CS/13
Question 1 :
Create a “Hello World” application. That will display “Hello World” in the middle of the screen in the
emulator. Also display “Hello World” in the middle of the screen in the Android Phone.
Solution 1 :
activity_main.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Output 1 :
Question 2 :
Create an application with three buttons (increment, decrement and reset) and a textView aligned
vertically. On clicking, increment/decrement button, the value of the textview should
increment/decrement by 1 while selecting the reset button, the value of textview should become
zero.
Solution 2 :
activity_main.xml :
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#9C27B0"
android:backgroundTintMode="screen"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.157">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:onClick="decrement"
android:padding="16dp"
android:text="-"
android:textSize="24sp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/quantity_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:fontFamily="sans-serif-condensed-medium"
android:padding="16dp"
android:text="0"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="italic" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="increment"
android:padding="16dp"
android:text="+"
android:textSize="24sp"
/>
</LinearLayout>
<Button
android:id="@+id/reset"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="108dp"
android:onClick="reset"
android:text="Reset"
android:textSize="24sp"
android:textStyle="bold|italic"
app:layout_constraintEnd_toEndOf="@+id/linearLayout"
app:layout_constraintHorizontal_bias="0.503"
app:layout_constraintStart_toStartOf="@+id/linearLayout"
app:layout_constraintTop_toBottomOf="@+id/linearLayout" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mytext = findViewById(R.id.quantity_text_view);
}
number+=1;
DisplayOnText(number);
}
Output 2 :
Question 3 :
Solution 3 :
activity_main.xml
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/tvName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="21dp"
android:layout_marginTop="49dp"
android:text="User Name"
android:textSize="18sp" />
<EditText
android:id="@+id/etUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvName"
android:layout_alignBottom="@+id/tvName"
android:layout_alignParentEnd="true"
android:layout_marginEnd="23dp"
android:ems="10"
android:inputType="textPersonName" />
<TextView
android:id="@+id/tvPass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/tvName"
android:layout_below="@+id/etUsername"
android:layout_marginTop="32dp"
android:text="Password"
android:textSize="18sp" />
<EditText
android:id="@+id/etPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvPass"
android:layout_alignBottom="@+id/tvPass"
android:layout_alignStart="@+id/etUsername"
android:ems="10"
android:inputType="textPassword" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/etPassword"
android:layout_centerHorizontal="true"
android:layout_marginTop="38dp"
android:text="LOGIN"
/>
<TextView
android:id="@+id/tvLoginStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button"
android:layout_centerHorizontal="true"
android:layout_marginTop="100sp"
/>
</RelativeLayout>
Main_activity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
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);
etUsername = (EditText) findViewById(R.id.etUsername);
etPassword = (EditText) findViewById(R.id.etPassword);
btnStatus = (Button) findViewById(R.id.button);
tvLoginStatus = (TextView) findViewById(R.id.tvLoginStatus);
btnStatus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
check();
}
});
}
Question 4 :
Create spinner with strings taken from resource folder (res >> value folder) and on changing the
spinner value, Image will change.
Solution 4 :
activity_main.xml
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="116dp"
android:layout_weight="1"
android:text="TextView" />
<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="116dp"
android:layout_weight="1"
android:text="TextView" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="116dp"
android:layout_weight="1"
android:text="TextView" />
</LinearLayout>
MainActivity.java
Output 4 :
Question 5 :
Create a menu with some options and selected options should appear in the text box.
Solution 5 :
activity_main.xml
<TextView
android:id="@+id/mytv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Welcome!"
android:textSize="32sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Menus.xml
<item
android:id="@+id/id1"
android:title="Option1" />
<item
android:id="@+id/id2"
android:title="Option2" />
<item
android:id="@+id/id3"
android:title="Option3" />
<item
android:id="@+id/id4"
android:title="Option4" />
<item
android:id="@+id/id5"
android:title="Option5" />
</menu>
MainActivity.java
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = findViewById(R.id.mytv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater m = getMenuInflater();
m.inflate(R.menu.menus, menu);
return true;
}
@Override
public boolean onOptionsItemSelected( MenuItem item) {
switch (item.getItemId())
{
case R.id.id1:
Toast.makeText(this, "Option1", Toast.LENGTH_SHORT).show();
tv.setText("Option1");
break;
case R.id.id2:
Toast.makeText(this, "Option2", Toast.LENGTH_SHORT).show();
tv.setText("Option2");
break;
case R.id.id3:
Toast.makeText(this, "Option3", Toast.LENGTH_SHORT).show();
tv.setText("Option3");
break;
case R.id.id4:
Toast.makeText(this, "Option4", Toast.LENGTH_SHORT).show();
tv.setText("Option4");
case R.id.id5:
Toast.makeText(this, "Option5", Toast.LENGTH_SHORT).show();
tv.setText("Option5");
break;
}
return true;
}
}
Output 5 :
Question 6 :
Create a list of all courses in your college and on selecting a particular course teacher-in- charge
of that course should appear at the bottom of the screen.
Solution 6 :
activity_main.xml
MainActivity.java
Toast.makeText(getApplicationContext(),teacher,Toast.LENGTH_SHORT).show();
}
});
}
}
Output 6 :
Question 7 :
Create an application with three option buttons, on selecting a button color of the screen will
change.
Solution 7 :
activity_main.xml
<TextView
android:id="@+id/tvVar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="240dp"
android:text="What would you like?"
android:textSize="25dp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tvVar1"
android:layout_centerInParent="true"
android:layout_marginTop="60dp"
android:orientation="horizontal"
android:padding="10dp">
<Button
android:id="@+id/btVar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#0EA1E3"
android:padding="20dp"
android:text="Cool"
android:textColor="#303F9F"
android:textSize="20dp" />
<Button
android:id="@+id/btVar2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#F6F6F6"
android:padding="20dp"
android:text="neutral"
android:textColor="#1A237E"
android:textSize="20dp" />
<Button
android:id="@+id/btVar3"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:background="#FD0505"
android:padding="20dp"
android:text="Hot"
android:textColor="#311B92"
android:textSize="20dp" />
</LinearLayout>
</RelativeLayout>
Main_Activity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
);
}
}
colors.xml
Create an application to display various activity life cycle and fragment lifecycle methods.
Solution 8 :
activity_main.xml
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="30dp"
android:text="@string/activity_lifecycle"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/result1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:layout_marginTop="60dp"
android:text=" "
android:textSize="20sp"
android:textStyle="bold" />
<fragment
android:id="@+id/frag"
android:name="com.example.practical8.BlankFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="30dp"
android:layout_toEndOf="@+id/tv1" />
</RelativeLayout>
fragment_blank.xml
<TextView
android:id="@+id/result1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv"
android:layout_marginTop="0dp"
android:text=" "
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
result = findViewById(R.id.result1);
result.setText("onCreate");
}
@Override
protected void onStop() {
super.onStop();
String res = result.getText().toString();
result.setText(res + "\n" + "onStart");
}
@Override
protected void onStart() {
super.onStart();
String res = result.getText().toString();
result.setText(res + "\n" + "onStart");
}
@Override
protected void onPause() {
super.onPause();
String res = result.getText().toString();
result.setText(res + "\n" + "onPause");
}
@Override
protected void onDestroy() {
super.onDestroy();
String res = result.getText().toString();
result.setText(res + "\n" + "onDestroy");
}
}
BlankFragment.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_blank, container,
false);
result = (TextView) view.findViewById(R.id.result1);
return view;
}
@Override
public void onStop() {
super.onStop();
String res = result.getText().toString();
result.setText(res + "\n" + "onStop");
}
@Override
public void onResume() {
super.onResume();
String res = result.getText().toString();
result.setText(res + "\n" + "onResume");
}
@Override
public void onPause() {
super.onPause();
String res = result.getText().toString();
result.setText(res + "\n" + "onPause");
}
@Override
public void onStart() {
super.onStart();
String res = result.getText().toString();
result.setText(res + "\n" + "onStart");
}
}
strings.xml
Output 8 :
Question 9 :
Create an application with 2 fragments, one to set the background and other to set the fore-color
of the text.
Solution 9 :
activity_main.xml
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="100dp"
android:layout_marginTop="10dp"
android:text="FRAGMENT EXAMPLE APP"
android:textColor="@color/black" />
<fragment
android:id="@+id/frag1"
android:name="com.example.practical9.BGColor"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2" />
<fragment
android:id="@+id/frag2"
android:name="com.example.practical9.FGColor"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2" />
</LinearLayout>
MainActivity.java
TextView tv1;
TextView tv2;
TextView tv3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) findViewById(R.id.textview);
tv2 = (TextView) findViewById(R.id.textview2);
tv3 = (TextView) findViewById(R.id.textview3);
LinearLayout ll = (LinearLayout) findViewById(R.id.main_layout);
RadioGroup rg = (RadioGroup) findViewById(R.id.bg_radiogroup);
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
RadioButton checkedRadioButton = (RadioButton)
radioGroup.findViewById(checkedId);
boolean isChecked = checkedRadioButton.isChecked();
if (isChecked) {
switch (checkedRadioButton.getId()) {
case R.id.radioButton1:
ll.setBackgroundColor(getResources().getColor(R.color.purple_500));
break;
case R.id.radioButton2:
ll.setBackgroundColor(getResources().getColor(R.color.teal_200));
break;
case R.id.radioButton3:
ll.setBackgroundColor(getResources().getColor(R.color.yellow));
break;
case R.id.radioButton4:
ll.setBackgroundColor(getResources().getColor(R.color.green));
break;
case R.id.radioButton5:
ll.setBackgroundColor(getResources().getColor(R.color.Red));
break;
}
}
}
});
tv1.setTextColor(getResources().getColor(R.color.green));
tv2.setTextColor(getResources().getColor(R.color.green));
tv3.setTextColor(getResources().getColor(R.color.green));
break;
case R.id.rb2:
tv1.setTextColor(getResources().getColor(R.color.purple_700));
tv2.setTextColor(getResources().getColor(R.color.purple_700));
tv3.setTextColor(getResources().getColor(R.color.purple_700));
break;
case R.id.rb3:
tv1.setTextColor(getResources().getColor(R.color.yellow));
tv2.setTextColor(getResources().getColor(R.color.yellow));
tv3.setTextColor(getResources().getColor(R.color.yellow));
break;
case R.id.rb4:
tv1.setTextColor(getResources().getColor(R.color.white));
tv2.setTextColor(getResources().getColor(R.color.white));
tv3.setTextColor(getResources().getColor(R.color.white));
break;
case R.id.rb5:
tv1.setTextColor(getResources().getColor(R.color.Red));
tv2.setTextColor(getResources().getColor(R.color.Red));
tv3.setTextColor(getResources().getColor(R.color.Red));
break;
}
}
}
});
}
}
fragment_bg_color.xml
<TextView
android:id="@+id/textview2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:text="SELECT BACKGROUND COLOUR"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="15sp"
android:textStyle="bold" />
<RadioGroup
android:id="@+id/bg_radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Purple" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Teal" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Yellow" />
<RadioButton
android:id="@+id/radioButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Green" />
<RadioButton
android:id="@+id/radioButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Red" />
</RadioGroup>
</LinearLayout>
BGColor.java
fragment_fg_color.xml
<TextView
android:id="@+id/textview3"
android:layout_width="397dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:text="CHANGE TEXT COLOUR"
android:textAlignment="center"
android:textColor="@color/black"
android:textStyle="bold" />
<RadioGroup
android:id="@+id/fg_radiogroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/rb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Green" />
<RadioButton
android:id="@+id/rb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Purple" />
<RadioButton
android:id="@+id/rb3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Yellow" />
<RadioButton
android:id="@+id/rb4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="White" />
<RadioButton
android:id="@+id/rb5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="Red" />
</RadioGroup>
</LinearLayout>
FGColor.java
colors.xml
strings.xml
Create an application with an activity having EditText and a button (with name “Send”). On clicking
the Send button, make use of implicit intent that uses a Send Action and let the user select the
app from app chooser and navigate to that application.
Solution 10 :
activity_main.xml
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginTop="80dp"
android:layout_marginRight="80dp"
android:layout_marginLeft="25dp"
android:ems="10">
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_alignLeft="@+id/editText1"
android:layout_marginLeft="0dp"
android:layout_marginTop="20dp"
android:ems="10">
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_alignLeft="@+id/editText2"
android:layout_marginTop="20dp"
android:ems="10"
android:inputType="textMultiLine" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editText1"
android:layout_alignBottom="@+id/editText1"
android:layout_marginHorizontal="30dp"
android:layout_marginBottom="15dp"
android:text="To :" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editText2"
android:layout_alignBottom="@+id/editText2"
android:layout_marginHorizontal="30dp"
android:layout_marginBottom="15dp"
android:text="Subject :" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editText3"
android:layout_alignBottom="@+id/editText3"
android:layout_alignParentLeft="true"
android:layout_marginHorizontal="30dp"
android:layout_marginBottom="15dp"
android:text="Message:" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText3"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:layout_marginHorizontal="30dp"
android:layout_marginBottom="15dp"
android:text="Send" />
</RelativeLayout>
MainActivity.java
EditText editTextTo,editTextSubject,editTextMessage;
Button send;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextTo=(EditText)findViewById(R.id.editText1);
editTextSubject=(EditText)findViewById(R.id.editText2);
editTextMessage=(EditText)findViewById(R.id.editText3);
send=(Button)findViewById(R.id.button1);
send.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0) {
String to=editTextTo.getText().toString();
String subject=editTextSubject.getText().toString();
String message=editTextMessage.getText().toString();
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client
:"));
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menus_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
dimens.xml
strings.xml
Output 10 :
Question 11 :
Create a Login application. On successful login, use explicit intent to second activity displaying
welcome message (Welcome Username) to the user and a logout button. When user presses the
logout button, a dialog box with a message (“Are you sure you want to exit?”) and two buttons
(“Yes” and “No”) should appear to confirm logout. On “Yes” button click, go to login activity and on
“No”, stay on the same activity
Solution 11 :
activity_main.xml
Main_activity.java
import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;
import android.content.Intent;
Toast.makeText(MainActivity.this, "Successful",
Toast.LENGTH_SHORT).show();
startActivity(i);
} else {
Toast.makeText(MainActivity.this, "Unsuccessful",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
activity_second.xml
<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/Theme.Practical11">
<activity
android:name=".AndroidManifest"
android:exported="false" />
<activity
android:name=".Second_activity"
android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
Second_activity.java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.app.AlertDialog;
import android.content.DialogInterface;
Solution 12 :
BroadcastSender activity_main.xml
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
BroadcastReceiver activity_main.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Broadcasting custom intents"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
BroadcastReceiver MyBroadcastReceiver.java
@Override
public void onReceive(Context context, Intent intent) {
Log.i("BroadcastReceiver", "Broadcast message is received");
Toast.makeText(context,"Broadcast message is received",
Toast.LENGTH_LONG).show();
}
}
BroadcastReceiver AndroidManifest.xml
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.Practical12_BroadcastReceiver"
tools:targetApi="31">
<receiver
android:name=".MyBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name = "com.practical12.myBroadcastMessage"></action>
</intent-filter>
</receiver>
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
MainActivity.java
import android.content.IntentFilter;
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Solution 13 :
activity_main.xml
<Button
android:id="@+id/notifyBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get notification"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>l̥
MainActivity.java
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
notifyBtn = findViewById(R.id.notifyBtn);
notifyBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
NotificationManagerCompat managerCompat =
NotificationManagerCompat.from(MainActivity.this);
if (ActivityCompat.checkSelfPermission(MainActivity.this,
android.Manifest.permission.POST_NOTIFICATIONS) !=
PackageManager.PERMISSION_GRANTED) {
return;
}
managerCompat.notify(1, builder.build());
}
});
}
}
Output 13 :
Question 14 :
Solution 14 :
activity_main.xml
<Button
android:id="@+id/buttonStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="74dp"
android:text="Start Service" />
<Button
android:id="@+id/buttonStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Stop Service" />
<Button
android:id="@+id/buttonNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="63dp"
android:text="Next Page" />
</RelativeLayout>
MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
buttonStart = findViewById(R.id.buttonStart);
buttonStop = findViewById(R.id.buttonStop);
buttonNext = findViewById(R.id.buttonNext);
buttonStart.setOnClickListener(this);
buttonStop.setOnClickListener(this);
buttonNext.setOnClickListener(this);
}
public void onClick(View src) {
switch (src.getId()) {
case R.id.buttonStart:
NextPage.java
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
}
}
activity_next.xml
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="200dp"
android:text="Next Page"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
MyService.java
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.widget.Toast;
import androidx.annotation.Nullable;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "Service Created", Toast.LENGTH_LONG).show();
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
myPlayer.start();
}
@Override
public void onDestroy() {
Toast.makeText(this, "Service Stopped", Toast.LENGTH_LONG).show();
myPlayer.stop();
}
}
AndroidManifest.xml
<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/Theme.AppCompat.Light">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<service
android:name=".MyService"
android:enabled="true" />
</application>
</manifest>
Output 14 :
Question 15 :
Create an application to Create, Insert, update, Delete and retrieve operations on the database.
Solution 15 :
activity_main.xml
MainActivity.java
db.updateRecord(id.getText().toString(),task.getText().toString());
Toast.makeText(getApplicationContext(),"record
updated",Toast.LENGTH_LONG).show();
break;
case R.id.delete:
db.deleteRecord(id.getText().toString());
Toast.makeText(getApplicationContext(),"record
deleted",Toast.LENGTH_LONG).show();
break;
}
}
}
DatabaseHelper.java
END OF ASSIGNMENT