Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ktu.org.vietos;
- import android.content.Context;
- import android.content.Intent;
- import android.location.Location;
- import android.location.LocationListener;
- import android.location.LocationManager;
- import android.os.Bundle;
- import android.provider.Settings;
- import android.support.v7.app.AppCompatActivity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- import android.widget.Toast;
- import java.util.ArrayList;
- public class Koordinates extends AppCompatActivity implements LocationListener {
- private LocationManager locationManager;
- private Location lastLocation;
- private int skaitliukas;
- private boolean arSekti;
- // private SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd-HH:mm:ss");
- private ListView listView;
- private ArrayAdapter<String> adapteris;
- private ArrayList<String> vietuSarasas = new ArrayList<String>();
- Location oldLoc = new Location("");
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_koordinates);
- listView = (ListView) findViewById(R.id.listView1);
- locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
- // Patikrinimas ar GPS ijungtas
- if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
- Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
- startActivity(intent);
- }
- Toast.makeText(getApplicationContext(),
- String.format("Visi vietos teikėjai: %s", locationManager.getAllProviders().toString()),
- Toast.LENGTH_SHORT).show();
- vietuSarasas.add("Nustatytos vietos koordinatės:");
- adapteris = new ArrayAdapter<String>(getBaseContext(), R.layout.saraso_irasas, vietuSarasas);
- listView.setAdapter(adapteris);
- }
- @Override
- protected void onPause() {
- super.onPause();
- tracking(arSekti = false);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.meniu, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case R.id.meniu1:
- tracking(!arSekti);
- Toast.makeText(getApplicationContext(),
- String.format("Vietos nustatymas %s", arSekti ? "išjungtas" : "įjungtas"), Toast.LENGTH_SHORT)
- .show();
- arSekti = !arSekti;
- return true;
- case R.id.meniu2:
- startActivity(new Intent(this, Koordinates.class));
- return true;
- case R.id.meniu3:
- startActivity(new Intent(this, Zemelapis.class));
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
- private void tracking(boolean enabled) {
- if (enabled) {
- if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) {
- locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 50,
- this);
- }
- if (locationManager.getAllProviders().contains(LocationManager.NETWORK_PROVIDER)) {
- locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000,
- 50, this);
- }
- } else {
- locationManager.removeUpdates(this);
- }
- }
- public void onLocationChanged(Location loc) {
- if (loc != null) {
- if (lastLocation != null) {
- double time = loc.getTime();
- double oldTime = oldLoc.getTime();
- double timeDifference = (time-oldTime)/1000;
- double distance = oldLoc.distanceTo(loc);
- distance = Math.round(distance * 100.0) / 100.0;
- double speed = distance/timeDifference;
- speed = Math.round(speed * 100.0) / 100.0;
- vietuSarasas.add(1, String.format("%d. Koordinatės xd: %f:%f nukeliautas atstumas metrais: %f laikas tarp tasku s %f greitis m/s %f",
- ++skaitliukas, loc.getLatitude(), loc.getLongitude(), distance, timeDifference, speed ));
- oldLoc = loc;
- listView.setAdapter(adapteris);
- }
- lastLocation = loc;
- }
- }
- @Override
- public void onStatusChanged(String provider, int status, Bundle extras) {
- Toast.makeText(getApplicationContext(),
- String.format("Teikėjo %s būsena pakeista į %d", provider, status),
- Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onProviderEnabled(String provider) {
- Toast.makeText(getApplicationContext(), String.format("Teikėjas %s yra įjungtas", provider),
- Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onProviderDisabled(String provider) {
- Toast.makeText(getApplicationContext(), String.format("Teikėjas %s yra išjungtas", provider),
- Toast.LENGTH_SHORT).show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement