0% found this document useful (0 votes)
103 views47 pages

Amp (Solution)

The document describes creating a basic calculator application in Android. It includes layouts for the calculator user interface containing number and operator buttons, and Java code to handle button clicks and display calculations in a text view. The app layout uses nested linear and relative layouts to position the buttons in a grid below the screen text view. Button click methods call display methods to update the screen with the corresponding number or operator.

Uploaded by

Manish Talreja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views47 pages

Amp (Solution)

The document describes creating a basic calculator application in Android. It includes layouts for the calculator user interface containing number and operator buttons, and Java code to handle button clicks and display calculations in a text view. The app layout uses nested linear and relative layouts to position the buttons in a grid below the screen text view. Button click methods call display methods to update the screen with the corresponding number or operator.

Uploaded by

Manish Talreja
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Practical – 1

Aim : Insert the new contents in the following resources and


demonstrate their uses in the android application.
Android resources: (Color, Theme, String, drawable, Dimension,
Image)

a) Color

color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>

<color name="white">#FFFFFF</color>
<color name="yellow">#FFFF00</color>
<color name="fuchsia">#FF00FF</color>
</resources>

Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="129dp"
android:layout_marginTop="132dp"
android:text="Hello World!"
android:textColor="@color/fuchsia"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:textColor="@color/yellow"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="107dp"
android:layout_marginBottom="319dp"
android:text="Welcome to Android" />

</RelativeLayout>

b) String
String.xml
<resources>
<string name="app_name">ResourceUsage</string>

<string name="hello">Hello!</string>
<string name="submit_label">Submit</string>

</resources>

Activity_main.xml
<Button
android:id="@+id/button"
android:layout_width="214dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="74dp"
android:layout_marginTop="200dp"
android:text="@string/submit_label" />

c) Drawable
<ImageView
android:id="@+id/imageView3"
android:layout_width="78dp"
android:layout_height="69dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="129dp"
android:layout_marginTop="51dp"
app:srcCompat="@drawable/vintage" />

d)Dimesnsion

<?xml version="1.0" encoding="utf-8"?>


<resources>

<dimen name="textview_height">25dp</dimen>
<dimen name="textview_width">150dp</dimen>
<dimen name="ball_radius">30dp</dimen>
<dimen name="font_size">16sp</dimen>

</resources>

<TextView
android:id="@+id/textView3"
android:layout_width="@dimen/textview_width"
android:layout_height="@dimen/textview_height"
android:layout_alignParentEnd="true"

android:layout_alignParentBottom="true"
android:layout_marginEnd="136dp"
android:layout_marginBottom="225dp"
android:text="New Dimesnion"
android:textColor="@color/fuchsia"
android:textSize="@dimen/font_size" />
Practical – 2

Aim : Create an android application to pass data from the


current application to another application using intents

Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="199dp"
android:onClick="sendMessage"
android:text="SendMessage" />

<EditText
android:id="@+id/ed1"
android:layout_width="299dp"
android:layout_height="58dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="133dp"
android:ems="10"
android:hint="Enter Message to pass to another activity"
android:inputType="textPersonName" />
</RelativeLayout>

MainActivity.java
package com.example.bhaktisamit.passingdatausingintents;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

EditText textBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textBox = (EditText)findViewById(R.id.ed1);
}

public void sendMessage(View v)


{
String value = textBox.getText().toString();
Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
intent.putExtra("message",value);
startActivity(intent);

SecondActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecondActivity">

<TextView
android:id="@+id/textView"
android:layout_width="251dp"
android:layout_height="54dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="66dp"
android:layout_marginTop="68dp" />

</RelativeLayout>

SecondActivity.java
package com.example.bhaktisamit.passingdatausingintents;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;

public class SecondActivity extends AppCompatActivity {

TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
text = (TextView)findViewById(R.id.textView);

Intent intent = getIntent();


String str = intent.getStringExtra("message");

text.setText(str);
}
}

