0% found this document useful (0 votes)
40 views11 pages

Assignment 6

The document describes developing an Android application to display a Google Map. It provides the necessary code for the AndroidManifest.xml file and MapsActivity.java file, including importing required libraries and specifying permissions for location access.

Uploaded by

Ritesh Kolate
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)
40 views11 pages

Assignment 6

The document describes developing an Android application to display a Google Map. It provides the necessary code for the AndroidManifest.xml file and MapsActivity.java file, including importing required libraries and specifying permissions for location access.

Uploaded by

Ritesh Kolate
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/ 11

Develop an application to display Google map with user's current location.

act ivity_main.xml @Override


<?xml version="1.0" encoding="utf-8"?> protected void onCreate(Bundle savedInstanceState) {
<RelativeLayout xmlns:android="http://schemas.android.com/ super.onCreate(savedInstanceState);
apk/res/android" setContentView(R.layout.activity_main);
xmlns:app="http://schemas.android.com/
apk/res-auto" fusedLocationProviderClient =
xmlns:tools="http://schemas.android.com/tools" LocationServices.getFusedLocationProviderClient(this);
android:layout_width="match_parent" fetchLastLocation();
android:layout_height="match_parent" } private void fetchLastLocation() {
tools:context=".MainActivity">
<fragment if (ActivityCompat.checkSelfPermission(this,
android:layout_width="match_parent" Manifest.permission.ACCESS_FINE_LOCATION) !=
android:layout_height="match_parent" PackageManager.PERMISSION_GRANTED &&
android:id="@+id/google_map" ActivityCompat.checkSelfPermission(this,
android:name="com.google.android.gms.maps. Manifest.permission.ACCESS_COARSE_LOCATION) !=
SupportMapFragment" /> PackageManager.PERMISSION_GRANTED) {
</RelativeLayout> ActivityCompat.requestPermissions(this,new
String[]{Manifest.permission.ACCESS_FINE_LOCATION},
REQUEST_CODE);
MainActivity.Java return;
}
package com.example.location; Task<Location> task =
import androidx.annotation.NonNull; fusedLocationProviderClient.getLastLocation();
import androidx.appcompat.app.AppCompatActivity; task.addOnSuccessListener(new
import androidx.core.app.ActivityCompat; OnSuccessListener<Location>() {
import androidx.fragment.app.FragmentActivity; @Override
import android.Manifest; public void onSuccess(Location location) {
import android.content.pm.PackageManager; if(location!=null)
import android.location.Location; {
import android.os.Bundle; currentlocation=location;
import android.widget.Toast;
mport com.google.android.gms.location.FusedLocationProviderClient; Toast.makeText(getApplicationContext(),currentlocation.
import com.google.android.gms.location.LocationServices; getLatitude()+""+current
import com.google.android.gms.maps.CameraUpdateFactory; location.getLongitude(), Toast.LENGTH_SHORT).show();
import com.google.android.gms.maps.GoogleMap; SupportMapFragment supportMapFragment =
import com.google.android.gms.maps.OnMapReadyCallback; (SupportMapFragment)getSupportFragmentManager().
import com.google.android.gms.maps.SupportMapFragment; findFragmentById(R.id.go
import com.google.android.gms.maps.model.LatLng; ogle_map);
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.tasks.OnSuccessListener; supportMapFragment.getMapAsync(MainActivity.this);
import com.google.android.gms.tasks.Task; }
public class MainActivity extends FragmentActivity implements }
OnMapReadyCallback });
{ }
Location currentlocation; FusedLocationProviderClient
fusedLocationProviderClient;
private static final int REQUEST_CODE = 101;

@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
LatLng latLng=new
LatLng(currentlocation.getLatitude(),currentlocation.getLongitude());
MarkerOptions markerOptions=new MarkerOptions().position(latLng)
.title("I am Here");
googleMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng,5));
googleMap.addMarker(markerOptions);

}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[]
permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case REQUEST_CODE:
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED) {
fetchLastLocation();
}
break;
}
}
}

Develop an android application for taking student feedback with database connectivity.

