Android Programs-Converted-Ischema
Android Programs-Converted-Ischema
<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
<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
<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;
}
});
}
}
Practical No 8
Q. 1 Search Engine
Activity_main.xml
<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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activity_main.xml
<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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
• activity_main.xml
<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;
@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
<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;
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;
@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);
}
<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;
@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;
<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;
<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;
@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;
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;
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());
}
});
}
Practical No 16
2. Select date and time
<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;
@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");
}
});
}
@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;
@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);
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.util.Log;
import android.os.Bundle;
@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;
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;
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();
}
});
}
StudentsProvider.java
package com.example.MyApplication;
import java.util.HashMap;
import android.content.UriMatcher;
import android.database.SQLException;
@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;
x = event.values[0];
y = event.values[1];
z = event.values[2];
<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;
TextView tv1=null;
private SensorManager mSensorManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@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;
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;
<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;
@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);
}
});
}
@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
<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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setupVariables();
}
}
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;
@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));
}
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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
sendSMSMessage();
}
});
}
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;
@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;
@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));
}
@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);
}
}
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
<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" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
</application>
</manifest>