Output:
Practical 3
Aim: Create the standard calculator application in android

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/txtScreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="right|center_vertical"
android:maxLength="16"
android:padding="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:typeface="serif" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/txtScreen"
android:orientation="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSeven"
android:text="7"
android:onClick="displaySeven"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEight"
android:text="8"
android:onClick="displayEight"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnNine"
android:text="9"
android:onClick="displayNine"/>

<Button
android:id="@+id/btnDivide"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="displayDivision"
android:text="/"
android:textSize="30sp" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFour"
android:text="4"
android:onClick="displayFour"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnFive"
android:text="5"
android:onClick="displayFive"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSix"
android:text="6"
android:onClick="displaySix"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnMultiply"
android:text="*"
android:onClick="displayMultiply"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnOne"
android:text="1"
android:onClick="displayOne"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnTwo"
android:text="2"
android:onClick="displayTwo"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnThree"
android:text="3"
android:onClick="displayThree"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnSubtract"
android:text="-"
android:onClick="displayMinus"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">

<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnZero"
android:text="0"
android:onClick="displayZero"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnClear"
android:text="C"
android:onClick="displayClear"/>
<Button
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnAdd"
android:text="+"
android:onClick="displayAdd"/>
</LinearLayout>

<Button
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_weight="1"
android:textSize="30sp"
android:id="@+id/btnEqual"
android:text="="
android:onClick="displayEqual"/>
</LinearLayout>
</RelativeLayout>

package com.example.bhaktisamit.calci;
import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

TextView t;

float mValueOne , mValueTwo ;

boolean mAddition , mSubtract ,mMultiplication ,mDivision ;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t=(TextView) findViewById(R.id.txtScreen);

public void displayOne(View v)


{
t.setText(t.getText()+"1");
}

public void displayTwo(View v)


{
t.setText(t.getText()+"2");
}
public void displayThree(View v)
{
t.setText(t.getText()+"3");
}

public void displayFour(View v)


{
t.setText(t.getText()+"4");
}

public void displayFive(View v)


{
t.setText(t.getText()+"5");
}
public void displaySix(View v)
{
t.setText(t.getText()+"6");
}

public void displaySeven(View v)


{
t.setText(t.getText()+"7");
}

public void displayEight(View v)


{
t.setText(t.getText()+"8");
}
public void displayNine(View v)
{
t.setText(t.getText()+"9");
}
public void displayClear(View v)
{
t.setText(" ");
}

public void displayZero(View v)


{
t.setText(t.getText()+"0");
}

public void displayAdd(View v) {


if (t == null) {
t.setText("");
} else {
mValueOne = Float.parseFloat(t.getText() + "");
mAddition = true;
t.setText(null);
}
}

public void displayMinus(View v) {


if (t == null) {
t.setText("");
} else {
mValueOne = Float.parseFloat(t.getText() + "");
mSubtract = true;
t.setText(null);
}
}

public void displayMultiply(View v) {


if (t == null) {
t.setText("");
} else {
mValueOne = Float.parseFloat(t.getText() + "");
mMultiplication = true;
t.setText(null);
}
}

public void displayDivision(View v) {


if (t == null) {
t.setText("");
} else {
mValueOne = Float.parseFloat(t.getText() + "");
mDivision = true;
t.setText(null);
}
}