(NEXT PAGE)…
public class MainActivity extends AppCompatActivity {

private EditText txtMobile;


private EditText txtMessage;
private Button btnSms;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtMobile = (EditText)findViewById(R.id.mblTxt);
txtMessage = (EditText)findViewById(R.id.msgTxt);
btnSms = (Button)findViewById(R.id.btnSend);
btnSms.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
SmsManager smgr = SmsManager.getDefault();

smgr.sendTextMessage(txtMobile.getText().toString(),null,
txtMessage.getText().toString(),null,null);
Toast.makeText(MainActivity.this, "SMS Sent
Successfully",
Toast.LENGTH_SHORT).show();
}
catch (Exception e){
Toast.makeText(MainActivity.this, "SMS Failed
to Send, Please try again",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
public class MainActivity extends AppCompatActivity {
SmsReceiver sms= new SmsReceiver();
EditText et1,et2;
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=findViewById(R.id.etPhno);
et2=findViewById(R.id.etmsg);
b1=findViewById(R.id.btnSms);
if(ContextCompat.checkSelfPermission(MainActivity.this
,Manifest.permission.SEN
D_SMS)!=
PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(MainActivity.this,new
String[]{Manifest.permission.SEND_SMS},100);
}
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
String phno= et1.getText().toString();
String msg=et2.getText().toString();
SmsManager smsManager= SmsManager.getDefault();
smsManager.sendTextMessage(phno,null,msg,null,null);
Toast.makeText(MainActivity.this,"Sms sent successfully",
Toast.LENGTH_LONG).show();
}
catch(Exception e)
{
Toast.makeText(MainActivity.this,"Sms failed to send...
try again",
Toast.LENGTH_LONG).show();
}
}
});
}
@Override
protected void onStart() {
super.onStart();
IntentFilter filter=new
IntentFilter("android.provider.Telephony.SMS_RECEIVED");
registerReceiver(sms,filter);
}

