[go: up one dir, main page]

0% found this document useful (0 votes)
77 views67 pages

Android Programs-Converted-Ischema

The document contains code for two Android layouts. The first layout uses a TableLayout to display student information including roll number, name, marks and city in a table with multiple rows. The second layout uses a FrameLayout to display buttons for data types like string, char, float etc positioned in different areas of the layout using gravity.

Uploaded by

nalwadekunal57
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)
77 views67 pages

Android Programs-Converted-Ischema

The document contains code for two Android layouts. The first layout uses a TableLayout to display student information including roll number, name, marks and city in a table with multiple rows. The second layout uses a FrameLayout to display buttons for data types like string, char, float etc positioned in different areas of the layout using gravity.

Uploaded by

nalwadekunal57
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/ 67

Practical No 6

Q.1 Student Information


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

<TableRow>
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Roll No"
android:textColor="#000" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Name"
android:textColor="#000" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Marks"
android:textColor="#000" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="City"
android:textColor="#000" />
</TableRow>
<TableRow>
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="01" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Student 1" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="94" />
</TableRow>
<TableRow>
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="02" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Student 2 " />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="86" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Sangli" />
</TableRow>
<TableRow>
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="03" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Student 3" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="99" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Kolhapur" />
</TableRow>
<TableRow>
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="05" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Student 5" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="76" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Sangli" />
</TableRow>
<TableRow>
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="10" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Student 10" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="80" />
<TextView
android:layout_marginStart="10dp"
android:layout_marginEnd="30dp"
android:textAlignment="center"
android:text="Jaysingpur" />
</TableRow>
</TableLayout>
Q. 2 Frame Layout OOP
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FrameOOP">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="STRING" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|end"
android:text="CHAR" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="FLOAT" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:text="LONG" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|left"
android:text="array" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|right"
android:text="Vector" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:text="LONG" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="INT" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:text="BOLEAN" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:text="DOUBLE" />

</FrameLayout>
Practical No 7

Q.1 Username and Password

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


<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
tools:context=".MainActivity"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_margin="100dp" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username"
android:textSize="18sp"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" />

<TextView
android:layout_width="wrap_content"
android:textSize="18sp"
android:layout_height="wrap_content"
android:text="Password" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login" />
</LinearLayout>
Q. 2 Student Data

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


<AbsoluteLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
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_x="40dp"
android:layout_y="115dp"
android:text="Roll No" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="95dp"
android:ems="10"
android:inputType="number" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40dp"
android:layout_y="165dp"
android:text="First Name" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="145dp"
android:ems="10"
android:inputType="text" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40dp"
android:layout_y="215dp"
android:text="Last Name" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="195dp"
android:ems="10"
android:inputType="text" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40dp"
android:layout_y="265dp"
android:text="Gender" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="245dp"
android:ems="10"
android:inputType="text" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40dp"
android:layout_y="315dp"
android:text="Age" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="295dp"
android:ems="10"
android:inputType="number" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40dp"
android:layout_y="365dp"
android:text="Email" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="345dp"
android:ems="10"
android:inputType="textEmailAddress" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="40dp"
android:layout_y="415dp"
android:text="DOB" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="395dp"
android:ems="10"
android:inputType="date" />

<Button
android:layout_width="112dp"
android:layout_height="wrap_content"
android:layout_x="247dp"
android:layout_y="493dp"
android:text="Submit" />

</AbsoluteLayout>
MainActivity.java

package com.example.pract7stud;

import androidx.appcompat.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 {


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

Button btn = (Button)findViewById(R.id.button);


btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText roll = (EditText)findViewById(R.id.roll);
EditText fn = (EditText)findViewById(R.id.fname);
EditText ln = (EditText)findViewById(R.id.lname);
EditText gen = (EditText)findViewById(R.id.gender);
EditText age = (EditText)findViewById(R.id.age);
EditText email = (EditText)findViewById(R.id.email);
EditText dob = (EditText)findViewById(R.id.dob);
Toast.makeText(getApplicationContext(),
"Roll No : "+roll.getText()+
"\nFirst Name : "+fn.getText()+
"\nLast Name : "+ln.getText()+
"\nGender : "+gen.getText()+
"\nAge : "+age.getText()+
"\nEmail : "+email.getText()+
"\nDOB : "+dob.getText(),Toast.LENGTH_LONG).show();

}
});
}
}
Practical No 8
Q. 1 Search Engine
Activity_main.xml

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


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
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:text="Enter a Text"/>

<AutoCompleteTextView
android:id="@+id/autocomp"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="44dp"
android:completionHint="Select Text"
android:completionThreshold="1"
android:hint="Enter a Text here"/>

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.exp8autocomplete;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends AppCompatActivity {


String[] searches = new String[]{
"Google","Youtube","Facebook","Whatsapp","C","C++","Python","Php","Java","Advance
Java",".net","VB.net"
};

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

AutoCompleteTextView autotxt = findViewById(R.id.autocomp);


ArrayAdapter<String> aa = new
ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, searches);
autotxt.setAdapter(aa);
}
}
Q.2 AutoCompleteTextView Subjects

activity_main.xml

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


<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
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:text="Select Subject"
android:textSize="18sp" />

<AutoCompleteTextView
android:id="@+id/autoSub"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:hint="Enter Subject"
android:completionThreshold="0"/>

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.exp8subjects;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends AppCompatActivity {


String[] searches = new String[]{
"MAD","WPD","MGT","PWP","ETI","EDE","CPE"
};

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

AutoCompleteTextView autotxt = findViewById(R.id.autoSub);


ArrayAdapter<String> aa = new
ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, searches);
autotxt.setAdapter(aa);
}
}
Practical No 9
Toggle Button Bluetooth
• AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.exp9bluetooth">
<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<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>
</application>
</manifest>

• activity_main.xml

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


<androidx.constraintlayout.widget.ConstraintLayout
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/msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="256dp"
android:text="Turn Bluetooth ON / OFF"
android:textSize="18sp"/>

<ToggleButton
android:id="@+id/btnBluetooth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:text="ToggleButton"/>

</androidx.constraintlayout.widget.ConstraintLayout>
• MainActivity.java

package com.example.exp9bluetooth;

import androidx.appcompat.app.AppCompatActivity;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {


ToggleButton btn;
TextView msg;

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

btn = findViewById(R.id.btnBluetooth);
msg = findViewById(R.id.msg);
final BluetoothAdapter blue = BluetoothAdapter.getDefaultAdapter();

btn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
if(blue.getState() == BluetoothAdapter.STATE_ON){
blue.disable();
msg.setText("Bluetooth is OFF");
}
}
else{
blue.enable();
msg.setText("Bluetooth is ON");
}
}
});
}
}
Simple Calculator

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


<AbsoluteLayout 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/num1"
android:layout_width="304dp"
android:layout_height="wrap_content"
android:hint="Enter Num 1"
android:inputType="number" />

<EditText
android:id="@+id/num2"
android:layout_width="304dp"
android:layout_height="wrap_content"
android:hint="Enter Num 2"
android:inputType="number" />

<Button
android:id="@+id/btsub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="270dp"
android:layout_y="387dp"
android:text="SUB" />

<Button
android:id="@+id/btdiv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DIV" />

<Button
android:id="@+id/btmul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MUL" />

<Button
android:id="@+id/btadd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ADD" />

<EditText
android:id="@+id/result"
android:layout_width="304dp"
android:layout_height="wrap_content"
android:layout_x="55dp"
android:layout_y="309dp"
android:inputType="number" />

</AbsoluteLayout>
MainActivity.java
package com.example.calculator;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

EditText n1 = (EditText)findViewById(R.id.num1);
EditText n2 = (EditText)findViewById(R.id.num2);
res = (EditText)findViewById(R.id.result);
Button add = (Button)findViewById(R.id.btadd);
Button sub = (Button)findViewById(R.id.btsub);
Button mul = (Button)findViewById(R.id.btmul);
Button div = (Button)findViewById(R.id.btdiv);

add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int r = Integer.parseInt(n1.getText().toString()) +
Integer.parseInt(n2.getText().toString());
res.setText(String.valueOf(r));
}
});

sub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int r = Integer.parseInt(n1.getText().toString()) –
Integer.parseInt(n2.getText().toString());
res.setText(String.valueOf(r));
}
});

mul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int r = Integer.parseInt(n1.getText().toString()) *
Integer.parseInt(n2.getText().toString());
res.setText(String.valueOf(r));
}
});

div.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int r = Integer.parseInt(n1.getText().toString()) /
Integer.parseInt(n2.getText().toString());
res.setText(String.valueOf(r));
}
});
}
}
Practical No 10
Social Network Login
<?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"
tools:context=".MainActivity"
android:background="@drawable/bgimg">

<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:fontFamily="cursive"
android:text="Login"
android:textAlignment="center"
android:textColor="#39000000"
android:textSize="60sp" />

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Username"
android:textColor="#FFFFFF"
android:layout_marginHorizontal="20dp"
android:layout_marginTop="40dp" />

<EditText
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginHorizontal="30dp"
android:textColor="#fff"
android:background="#2C000000" />

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Password"
android:textColor="#FFFFFF"
android:layout_marginHorizontal="20dp"
android:layout_marginTop="20dp" />

<EditText
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginHorizontal="30dp"
android:textColor="#fff"
android:background="#2C000000"
android:inputType="textPassword"/>

<Button
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="Login"
android:background="#BFFFFFFF"
android:layout_marginHorizontal="30dp"
android:layout_marginTop="40dp" />
</LinearLayout>
Student Registration Login Form
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:layout_margin="20dp"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enrollment No"/>

<EditText
android:layout_marginVertical="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="text" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password"/>

<EditText
android:layout_marginVertical="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword" />

<Button
android:layout_marginVertical="10dp"
android:layout_width="match_parent"
android:background="#16A5DD"
android:textColor="#fff"
android:layout_height="60dp"
android:text="Login" />

<Button
android:layout_marginVertical="10dp"
android:layout_width="match_parent"
android:textColor="#fff"
android:background="#F31051"
android:layout_height="60dp"
android:text="Register" />

</LinearLayout>
Practical No 11
CheckBox Toast
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:layout_margin="80dp"
android:layout_height="match_parent"
tools:context=".MainActivity">

<CheckBox
android:id="@+id/cb_c"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="C"
android:layout_marginVertical="10dp"
android:onClick="show"/>

<CheckBox
android:id="@+id/cb_cpp"
android:layout_marginVertical="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="C++"
android:onClick="show"/>

<CheckBox
android:layout_marginVertical="10dp"
android:id="@+id/cb_java"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Java"
android:onClick="show"/>

<CheckBox
android:layout_marginVertical="10dp"
android:id="@+id/cb_py"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Python"
android:onClick="show"/>

<CheckBox
android:layout_marginVertical="10dp"
android:id="@+id/cb_php"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="PHP"
android:onClick="show"/>
</LinearLayout>
MainActivity.java
package com.example.exp11checkbox;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


CheckBox c, cpp, java, php, py;
String str = new String();

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

c = findViewById(R.id.cb_c);
cpp = findViewById(R.id.cb_cpp);
java = findViewById(R.id.cb_java);
php = findViewById(R.id.cb_php);
py = findViewById(R.id.cb_py);
}

public void show(View view) {


if(c.isChecked()){
str += " C ";
}
if(cpp.isChecked()) {
str += " C++ ";
}
if(java.isChecked()){
str += " Java ";
}
if(py.isChecked()){
str += " Python ";
}
if(php.isChecked()){
str += " PHP ";
}
Toast.makeText(getApplicationContext(),str,Toast.LENGTH_LONG).show();
str = "";
}
}
Practical No 12
Radio Button
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_x="-2dp"
android:layout_y="51dp"
android:text="Single Radio Button" />

<RadioButton
android:id="@+id/rb1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_x="2dp"
android:layout_y="93dp"
android:text="Radio Button 1" />

<RadioButton
android:id="@+id/rb2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_x="6dp"
android:layout_y="139dp"
android:text="Radio Button 2" />

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_x="-2dp"
android:layout_y="51dp"
android:text="Radio Button inside RadioGroup"
android:textAlignment="center" />

<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<RadioButton
android:id="@+id/grpMale"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Male" />

<RadioButton
android:id="@+id/grpFemale"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Female" />
</RadioGroup>