public void displayEqual(View v) {

mValueTwo = Float.parseFloat(t.getText() + "");

if (mAddition == true) {

t.setText(mValueOne + mValueTwo + "");


mAddition = false;
}

if (mSubtract == true) {

t.setText(mValueOne - mValueTwo + "");


mAddition = false;
}

if (mMultiplication == true) {

t.setText(mValueOne * mValueTwo + "");


mMultiplication = false;
}

if (mDivision == true) {

t.setText(mValueOne / mValueTwo + "");


mDivision = false;
}

OUTPUT:
Practical 05

Aim : Create an android app that demonstrates the use of an Options Menu and
Popup menu.
Step 1:
Create New android Resource Directory Name it as – “menu” , Select Resource Type -
Menu
Step 2:
Create new Menu resource File
Name : menu1
Step 3: Type following code for menu1.xml

menu1.xml
?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+id/i1"
android:title="Welcome user">

<!-- "item" submenu -->


<menu>
<item android:id="@+id/i2"
android:title="Inbox" />

<item android:id="@+id/i3"
android:title="Draft" />
</menu>
</item>

<item android:id="@+id/i4"
android:title="Menu 2">

<!-- "item" submenu -->


<menu>
<item android:id="@+id/i5"
android:title="Trash" />

<item android:id="@+id/i6"
android:title="Saved Item" />
</menu>
</item>
</menu>

MainActivity.java

package com.example.menudemo1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.menu1, menu);
return true;
}

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {
case R.id.i1:
Toast.makeText(this, "Cicked Main Menu", Toast.LENGTH_SHORT).show();
break;
case R.id.i2:
Toast.makeText(this, "Inbox is clciked", Toast.LENGTH_SHORT).show();
break;
case R.id.i3:
Toast.makeText(this, "Draft is clicked", Toast.LENGTH_SHORT).show();
break;
}
return true;

}
}
Pr-06 - B

Popup Menu

Step 1:
Create New android Resource Directory Name it as – “menu” , Select Resource Type -
Menu
Step 2:
Create new Menu resource File
Name : menu1
Step 3: Type following code for popup1.xml

menu1.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<item android:title="cut" />


<item android:title="copy" />
<item android:title="paste" />
</menu>

Step 4: Design mainactivity.xml

Main activity.xml

<?xml version = "1.0" encoding = "utf-8"?>


<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:id = "@+id/rootview"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:orientation = "vertical"
android:background = "#c1c1c1"
android:gravity = "center_horizontal"
tools:context = ".MainActivity">

<Button
android:id = "@+id/popup"
android:text = "Click to get Pop-Up menu"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:onClick="pop"/>
</LinearLayout>

MainActivity.java

package com.example.popupdemo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

Button popupButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
popupButton = findViewById(R.id.popup);
}

public void pop(View v)


{

PopupMenu p = new PopupMenu(MainActivity.this, popupButton);


p.getMenuInflater().inflate(R.menu.popup1, p.getMenu());
p.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener()
{
public boolean onMenuItemClick (MenuItem item){
Toast.makeText(MainActivity.this, item.getTitle(),
Toast.LENGTH_SHORT).show();
return true;
}
});
p.show();
}

Output:
Practical 6a

Aim – Create an android application to display AlertDialog

activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="127dp"
android:layout_marginLeft="127dp"
android:layout_marginTop="204dp"
android:onClick="openAlert" android:text="Click
Me for Alert"
tools:layout_editor_absoluteX="148dp"
tools:layout_editor_absoluteY="158dp" />

</RelativeLayout>

MainActivity.java
package com.example.myapplication;

import android.content.DialogInterface; import


android.support.v7.app.AlertDialog; import
android.support.v7.app.AppCompatActivity; import
android.os.Bundle; import android.view.View; import
android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); } public void

openAlert(View view) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder.setMessage("Are you
sure,You wanted to make decision"); alertDialogBuilder.setPositiveButton("yes", new
DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface arg0, int arg1) {
Toast.makeText(MainActivity.this, "You clicked yes button",
Toast.LENGTH_LONG).show();
} });

alertDialogBuilder.setNegativeButton("No",new
DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) {
finish(); } }); AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();

}}

Output

:
Aim: Develop an application to demonstrate the
use of DatePicker and TimePicker

MainActivity.xml

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="33dp"
android:text="Date and Time Picker Demo"
android:textColor="@android:color/holo_green_dark"
android:textSize="30sp"
android:typeface="sans" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="25dp"
android:layout_marginLeft="25dp"
android:layout_marginTop="156dp"
android:onClick="SelectDate"
android:text="Select Date"
android:textColor="@android:color/holo_orange_dark"
android:textColorLink="@android:color/holo_green_dark"
android:textSize="24sp" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="155dp"
android:layout_marginEnd="29dp"
android:layout_marginRight="29dp"
android:onClick="SelectTime"
android:text="Select time"
android:textColor="@android:color/holo_red_dark"
android:textSize="24sp" />
</RelativeLayout>