@Override
protected void onStop() {
super.onStop();
unregisterReceiver(sms);
Develop an application to display a Google Map. (Write JAVA & Manifest file)
AndroidManifest.xml code: </intent-filter>
<?xml version="1.0" encoding="utf-8"?> </activity>
<manifest </application>
xmlns:android="http://schemas.android.com/ </manifest>
apk/res/android" code of MapsActivity.java :
package="example.com.mapexample"> package example.com.mapexample;
<!--
The ACCESS_COARSE/FINE_LOCATION import
permissions are not requir android.support.v4.app.FragmentActivity;
ed to use import android.os.Bundle;
Google Maps Android API v2, but you must import com.google.android.gms.maps.Camera
specify either coarse or fine UpdateFactory;
import
location permissions for the 'MyLocation' com.google.android.gms.maps.GoogleMap;
functionality. import com.google.android.gms.maps.
--> OnMapReadyCallback;
<uses import com.google.android.gms.maps
permission android:name="android.permission. .SupportMapFragment;
ACCESS_FINE_ import com.google.android.gms
LOCATION .maps.model.LatLng;
" /> import com.google.android.gms.maps.
<uses model.MarkerOptions;
permission
android:name="android.permission.ACCESS_ public class MapsActivity extends
COARSE_LOCAT FragmentActivity implements OnMapReadyC
ION" /> allback{
<uses-permission private GoogleMap mMap;
android:name="android.permission.INTERNET" />
<application @Override
android:allowBackup="true" protected void onCreate(Bundle
android:icon="@mipmap/ic_launcher" savedInstanceState) {
android:label="@string/app_name" super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" // Obtain the SupportMapFragment and get
android:theme="@style/AppTheme"> notified when the map is ready to be used
.
<meta-data
SupportMapFragment mapFragment =
android:name="com.google.android.geo.API_KEY" (SupportMapFragment) getSupportFragment
android:value="@string/google_maps_key" /> Manager()
.findFragmentById(R.id.map);
<activity mapFragment.getMapAsync(this);
android:name=".MapsActivity" }
android:label="@string/title_activity_maps"> @Override
<intent-filter> public void onMapReady(GoogleMap
<action googleMap) {
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER"
/>
Q)Write a program to find the direction from user's current location to MSBTE,
Bandra. (Write only Java and manitest file).
MainActivity.java private Polyline currentPolyline;
private MapFragment mapFragment;
mport android.Manifest; private boolean isFirstTime = true;
mport android.content.DialogInterface;
mport android.content.Intent; //variables for current location
mport android.content.pm.PackageManager; private static final String TAG = "MainActivity";
mport android.location.Location;
mport android.net.Uri; private TextView tvLocation;
mport android.provider.Settings; private GoogleApiClient mGoogleApiClient;
mport android.support.v4.app.ActivityCompat; private Location mLocation;
mport android.support.v7.app.AlertDialog; private LocationRequest mLocationRequest;
mport android.support.v7.app.AppCompatActivity; private com.google.android.gms.location.LocationListener
mport android.os.Bundle; listener;
mport android.util.Log; private long UPDATE_INTERVAL = 2 * 1000; /* 10 secs *
mport android.widget.Button;
mport android.widget.TextView; private long FASTEST_INTERVAL = 2000; /* 2 sec */
mport android.widget.Toast;
mport com.google.android.gms.common.ConnectionResult; @Override
mport com.google.android.gms.common.api.GoogleApiClient; protected void onCreate(Bundle savedInstanceState) {
mport com.google.android.gms.location.LocationRequest; super.onCreate(savedInstanceState);
mport com.google.android.gms.location.LocationServices; setContentView(R.layout.activity_main);
mport com.google.android.gms.maps.CameraUpdateFactory;
mport com.google.android.gms.maps.GoogleMap; //code for getting current location
mport com.google.android.gms.maps.MapFragment; requestMultiplePermissions();
mport com.google.android.gms.maps.OnMapReadyCallback; tvLocation = (TextView) findViewById((R.id.tv));
mport com.google.android.gms.maps.model.CameraPosition; mGoogleApiClient = new GoogleApiClient.Builder(this)
mport com.google.android.gms.maps.model.LatLng; .addConnectionCallbacks(this)
mport com.google.android.gms.maps.model.MarkerOptions; .addOnConnectionFailedListener(this)
mport com.google.android.gms.maps.model.Polyline; .addApi(LocationServices.API)
mport com.google.android.gms.maps.model.PolylineOptions; .build();
mport com.karumi.dexter.Dexter; }
mport com.karumi.dexter.MultiplePermissionsReport;
mport com.karumi.dexter.PermissionToken; //code for drawing route
mport com.karumi.dexter.listener.DexterError; @Override
mport com.karumi.dexter.listener.PermissionRequest; public void onMapReady(GoogleMap googleMap) {
mport mMap = googleMap;
com.karumi.dexter.listener.PermissionRequestErrorListener; mMap.clear();
mport Log.d("mylog", "Added Markers");
com.karumi.dexter.listener.multi.MultiplePermissionsListener; mMap.addMarker(place1);
mport java.util.List; mMap.addMarker(place2);

ublic class MainActivity extends AppCompatActivity CameraPosition googlePlex = CameraPosition.builder()


implements .target(new LatLng(22.7739,71.6673))
oogleApiClient.ConnectionCallbacks, .zoom(7)
GoogleApiClient.OnConnectionFailedListener, .bearing(0)
om.google.android.gms.location.LocationListener , .tilt(45)
OnMapReadyCallback, .build();
askLoadedCallback{

//variables for map and route private void requestMultiplePermissions(){


Dexter.withActivity(this)
private GoogleMap mMap; .withPermissions(
private MarkerOptions place1, place2; Manifest.permission.ACCESS_FINE_LOCATION,
Button getDirection; Manifest.permission.ACCESS_COARSE_LOCATION )
.withListener(new MultiplePermissionsListener() {
private String getUrl(LatLng origin, LatLng dest, String @Override
directionMode) { public void onPermissionsChecked(MultiplePermissionsR
eport report) {
mMap.animateCamera(CameraUpdateFactory // check if all permissions are granted
.newCameraPosition(googlePlex), 5000, if (report.areAllPermissionsGranted()) {
null); Toast.makeText(getApplicationContext(), "All permissions
} are granted by
user!", Toast.LENGTH_SHORT).show();
// Origin of route }
String str_origin = "origin=" + origin.latitude + "," +
origin.longitude; Double.toString(location.getLongitude());
// Destination of route
String str_dest = "destination=" + dest.latitude + "," + tvLocation.setText(String.valueOf(location.getLatitude()
dest.longitude; +"
// Mode "+String.valueOf(location.getLongitude())));
String mode = "mode=" + directionMode; Toast.makeText(this, msg, Toast.LENGTH_SHORT
// Building the parameters to the web service ).show();
String parameters = str_origin + "&" + str_dest + "&" +
mode; if(isFirstTime){
// Output format //code to draw path on map
tring output = "json";
getDirection = findViewById(R.id.btnGetDirection);
getDirection.setOnClickListener(new View.OnClickL
// Building the url to the web service istener() {
String url = @Override
"https://maps.googleapis.com/maps/api/directions/" + public void onClick(View view) {
output + "?" + new FetchURL(MainActivity.this).execute(getUrl(place1.
parameters + "&key=" + getPosition(),
getString(R.string.google_maps_key); place2.getPosition(), "driving"), "driving");
return url; }
} });

@Override place1 = new MarkerOptions().position(new


public void onTaskDone(Object... values) { LatLng(location.getLatitude(),
if (currentPolyline != null) location.getLongitude())).title("Location 1");
currentPolyline.remove(); place2 = new MarkerOptions().position(new
currentPolyline = LatLng(19.021824,72.8662016)).title("MSBTE");
mMap.addPolyline((PolylineOptions) values[0]); mapFragment = (MapFragment)
} getFragmentManager().findFragmentById(R.i
d.mapNearBy);
//runtime permission method mapFragment.getMapAsync(this);
isFirstTime = false;
} }}

You might also like