<Button
android:layout_width="wrap_content"
android:id="@+id/btn"
android:layout_margin="70dp"
android:layout_height="wrap_content"
android:text="SHOW Selected" />

</LinearLayout>
MainActivty.java
package com.example.exp12radio;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


RadioButton r1, r2, male, female;
Button btn;
String str = new String();

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

r1 = findViewById(R.id.rb1);
r2 = findViewById(R.id.rb2);
male = findViewById(R.id.grpMale);
female = findViewById(R.id.grpFemale);
btn = findViewById(R.id.btn);

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (r1.isChecked())
str += "\nRadio Button 1";
if (r2.isChecked())
str += "\nRadio Button 2";
if (male.isChecked())
str += "\nMale";
if (female.isChecked())
str += "\nFemale";
Toast.makeText(getApplicationContext(), str+" \n Are
Checked",Toast.LENGTH_LONG).show();
str = "";

}
});
}
}
Practical No 13

Circular Progressbar
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout 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">

<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="184dp"
android:layout_y="176dp" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="179dp"
android:layout_y="115dp"
android:text="Circular Progress Bar" />

</AbsoluteLayout>
Progressbar Dialog
Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
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_x="147dp"
android:layout_y="319dp"
android:text="Download File" />
</AbsoluteLayout>

MainActivity.java
import android.app.ProgressDialog;
import android.os.Handler;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
int progress = 0;
Handler progressHandler = new Handler();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ProgressDialog bar = new ProgressDialog(v.getContext());
bar.setMessage("File Downloading...");
bar.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
bar.setProgress(0);
bar.setMax(100);
bar.show();
new Thread(new Runnable() {
public void run() {
while (progress < 100){
progress++;
try{
Thread.sleep(500);
}catch (Exception e){e.printStackTrace();}

progressHandler.post(new Runnable() {
public void run() {
bar.setProgress(progress);
}
});
}
bar.dismiss();
}
}).start();
}
});
}
}
Practical No 14

ListView
<?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">

<ListView
android:id="@+id/lang"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp" />
</RelativeLayout>

MainActivity.java
package com.example.listviewshow;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.List;

public class MainActivity extends AppCompatActivity {


ListView list ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = (ListView)findViewById(R.id.lang);
String prog[] = new String[]{
"Android","Java","Php","Hadoop","Sap","Python",
"Ajax","C++","Ruby","Rails",".Net"
};
List<String> langlist = new ArrayList<String>(Arrays.asList(prog));
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1 ,langlist);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<> parent, View view, int position, long id)
{
Toast.makeText(getApplicationContext(),
list.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show();
}
});
}
}
ImageView Change

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


<AbsoluteLayout 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">

<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="251dp"
android:layout_x="0dp"
android:layout_y="101dp"
android:src="@drawable/i2" />

<Button
android:id="@+id/btn"
android:layout_width="149dp"
android:layout_height="60dp"
android:layout_x="147dp"
android:layout_y="426dp"
android:text="Change Image" />
</AbsoluteLayout>

MainActivity.java
package com.example.imagechange;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {


boolean i = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView img = (ImageView)findViewById(R.id.imageView);
final Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(i){
img.setImageResource(R.drawable.i1);
i = false;
}
else{
img.setImageResource(R.drawable.i2);
i = true;
}
}
});
}
}
Vertical Scroll view

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


<AbsoluteLayout 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">

<ScrollView
android:layout_width="match_parent"
android:layout_height="297dp"
android:layout_x="0dp"
android:layout_y="213dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30dp"
android:text="TextView" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="300dp"
android:text="TextView" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="300dp"
android:text="TextView" />
</LinearLayout>
</ScrollView>

</AbsoluteLayout>
Practical No 15
Toast Message
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
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_x="10dp"
android:layout_y="9dp"
android:text="Hello World, Toast Example"/>

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="13dp"
android:layout_y="36dp"
android:text="Show Toast" />

</AbsoluteLayout>

Customtoast.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#000"
android:padding="10dp"
android:id="@+id/custtoast">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Message for you :"
android:textSize="30sp"
android:textColor="#fff"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="You have got mail?"
android:textSize="20sp"
android:textColor="#fff"/>

</LinearLayout>
MainActivity.java
package com.example.customtoast;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

Button bt = (Button)findViewById(R.id.button);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater li = getLayoutInflater();
View layout = li.inflate(R.layout.customtoast,
(ViewGroup)findViewById(R.id.custtoast));
Toast toast = new Toast(getApplicationContext());
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL,0,0);
toast.show();
}
});
}
}
Checkbox Order Toast
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout 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">

<CheckBox
android:id="@+id/cPizza"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="180dp"
android:layout_y="116dp"
android:text="Pizza" />

<CheckBox
android:id="@+id/cBurger"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="180dp"
android:layout_y="255dp"
android:text="Burger" />

<CheckBox
android:id="@+id/cCoffee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="180dp"
android:layout_y="183dp"
android:text="Coffee" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="168dp"
android:layout_y="386dp"
android:text="order" />

</AbsoluteLayout>
MainActivity.java
package com.example.checkboxtoast;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


int total, priceP = 0, priceC = 0, priceB = 0;
boolean p = false,c = false,b = false;
String str = "Selected Items:";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final CheckBox pizza = (CheckBox)findViewById(R.id.cPizza);


final CheckBox coffee = (CheckBox)findViewById(R.id.cCoffee);
final CheckBox burger = (CheckBox)findViewById(R.id.cBurger);
Button btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(pizza.isChecked()){
priceP = 100;
str += "\nPizza : "+priceP+" RS";
}
if(coffee.isChecked()){
priceC = 50;
str += "\nCoffee : "+priceC+" RS";
}
if(burger.isChecked()){
priceB = 120;
str += "\nBurger : "+priceB+" RS";
}

total = priceB + priceC + priceP;


str += "\n\nTotal "+total;
Toast.makeText(getApplicationContext(),str,Toast.LENGTH_LONG).show();
priceP = priceC = priceB = 0;
str = "Selected Items :";
}
});
}
}
Practical No 16
1.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:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button1"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="36dp"
android:layout_marginLeft="36dp"
android:layout_marginBottom="34dp"
android:text="" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:text="Change Time" />