Create a new fragment for the date picker

1. Expand app > java > com.example.android.DateTimePickers and select MainActivity.

2. Choose File > New > Fragment > Fragment (Blank), and name the fragment
DatePickerFragment. Uncheck all three checkbox options so that you do not create a layout
XML, do not include fragment factory methods, and do not include interface callbacks. You
don't need to create a layout for a standard picker. Click Finish to create the fragment.

3. Open DatePickerFragment and edit the DatePickerFragment class definition to extend


DialogFragment and implement DatePickerDialog.OnDateSetListener to create a standard
date picker with a listener.

DatePickerGragment.java

public class DatePickerFragment extends DialogFragment implements


DatePickerDialog.OnDateSetListener {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

final Calendar c= Calendar.getInstance();


int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);
int day=c.get(Calendar.DAY_OF_MONTH);

return new DatePickerDialog(getActivity(),this,year,month,day);

@Override//used normally when date is selected by user


public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

MainActivity activity=(MainActivity)getActivity();
activity.processDate(year,month,dayOfMonth);
}
}

Create a new fragment for the time picker

1. Add a fragment to the DateTimePickers project for the time picker:

2. Select MainActivity again.

3. Choose File > New > Fragment > Fragment (Blank), and name the fragment
TimePickerFragment. Uncheck all three options so you do not create a layout XML,
do not include fragment factory methods, and do not include interface callbacks.
Click Finish to create the fragment.

4. It extends DialogFragment and implements TimePickerDialog.OnTimeSetListener to create a


standard time picker with a listener.

TimePickerFragment.java

public class TimePickerFragment extends DialogFragment implements


TimePickerDialog.OnTimeSetListener {

@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar c= Calendar.getInstance();
int hour=c.get(Calendar.HOUR_OF_DAY);
int minute=c.get(Calendar.MINUTE);

return new TimePickerDialog(getActivity(),this,hour,minute,


DateFormat.is24HourFormat(getActivity()));
}

@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
MainActivity activity=(MainActivity)getActivity();
activity.processTime(hourOfDay,minute);
}
}

Edit MainActictivity as below:

MainActivity.java

package com.example.datetimepickerdemo;

import android.support.v4.app.DialogFragment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void SelectDate(View view)


{
DialogFragment dg=new DatePickerFragment();
dg.show(getSupportFragmentManager(),"Hi");
}

public void SelectTime(View view)


{
DialogFragment dg=new TimePickerFragment();
dg.show(getSupportFragmentManager(),"Hi");
}
public void processDate(int year,int month,int day)
{
String month_string=Integer.toString(month+1);
String day_string=Integer.toString(day);
String year_string=Integer.toString(year);

String date_msg=(day_string+"/"+month_string+"/"+year_string);

Toast.makeText(this,"Date: "+date_msg,Toast.LENGTH_LONG).show();
}

public void processTime(int hourofday,int min)


{
String hour_string=Integer.toString(hourofday);
String min_string=Integer.toString(min);

String time_msg=(hour_string+":"+min_string);

Toast.makeText(this,"Time ="+time_msg,Toast.LENGTH_LONG).show();
}
}
Output:
Practical 7 a
Service[Media Player]

1. Drag the 3 buttons from the pallete, now the activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="example.javatpoint.com.androidservice.MainActivity">

<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"
android:onClick=”onClickStart”
/>

<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"
android:onClick=”onClickStop”
/>

</RelativeLayout>
2. Right click on “res” and create new raw resource folder

3. Copy paste .mp3 file into that folder


4. Create new java class MyService

Override its callback methods.

File: MyService.java

import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.widget.Toast;

public class MyService extends Service {


MediaPlayer myPlayer;
@Nullable
@Override

public IBinder onBind(Intent intent) {


return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "Service Created", Toast.LENGTH_LONG).show();

myPlayer = MediaPlayer.create(this, R.raw.sun);


myPlayer.setLooping(false); // Set looping
}
@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();
}
}
3. Modify MainActivity.java

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListen


er{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClickStart(View src)
{
startService(new Intent(this, MyService.class));
}

public void onClickStop(View src)


{

stopService(new Intent(this, MyService.class));


}
}
5. Modify Manifest.xml as below
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.javatpoint.com.androidservice">

<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">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
<activity android:name=".NextPage"></activity>
<service
android:name=".MyService"
android:enabled="true" />
</application>

</manifest>
Practical 07

Notification
1. Create new application, design MainActivity as below
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="250dp"
android:layout_height="82dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="65dp"
android:layout_marginTop="73dp"
android:text="Show Notification"
android:onClick="notifyMe"/>
</RelativeLayout>

MainActivity.java

package com.example.notificationdemo;

import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void notifyMe(View view) {


NotificationCompat.Builder builder = new NotificationCompat.Builder(this);

builder.setSmallIcon(R.drawable.ic_notifications_active_black_24dp);
builder.setContentTitle("Notifications Example");
builder.setContentText("This is a test notification");

Intent notificationIntent = new Intent(this, MainActivity.class);


PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(contentIntent);

// Add as notification
NotificationManager manager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(0, builder.build());
}
}

2. Create new XML Layout file

notification.xml [filename must be in small letters]


<?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">
<TextView
android:layout_width="fill_parent"
android:layout_height="400dp"
android:text="Hi, Your Detailed notification view goes here...." />
</LinearLayout>

3. Create new java class that extends Activity


package com.example.notificationdemo;

import android.app.Activity;
import android.os.Bundle;

public class NotificationView extends Activity {


@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.notification);
}
}

4. Change Menifest file as below


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.notificationdemo">

<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">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".NotificationView"
android:label="Details of notification"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>

</application>

</manifest>
Aim: Create an android app to Connect to the Internet and use BroadcastReceiver.

1. Update current activity to place one button.

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
style="@style/Widget.AppCompat.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="84dp"
android:layout_marginTop="83dp"
android:onClick="someMethod"
android:text="Check Internet Connection"
android:textSize="14sp"
android:typeface="sans"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="237dp" />

</RelativeLayout>

2. Create new java class that extends BroadcastReceiver


package com.example.myapplication;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import android.widget.Toast;

public class MyReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {

Log.d("API123", "" + intent.getAction());

if (intent.getAction().equals("com.journaldev.broadcastreceiver.SOME_ACTION"))
Toast.makeText(context, "SOME_ACTION is received", Toast.LENGTH_LONG).show();

else {
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();


boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
if (isConnected) {
try {
Toast.makeText(context, "Network is connected",
Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
} else {
Toast.makeText(context, "Network is changed or reconnected",
Toast.LENGTH_LONG).show();
}

}
}

3. Update existing manifest file as follows:


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">

<uses-permission android:name="android.permission.INTERNET" />


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<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">
<receiver android:name="MyReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED">
</action>
</intent-filter>
</receiver>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>

</activity>
</application>

4. Update MainActivity.java
package com.example.myapplication;

import android.content.Intent;
import android.content.IntentFilter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
MyReceiver receiver;
IntentFilter intentFilter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

receiver = new MyReceiver();


intentFilter = new IntentFilter("SOME_ACTION");
}

@Override
protected void onResume() {
super.onResume();
registerReceiver(receiver, intentFilter);

@Override
protected void onDestroy() {
super.onDestroy();

unregisterReceiver(receiver);
}

public void someMethod(View view) {


Intent intent = new Intent("SOME_ACTION");
sendBroadcast(intent);
}

}
Output:
Practical No-8
Programming with SQLIte Database

1. Create new application and Design as below:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<EditText
android:id="@+id/editText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="333dp"
android:layout_marginEnd="25dp"
android:ems="10"
android:inputType="textPersonName" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="81dp"
android:layout_marginTop="360dp"
android:text="Id" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="83dp"
android:layout_marginTop="133dp"
android:text="Name" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="113dp"
android:layout_marginEnd="33dp"
android:ems="10"
android:inputType="textPersonName" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="73dp"
android:layout_marginTop="216dp"
android:text="Surname" />

<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="195dp"
android:layout_marginEnd="33dp"
android:ems="10"
android:inputType="textPersonName" />

<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="268dp"
android:layout_marginEnd="25dp"
android:ems="10"
android:inputType="textPersonName" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="73dp"
android:layout_marginTop="279dp"
android:text="Roll No." />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="72dp"
android:layout_marginTop="401dp"
android:text="Add"
android:onClick="addData"/>

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="399dp"
android:layout_marginEnd="116dp"
android:text="Update" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="68dp"
android:layout_marginTop="471dp"
android:text="Delete" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="473dp"
android:layout_marginEnd="116dp"
android:text="Show"
android:onClick="showAll"/>
</RelativeLayout>

2. Right click on andrdoi->app->java-> com.example.dbdemo folder


Create new java class as below
package com.example.dbdemo;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {


public static final String DATABASE_NAME = "Student.db";
public static final String TABLE_NAME = "student_table";
public static final String COL_1 = "ID";
public static final String COL_2 = "NAME";
public static final String COL_3 = "SURNAME";
public static final String COL_4 = "MARKS";

public DatabaseHelper(Context context) {


super(context, DATABASE_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY
AUTOINCREMENT,NAME TEXT,SURNAME TEXT,MARKS INTEGER)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
onCreate(db);
}

public boolean insertData(String name,String surname,String marks) {


SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2,name);
contentValues.put(COL_3,surname);
contentValues.put(COL_4,marks);
long result = db.insert(TABLE_NAME,null ,contentValues);
if(result == -1)
return false;
else
return true;
}
public Cursor getAllData() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from "+TABLE_NAME,null);
return res;
}