<TimePicker
android:id="@+id/timePicker"
android:layout_width="390dp"
android:layout_height="446dp"
android:layout_above="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="35dp" />
</RelativeLayout>
Mainactivity.java
package com.example.timepicker;

import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

TextView textview1;
TimePicker timepicker;
Button changetime;

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

textview1=(TextView)findViewById(R.id.textView1);
timepicker=(TimePicker)findViewById(R.id.timePicker);
//Uncomment the below line of code for 24 hour view
timepicker.setIs24HourView(true);
changetime=(Button)findViewById(R.id.button1);

textview1.setText(getCurrentTime());

changetime.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
textview1.setText(getCurrentTime());
}
});

public String getCurrentTime(){


String currentTime="Current Time:
"+timepicker.getCurrentHour()+":"+timepicker.getCurrentMinute();
return currentTime;
}

}
Practical No 16
2. Select date and time

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


<AbsoluteLayout 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/timeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="34dp"
android:layout_y="297dp"
android:ems="10"
android:inputType="text" />

<Button
android:id="@+id/timebtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="279dp"
android:layout_y="292dp"
android:text="Select Time" />

<EditText
android:id="@+id/dateText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="34dp"
android:layout_y="199dp"
android:ems="10"
android:inputType="text" />

<Button
android:id="@+id/datebtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="279dp"
android:layout_y="194dp"
android:text="Select Date" />

</AbsoluteLayout>
MainActivity.java
package com.example.timepicker;

import androidx.appcompat.app.AppCompatActivity;
import android.app.DatePickerDialog;
import android.app.DialogFragment;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.widget.TimePicker;

public class MainActivity extends AppCompatActivity implements


DatePickerDialog.OnDateSetListener{
int mYear, mMonth, mDay, mHour, mMin;
EditText txtdate, txttime;

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

txtdate = (EditText)findViewById(R.id.dateText);
txttime = (EditText)findViewById(R.id.timeText);
Button btdate = (Button)findViewById(R.id.datebtn);
Button bttime = (Button)findViewById(R.id.timebtn);

btdate.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
showDatePickerDialog();
}
});

bttime.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getFragmentManager(),"TimePicker");
}
});
}

private void showDatePickerDialog() {


DatePickerDialog datePickerDialog = new DatePickerDialog(this, this,
Calendar.getInstance().get(Calendar.YEAR),
Calendar.getInstance().get(Calendar.MONTH),
Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
datePickerDialog.show();
}

@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
month = month + 1;
String date = dayOfMonth + "-" + month + "-" + year;
txtdate.setText(date);
}
}
TimePickerFragment.java
package com.example.timepicker;

import android.app.TimePickerDialog;
import android.os.Bundle;
import android.app.Fragment;
import android.text.format.DateFormat;
import android.widget.EditText;
import android.widget.TextView;
import android.app.DialogFragment;
import android.app.Dialog;
import java.util.Calendar;
import android.widget.TimePicker;

public class TimePickerFragment extends DialogFragment implements


TimePickerDialog.OnTimeSetListener{

@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()));
}

public void onTimeSet(TimePicker view, int hourOfDay, int minute){


EditText tv = (EditText) getActivity().findViewById(R.id.timeText);
tv.setText(String.valueOf(hourOfDay) + " : " + String.valueOf(minute));
}
}
Practical No 17
Mainactivity.java
package com.example.activitylifecycle;

import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.util.Log;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("lifecycle","onCreate invoked");
}
@Override
protected void onStart() {
super.onStart();
Log.d("lifecycle","onStart invoked");
}
@Override
protected void onResume() {
super.onResume();
Log.d("lifecycle","onResume invoked");
}
@Override
protected void onPause() {
super.onPause();
Log.d("lifecycle","onPause invoked");
}
@Override
protected void onStop() {
super.onStop();
Log.d("lifecycle","onStop invoked");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("lifecycle","onRestart invoked");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("lifecycle","onDestroy invoked");
}
}

Logcat
Practical No 18
1. Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout

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

<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="60dp"
android:ems="10"/>

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="8dp"
android:layout_marginLeft="156dp"
android:layout_marginTop="172dp"
android:text="Visit"/>
</androidx.constraintlayout.widget.ConstraintLayout>

Mainactivity.java
package com.example.navigate;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.net.Uri;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

Button button;
EditText editText;

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

button = findViewById(R.id.button);
editText = findViewById(R.id.editText);

button.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View view) {
String url=editText.getText().toString();
Intent intent=new
Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
}
});
}
}
2. Dialer
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/btn_do_task"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Dialer" />
</LinearLayout>

Mainactivity.java
package com.example.opendialer;

import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.widget.Button;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {


private Context mContext;
private Activity mActivity;
private LinearLayout mRootLayout;
private Button mBtnDoTask;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mContext = getApplicationContext();
mActivity = MainActivity.this;
mRootLayout = findViewById(R.id.root_layout);
mBtnDoTask = findViewById(R.id.btn_do_task);
mBtnDoTask.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View view) {
openDialer();
}
});
}

protected void openDialer(){


Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + "+919545878586"));
startActivity(intent);
}
}
Practical No 19
Content Provider
MainActivity.java
package com.example.MyApplication;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.content.CursorLoader;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClickAddName(View view) {
ContentValues values = new ContentValues();
values.put(StudentsProvider.NAME,
((EditText)findViewById(R.id.editText2)).getText().toString());
values.put(StudentsProvider.GRADE,
((EditText)findViewById(R.id.editText3)).getText().toString());
Uri uri = getContentResolver().insert(
StudentsProvider.CONTENT_URI, values);
Toast.makeText(getBaseContext(),
uri.toString(), Toast.LENGTH_LONG).show();
}
public void onClickRetrieveStudents(View view) {
String URL = "content://com.example.MyApplication.StudentsProvider";
Uri students = Uri.parse(URL);
Cursor c = managedQuery(students, null, null, null, "name");
if (c.moveToFirst()) {
do{
Toast.makeText(this,
c.getString(c.getColumnIndex(StudentsProvider._ID)) +
", " + c.getString(c.getColumnIndex( StudentsProvider.NAME)) +
", " + c.getString(c.getColumnIndex( StudentsProvider.GRADE)),
Toast.LENGTH_SHORT).show();
} while (c.moveToNext());
}
}
}

StudentsProvider.java
package com.example.MyApplication;
import java.util.HashMap;
import android.content.UriMatcher;
import android.database.SQLException;

public class StudentsProvider extends ContentProvider {


static final String PROVIDER_NAME = "com.example.MyApplication.StudentsProvider";
static final String URL = "content://" + PROVIDER_NAME + "/students";
static final Uri CONTENT_URI = Uri.parse(URL);
static final String _ID = "_id";
static final String NAME = "name";
static final String GRADE = "grade";
private static HashMap<String, String> STUDENTS_PROJECTION_MAP;
static final int STUDENTS = 1;
static final int STUDENT_ID = 2;
static final UriMatcher uriMatcher;
static{
uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
uriMatcher.addURI(PROVIDER_NAME, "students", STUDENTS);
uriMatcher.addURI(PROVIDER_NAME, "students/#", STUDENT_ID);
}
private SQLiteDatabase db;
static final String DATABASE_NAME = "College";
static final String STUDENTS_TABLE_NAME = "students";
static final int DATABASE_VERSION = 1;
static final String CREATE_DB_TABLE =
" CREATE TABLE " + STUDENTS_TABLE_NAME +
" (_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
" name TEXT NOT NULL, " +
" grade TEXT NOT NULL);";
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_DB_TABLE);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + STUDENTS_TABLE_NAME);
onCreate(db);
}
}
public boolean onCreate() {
Context context = getContext();
DatabaseHelper dbHelper = new DatabaseHelper(context);
db = dbHelper.getWritableDatabase();
return (db == null)? false:true;
}

@Override
public Uri insert(Uri uri, ContentValues values) {
long rowID = db.insert( STUDENTS_TABLE_NAME, "", values);
if (rowID > 0) {
Uri _uri = ContentUris.withAppendedId(CONTENT_URI, rowID);
getContext().getContentResolver().notifyChange(_uri, null);
return _uri;
}
throw new SQLException("Failed to add a record into " + uri);
}

@Override
public Cursor query(Uri uri, String[] projection,
String selection,String[] selectionArgs, String sortOrder) {
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
qb.setTables(STUDENTS_TABLE_NAME);
switch (uriMatcher.match(uri)) {
case STUDENTS:
qb.setProjectionMap(STUDENTS_PROJECTION_MAP);
break;
case STUDENT_ID:
qb.appendWhere( _ID + "=" + uri.getPathSegments().get(1));
break;
}
c.setNotificationUri(getContext().getContentResolver(), uri);
return c;
}

@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
int count = 0;
switch (uriMatcher.match(uri)){
case STUDENTS:
count = db.delete(STUDENTS_TABLE_NAME, selection, selectionArgs);
break;

case STUDENT_ID:
String id = uri.getPathSegments().get(1);
count = db.delete( STUDENTS_TABLE_NAME, _ID + " = " + id +
(!TextUtils.isEmpty(selection) ? "
AND (" + selection + ')' : ""), selectionArgs);
break;
default:
throw new IllegalArgumentException("Unknown URI " + uri);
}

getContext().getContentResolver().notifyChange(uri, null);
return count;
}

@Override
public int update(Uri uri, ContentValues values,
String selection, String[] selectionArgs) {
int count = 0;
switch (uriMatcher.match(uri)) {
case STUDENTS:
count = db.update(STUDENTS_TABLE_NAME, values, selection, selectionArgs);
break;

case STUDENT_ID:
count = db.update(STUDENTS_TABLE_NAME, values,
_ID + " = " + uri.getPathSegments().get(1) +
(!TextUtils.isEmpty(selection) ? "
AND (" +selection + ')' : ""), selectionArgs);
break;
default:
throw new IllegalArgumentException("Unknown URI " + uri );
}
getContext().getContentResolver().notifyChange(uri, null);
return count;
}

@Override
public String getType(Uri uri) {
switch (uriMatcher.match(uri)){
case STUDENTS:
return "vnd.android.cursor.dir/vnd.example.students";
case STUDENT_ID:
return "vnd.android.cursor.item/vnd.example.students";
default:
throw new IllegalArgumentException("Unsupported URI: " + uri);
}
}
}

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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.MyApplication.MainActivity">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Content provider"/>

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point "/>

<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/abc"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:text="Add Name"
android:onClick="onClickAddName"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText2"
android:hint="Name"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Retrive student"
android:id="@+id/button"/>
</RelativeLayout>

Output
Practical No 20
WiFi start
Activity_main.xml
<RelativeLayout xmlns:androclass="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/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enable Wifi" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Disable Wifi" />
</RelativeLayout>

MainActivity.java
package com.example.wifi;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button enableButton,disableButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
enableButton=(Button)findViewById(R.id.button1);
disableButton=(Button)findViewById(R.id.button2);
enableButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(true); } });
disableButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false);}); }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;}}
Practical No 21
MainActivity.java
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void broadcastIntent(View view){
Intent intent = new Intent();
intent.setAction("com.tutorialspoint.CUSTOM_INTENT"); sendBroadcast(intent);
}
}

MyReceiver.java
package com.example.tutorialspoint7.myapplication;
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Intent Detected.", Toast.LENGTH_LONG).show();
}
}

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tutorialspoint7.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
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>
<receiver android:name="MyReceiver">
<intent-filter>
<action android:name="com.tutorialspoint.CUSTOM_INTENT">
</action>
</intent-filter>
</receiver>
</application>
</manifest>
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"
tools:context=".MainActivity">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content" Output
android:layout_height="wrap_content"
android:text="Example of Broadcast"/>

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point "
/>

<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/abc"
/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:text="Broadcast Intent"
android:onClick="broadcastIntent"
/>

</RelativeLayout>


Practical No 22
1. Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
/>

Mainactivity.java
package com.example.changebackgroundcolor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorListener;
import android.hardware.SensorManager;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity implements


SensorEventListener {
ConstraintLayout lay;
SensorManager sm;
Sensor mysenser;
long lastUpdate;
float x,y,z,last_x,last_y,last_z;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lay = (ConstraintLayout)findViewById(R.id.layout);
sm = (SensorManager)getSystemService(SENSOR_SERVICE);
mysenser = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sm.registerListener(this, mysenser, SensorManager.SENSOR_DELAY_GAME);
}