public boolean updateData(String id,String name,String surname,String marks) {


SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_1,id);
contentValues.put(COL_2,name);
contentValues.put(COL_3,surname);
contentValues.put(COL_4,marks);
db.update(TABLE_NAME, contentValues, "ID = ?",new String[] { id });
return true;
}
public Integer deleteData (String id) {
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(TABLE_NAME, "ID = ?",new String[] {id});
}

3. Update MainActivity.java
package com.example.dbdemo;

import android.database.Cursor;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

DatabaseHelper myDb;
EditText editName,editSurname,editMarks ,editTextId;
Button btnAddData;
Button btnviewAll;
Button btnDelete,btnviewUpdate;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDb = new DatabaseHelper(this);

editName = (EditText)findViewById(R.id.editText1);
editSurname = (EditText)findViewById(R.id.editText2);
editMarks = (EditText)findViewById(R.id.editText3);
editTextId = (EditText)findViewById(R.id.editText4);

btnAddData = (Button)findViewById(R.id.button);
btnviewAll = (Button)findViewById(R.id.button2);
btnviewUpdate = (Button)findViewById(R.id.button3);
btnDelete= (Button)findViewById(R.id.button4);

public void addData(View view) {


boolean isInserted = myDb.insertData(editName.getText().toString(),
editSurname.getText().toString(),
editMarks.getText().toString() );
if(isInserted == true)
Toast.makeText(MainActivity.this,"Data Inserted",Toast.LENGTH_LONG).show();
else
Toast.makeText(MainActivity.this,"Data not Inserted",Toast.LENGTH_LONG).show();
}

public void showAll(View view) {


Cursor res = myDb.getAllData();
if(res.getCount() == 0) {
// show message
showMessage("Error","Nothing found");
return;
}

StringBuffer buffer = new StringBuffer();


while (res.moveToNext()) {
buffer.append("Id :"+ res.getString(0)+"\n");
buffer.append("Name :"+ res.getString(1)+"\n");
buffer.append("Surname :"+ res.getString(2)+"\n");
buffer.append("Marks :"+ res.getString(3)+"\n\n");
}

// Show all data


showMessage("Data",buffer.toString());

public void showMessage(String title,String Message){


AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle(title);
builder.setMessage(Message);
builder.show();
}
}

Output:

You might also like