public void onSensorChanged(SensorEvent event) {


long curTime = System.currentTimeMillis();
if((curTime - lastUpdate) > 100){
long diffTime = (curTime - lastUpdate);
lastUpdate = curTime;

x = event.values[0];
y = event.values[1];
z = event.values[2];

float speed = Math.abs(x+y+z - last_x - last_y - last_z) / diffTime * 10000;


if(speed > 1200){
Random rnd = new Random();
int color = Color.rgb(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
lay.setBackgroundColor(color);
}
last_x = x;
last_y = y;
last_z = z;
}
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
2. 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:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Sensor "
android:textSize="35dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView2"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />

</RelativeLayout>

Strings.xml
<resources>
<string name="app_name">Sensor</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>
MainActivity.java
package com.example.sensor;

import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import java.util.List;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

TextView tv1=null;
private SensorManager mSensorManager;

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

tv1 = (TextView) findViewById(R.id.textView2);


tv1.setVisibility(View.GONE);

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);


List<Sensor> mList= mSensorManager.getSensorList(Sensor.TYPE_ALL);

for (int i = 1; i < mList.size(); i++) {


tv1.setVisibility(View.VISIBLE);
tv1.append("\n" + mList.get(i).getName() + "\n" + mList.get(i).getVendor() + "\n" +
mList.get(i).getVersion());
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_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);
}
}
Practical No 23
1. Image Capture
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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">

<ImageView
android:id="@+id/imageView"
android:layout_width="320dp"
android:layout_height="382dp"/>

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Capture"/>

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java
package com.example.cameracapture;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {


Button btn;
ImageView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

btn = (Button)findViewById(R.id.button);
show = (ImageView)findViewById(R.id.imageView);

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent c = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(c, 1);
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if(requestCode == 1){
Bitmap photo = (Bitmap)data.getExtras().get("data");
show.setImageBitmap(photo);
}
}
}
Practical No 24
Bluetooth
Activity_main.xml

MainActivity.java
Practical No 25
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout 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">

<ImageView Fade_in.xml
android:id="@+id/imageView"
android:layout_width="286dp" <?xml version="1.0" encoding="utf-8"?>
android:layout_height="240dp" <set
android:layout_x="63dp" xmlns:android="http://schemas.android.co
android:layout_y="79dp" m/apk/res/android">
android:src="@drawable/bgimg" /> <alpha
android:duration="2000"
<Button android:fromAlpha="0.1"
android:id="@+id/zoomin" android:toAlpha="1.0" />
</set>
android:layout_width="153dp"
android:layout_height="wrap_content"
android:layout_x="42dp"
android:layout_y="454dp"
android:text="Zoom In" />
Fade_out.xml
<Button
android:id="@+id/zoomout" <?xml version="1.0" encoding="utf-8"?>
android:layout_width="158dp" <set
android:layout_height="wrap_content" xmlns:android="http://schemas.android.co
android:layout_x="218dp" m/apk/res/android">
android:layout_y="454dp" <alpha
android:text="Zoom Out" /> android:duration="2000"
android:fromAlpha="1.0"
<Button android:toAlpha="0.1" />
android:id="@+id/rotateC" </set>
android:layout_width="153dp"
android:layout_height="wrap_content"
android:layout_x="43dp"
android:layout_y="516dp"
android:text="Clockvise" />

<Button
android:id="@+id/fadein"
android:layout_width="153dp"
android:layout_height="wrap_content"
android:layout_x="45dp"
android:layout_y="581dp"
android:text="Fade In" />

<Button
android:id="@+id/fadeout"
android:layout_width="153dp"
android:layout_height="wrap_content"
android:layout_x="221dp"
android:layout_y="581dp"
android:text="Fade OUt" />

<Button
android:id="@+id/rotateA"
android:layout_width="153dp"
android:layout_height="wrap_content"
android:layout_x="222dp"
android:layout_y="516dp"
android:text="Anti clockvise" />

</AbsoluteLayout>
MainActivity.java

import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
Button zoomIn, zoomOut, fadeIn, fadeOut, rotateClock, rotateAnti;
ImageView imageView;

protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
zoomIn = (Button)findViewById(R.id.zoomin);
zoomOut = (Button)findViewById(R.id.zoomout);
fadeIn = (Button)findViewById(R.id.fadein);
fadeOut = (Button)findViewById(R.id.fadeout);
rotateAnti = (Button)findViewById(R.id.rotateA);
rotateClock = (Button)findViewById(R.id.rotateC);
imageView = (ImageView)findViewById(R.id.imageView);
zoomIn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
imageView.setScaleX(imageView.getScaleX() + (float)0.1);
imageView.setScaleY(imageView.getScaleY() + (float)0.1);
}
});
zoomOut.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
imageView.setScaleX(imageView.getScaleX() - (float)0.1);
imageView.setScaleY(imageView.getScaleY() - (float)0.1);
}
});
rotateClock.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
imageView.setRotation((float)imageView.getRotation() + 20);
}
});
rotateAnti.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
imageView.setRotation((float)imageView.getRotation() - 20);
}
});
fadeIn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Animation aniFadein =
AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fade_in);
imageView.startAnimation(aniFadein);
}
});
fadeOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animation aniFadeout = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.fade_out);
imageView.startAnimation(aniFadeout);
}
});
}
}
Practical No 26
activity_main.xml

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

<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10pt"
android:textColor="#444444"
android:layout_alignParentLeft="true"
android:layout_marginRight="9dip"
android:layout_marginTop="20dip"
android:layout_marginLeft="10dip"
android:text="Sleep time in Seconds:"/>
<EditText
android:id="@+id/in_time"
android:layout_width="150dip"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_toRightOf="@id/tv_time"
android:layout_alignTop="@id/tv_time"
android:inputType="number"
/>
<Button
android:id="@+id/btn_run"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Run Async task"
android:layout_below="@+id/in_time"
android:layout_centerHorizontal="true"
android:layout_marginTop="64dp" />
<TextView
android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="7pt"
android:layout_below="@+id/btn_run"
android:layout_centerHorizontal="true" />
</RelativeLayout>

MainActivity.java

package com.journaldev.asynctask;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


private Button button;
private EditText time;
private TextView finalResult;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
time = (EditText) findViewById(R.id.in_time);
button = (Button) findViewById(R.id.btn_run);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AsyncTaskRunner runner = new AsyncTaskRunner();
String sleepTime = time.getText().toString();
runner.execute(sleepTime);
}
});
}

private class AsyncTaskRunner extends AsyncTask<String, String, String> {


private String resp;
ProgressDialog progressDialog;

@Override
protected String doInBackground(String... params) {
publishProgress("Sleeping..."); // Calls onProgressUpdate()
try {
int time = Integer.parseInt(params[0])*1000;

Thread.sleep(time);
resp = "Slept for " + params[0] + " seconds";
} catch (InterruptedException e) {
e.printStackTrace();
resp = e.getMessage();
} catch (Exception e) {
e.printStackTrace();
resp = e.getMessage();
}
return resp;
}

@Override
protected void onPostExecute(String result) {
// execution of result of Long time consuming operation
progressDialog.dismiss();
finalResult.setText(result); }

@Override
protected void onProgressUpdate(String... text) {
finalResult.setText(text[0]);

}
}
}
Practical No 27

1.Login Form with Toast Message


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:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Authentication Required"/>

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username:" />

<EditText
android:id="@+id/usernameET"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:" />

<EditText
android:id="@+id/passwordET"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="testpass"
android:inputType="textPassword" />

<Button
android:id="@+id/loginBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/passwordET"
android:layout_centerHorizontal="true"
android:layout_marginTop="94dp"
android:onClick="authenticateLogin"
android:text="Login"
tools:ignore="OnClick" />

</RelativeLayout>
MainActivity.java
package com.example.loginformwithtoastmessage;

import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

private EditText username;


private EditText password;
private Button login;

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

setupVariables();
}

public void authenticateLogin(View view) {


if (username.getText().toString().equals("admin") &&
password.getText().toString().equals("admin123")) {
Toast.makeText(getApplicationContext(), "Login Successful!",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Login Unsuccessful!",
Toast.LENGTH_SHORT).show();
}
}

private void setupVariables() {


username = (EditText) findViewById(R.id.usernameET);
password = (EditText) findViewById(R.id.passwordET);
login = (Button) findViewById(R.id.loginBtn);
}

}
Practical No 28
Login form With Validation
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:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Authentication Required"/>

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username:" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:" />

<EditText
android:id="@+id/passwordET"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="testpass"
android:inputType="textPassword" />

<TextView
android:id="@+id/attemptsLeftTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Attempts Left:" />

<Button
android:id="@+id/loginBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="authenticateLogin"
android:text="Login" />

<TextView
android:id="@+id/numberOfRemainingLoginAttemptsTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<TextView
android:id="@+id/loginLockedTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible" />

</RelativeLayout>
MainActivity.java
package com.example.loginvalidate;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

private EditText username;


private EditText password;
private Button login;
private TextView loginLockedTV;
private TextView attemptsLeftTV;
private TextView numberOfRemainingLoginAttemptsTV;
int numberOfRemainingLoginAttempts = 3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username = (EditText) findViewById(R.id.usernameET);
password = (EditText) findViewById(R.id.passwordET);
login = (Button) findViewById(R.id.loginBtn);
loginLockedTV = (TextView) findViewById(R.id.loginLockedTV);
attemptsLeftTV = (TextView) findViewById(R.id.attemptsLeftTV);
numberOfRemainingLoginAttemptsTV = (TextView)
findViewById(R.id.numberOfRemainingLoginAttemptsTV);
numberOfRemainingLoginAttemptsTV.setText(Integer.toString(numberOfRemainingLoginAttempts));
}

public void authenticateLogin(View view) {


if (username.getText().toString().equals("admin") &&
password.getText().toString().equals("admin")) {
Toast.makeText(getApplicationContext(), "Login Successful!",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Login Unsuccessful!",
Toast.LENGTH_SHORT).show();
numberOfRemainingLoginAttempts--;
attemptsLeftTV.setVisibility(View.VISIBLE);
numberOfRemainingLoginAttemptsTV.setVisibility(View.VISIBLE);

numberOfRemainingLoginAttemptsTV.setText(Integer.toString(numberOfRemainingLoginAttempts));

if (numberOfRemainingLoginAttempts == 0) {
login.setEnabled(false);
loginLockedTV.setVisibility(View.VISIBLE);
loginLockedTV.setBackgroundColor(Color.RED);
loginLockedTV.setText("LOGIN LOCKED!!!");
}
}
}
}
Practical No 29
MainActivity.java.
package com.example.tutorialspoint;

import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {


private static final int MY_PERMISSIONS_REQUEST_SEND_SMS =0 ;
Button sendBtn;
String phoneNo;
String message;

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

sendBtn = (Button) findViewById(R.id.btnSendSMS);


txtphoneNo = (EditText) findViewById(R.id.editText);
txtMessage = (EditText) findViewById(R.id.editText2);

sendBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
sendSMSMessage();
}
});
}

protected void sendSMSMessage() {


phoneNo = txtphoneNo.getText().toString();
message = txtMessage.getText().toString();

if (ContextCompat.checkSelfPermission(this,
Manifest.permission.SEND_SMS)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.SEND_SMS)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.SEND_SMS},
MY_PERMISSIONS_REQUEST_SEND_SMS);
}
}
}

@Override
public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_SEND_SMS: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, message, null, null);
Toast.makeText(getApplicationContext(), "SMS sent.",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),
"SMS faild, please try again.", Toast.LENGTH_LONG).show();
return;
}
}
}
}
}

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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="MainActivity">

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sending SMS Example"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="30dp" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point "
android:textColor="#ff87ff09"
android:textSize="30dp"
android:layout_below="@+id/textView1"
android:layout_alignRight="@+id/imageButton"
android:layout_alignEnd="@+id/imageButton" />

<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageButton"
android:src="@drawable/abc"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:hint="Enter Phone Number"
android:phoneNumber="true"
android:textColorHint="@color/abc_primary_text_material_dark"
android:layout_below="@+id/imageButton"
android:layout_centerHorizontal="true" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText2"
android:layout_below="@+id/editText"
android:layout_alignLeft="@+id/editText"
android:layout_alignStart="@+id/editText"
android:textColorHint="@color/abc_primary_text_material_dark"
android:layout_alignRight="@+id/imageButton"
android:layout_alignEnd="@+id/imageButton"
android:hint="Enter SMS" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send Sms"
android:id="@+id/btnSendSMS"
android:layout_below="@+id/editText2"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp" />
</RelativeLayout>

AndroidManifest.xml –
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tutorialspoint" >
<uses-permission android:name="android.permission.SEND_SMS" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.tutorialspoint.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Practical No 30
Send email
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/txtTo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="To" />
<EditText
android:id="@+id/txtSub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Subject"/>
<EditText
android:id="@+id/txtMsg"
android:layout_width="match_parent"
android:layout_height="0dp"
android:hint="Message"/>
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="Send"
android:id="@+id/btnSend"/>

</LinearLayout>

Mainactivity.java
package com.example.sendemail;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.view.View;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eTo = (EditText)findViewById(R.id.txtTo);
eSubject = (EditText)findViewById(R.id.txtSub);
eMsg = (EditText)findViewById(R.id.txtMsg);
btn = (Button)findViewById(R.id.btnSend);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_EMAIL, new String[]{eTo.getText().toString()});
it.putExtra(Intent.EXTRA_SUBJECT,eSubject.getText().toString());
it.putExtra(Intent.EXTRA_TEXT,eMsg.getText());
it.setType("message/rfc822");
startActivity(Intent.createChooser(it,"Choose Mail App"));
}
});
}
}
Practical No 31
MapsActivity.java
package example.com.mapexample;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback, Locati
onListener,GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener{
private GoogleMap mMap;
Location mLastLocation;
Marker mCurrLocationMarker;
GoogleApiClient mGoogleApiClient;
LocationRequest mLocationRequest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager(
)
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true); } }
else {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
} }
protected synchronized void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API).build();
mGoogleApiClient.connect();
}
@Override
public void onConnected(Bundle bundle) {
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(1000);
mLocationRequest.setFastestInterval(1000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCUR
ACY);
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocati
onRequest, this);
}

}
@Override
public void onConnectionSuspended(int i) {
}
@Override
public void onLocationChanged(Location location) {
mLastLocation = location;
if (mCurrLocationMarker != null) {
mCurrLocationMarker.remove();
}
//Place current location marker
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title("Current Position");
markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE
_GREEN));
mCurrLocationMarker = mMap.addMarker(markerOptions);
//move map camera
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(11));
//stop location updates
if (mGoogleApiClient != null) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
}}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
}

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.com.mapexample">
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
location permissions for the 'MyLocation' functionality.
-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-p
ermission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<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">
<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the APK.
You need a different API key for each encryption key, including the release key that is use
d to
sign the APK for publishing.
You can define the keys for the debug and release targets in src/debug/ and src/release/.
-->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Output
Practical No 32
MainActivity.Java
package com.example.mapdirectiondemo;

import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.PolylineOptions;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {


private GoogleMap mMap;
MarkerOptions origin, destination;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
destination = new MarkerOptions().position(new LatLng(12.9304,
77.6784)).title("Bellandur").snippet("destination");
String url = getDirectionsUrl(origin.getPosition(), destination.getPosition());
DownloadTask downloadTask = new DownloadTask();
downloadTask.execute(url);
}

@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.addMarker(origin);
mMap.addMarker(destination);
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(origin.getPosition(), 10));
}

private class DownloadTask extends AsyncTask<String, Void, String> {


@Override
protected String doInBackground(String... url) {
String data = "";
try {
data = downloadUrl(url[0]);
} catch (Exception e) {
Log.d("Background Task", e.toString());
}
return data;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
ParserTask parserTask = new ParserTask();
parserTask.execute(result);
}
}
private class ParserTask extends AsyncTask<String, Integer, List<List<HashMap<String, String>>>> {
@Override
protected List<List<HashMap<String, String>>> doInBackground(String... jsonData) {
JSONObject jObject;
List<List<HashMap<String, String>>> routes = null;
try {
jObject = new JSONObject(jsonData[0]);
DirectionsJSONParser parser = new DirectionsJSONParser();
routes = parser.parse(jObject);
} catch (Exception e) {
e.printStackTrace();
}
return routes;
}

@Override
protected void onPostExecute(List<List<HashMap<String,
String>>> result) {
ArrayList points = new ArrayList();
PolylineOptions lineOptions = new PolylineOptions();
for (int i = 0; i < result.size(); i++) {
List<HashMap<String, String>> path = result.get(i);
for (int j = 0; j < path.size(); j++) {
HashMap<String, String> point = path.get(j);
double lat = Double.parseDouble(point.get("lat"));
double lng = Double.parseDouble(point.get("lng"));
LatLng position = new LatLng(lat, lng);
points.add(position);
}
lineOptions.addAll(points);
lineOptions.width(12);
lineOptions.color(Color.RED);
lineOptions.geodesic(true);
}
if (points.size() != 0)
mMap.addPolyline(lineOptions);
}
}

private String getDirectionsUrl(LatLng origin, LatLng dest) {


String str_origin = "origin=" + origin.latitude + "," + origin.longitude;
String str_dest = "destination=" + dest.latitude + "," + dest.longitude;
String mode = "mode=driving";
String parameters = str_origin + "&" + str_dest + "&" + sensor + "&" + mode;
String output = "json";
String url = "https://maps.googleapis.com/maps/api/directions/" + output + "?" + parameters + "&key=" +
"AIzaSyD_L8g3AcwXBKnEjhvLJwBXwI3L51LjQUU";

return url;
}
private String downloadUrl(String strUrl) throws IOException {
String data = "";
InputStream iStream = null;
HttpURLConnection urlConnection = null;
try {
URL url = new URL(strUrl);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
iStream = urlConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(iStream));
StringBuffer sb = new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
data = sb.toString();
br.close();
} catch (Exception e) {
Log.d("Exception", e.toString());
} finally {
iStream.close();
urlConnection.disconnect();
}
return data;
}

AndroidManifest.xml

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mapdirectiondemo">

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

<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=".MapsActivity"
android:label="@string/title_activity_maps">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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


</intent-filter>
</activity>

<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
</application>
</manifest>

You might also like