Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.30 KB | None | 0 0
  1. package ktu.org.vietos;
  2.  
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.location.Location;
  6. import android.location.LocationListener;
  7. import android.location.LocationManager;
  8. import android.os.Bundle;
  9. import android.provider.Settings;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.view.Menu;
  12. import android.view.MenuItem;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.ListView;
  15. import android.widget.Toast;
  16.  
  17. import java.util.ArrayList;
  18.  
  19. public class Koordinates extends AppCompatActivity implements LocationListener {
  20. private LocationManager locationManager;
  21. private Location lastLocation;
  22. private int skaitliukas;
  23. private boolean arSekti;
  24. // private SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd-HH:mm:ss");
  25. private ListView listView;
  26. private ArrayAdapter<String> adapteris;
  27. private ArrayList<String> vietuSarasas = new ArrayList<String>();
  28. Location oldLoc = new Location("");
  29.  
  30. @Override
  31. public void onCreate(Bundle savedInstanceState) {
  32. super.onCreate(savedInstanceState);
  33. setContentView(R.layout.activity_koordinates);
  34. listView = (ListView) findViewById(R.id.listView1);
  35. locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
  36.  
  37. // Patikrinimas ar GPS ijungtas
  38. if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
  39. Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
  40. startActivity(intent);
  41. }
  42.  
  43. Toast.makeText(getApplicationContext(),
  44. String.format("Visi vietos teikėjai: %s", locationManager.getAllProviders().toString()),
  45. Toast.LENGTH_SHORT).show();
  46.  
  47. vietuSarasas.add("Nustatytos vietos koordinatės:");
  48. adapteris = new ArrayAdapter<String>(getBaseContext(), R.layout.saraso_irasas, vietuSarasas);
  49. listView.setAdapter(adapteris);
  50. }
  51.  
  52. @Override
  53. protected void onPause() {
  54. super.onPause();
  55. tracking(arSekti = false);
  56. }
  57.  
  58. @Override
  59. public boolean onCreateOptionsMenu(Menu menu) {
  60. getMenuInflater().inflate(R.menu.meniu, menu);
  61. return true;
  62. }
  63.  
  64. @Override
  65. public boolean onOptionsItemSelected(MenuItem item) {
  66. switch (item.getItemId()) {
  67. case R.id.meniu1:
  68. tracking(!arSekti);
  69. Toast.makeText(getApplicationContext(),
  70. String.format("Vietos nustatymas %s", arSekti ? "išjungtas" : "įjungtas"), Toast.LENGTH_SHORT)
  71. .show();
  72. arSekti = !arSekti;
  73. return true;
  74. case R.id.meniu2:
  75. startActivity(new Intent(this, Koordinates.class));
  76. return true;
  77. case R.id.meniu3:
  78. startActivity(new Intent(this, Zemelapis.class));
  79. return true;
  80. default:
  81. return super.onOptionsItemSelected(item);
  82. }
  83. }
  84.  
  85. private void tracking(boolean enabled) {
  86. if (enabled) {
  87. if (locationManager.getAllProviders().contains(LocationManager.GPS_PROVIDER)) {
  88. locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 50,
  89. this);
  90. }
  91. if (locationManager.getAllProviders().contains(LocationManager.NETWORK_PROVIDER)) {
  92. locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000,
  93. 50, this);
  94. }
  95. } else {
  96. locationManager.removeUpdates(this);
  97. }
  98. }
  99.  
  100. public void onLocationChanged(Location loc) {
  101. if (loc != null) {
  102. if (lastLocation != null) {
  103.  
  104. double time = loc.getTime();
  105. double oldTime = oldLoc.getTime();
  106. double timeDifference = (time-oldTime)/1000;
  107.  
  108. double distance = oldLoc.distanceTo(loc);
  109. distance = Math.round(distance * 100.0) / 100.0;
  110. double speed = distance/timeDifference;
  111. speed = Math.round(speed * 100.0) / 100.0;
  112.  
  113. vietuSarasas.add(1, String.format("%d. Koordinatės xd: %f:%f nukeliautas atstumas metrais: %f laikas tarp tasku s %f greitis m/s %f",
  114. ++skaitliukas, loc.getLatitude(), loc.getLongitude(), distance, timeDifference, speed ));
  115. oldLoc = loc;
  116. listView.setAdapter(adapteris);
  117.  
  118. }
  119. lastLocation = loc;
  120. }
  121. }
  122.  
  123. @Override
  124. public void onStatusChanged(String provider, int status, Bundle extras) {
  125. Toast.makeText(getApplicationContext(),
  126. String.format("Teikėjo %s būsena pakeista į %d", provider, status),
  127. Toast.LENGTH_SHORT).show();
  128. }
  129.  
  130. @Override
  131. public void onProviderEnabled(String provider) {
  132. Toast.makeText(getApplicationContext(), String.format("Teikėjas %s yra įjungtas", provider),
  133. Toast.LENGTH_SHORT).show();
  134. }
  135.  
  136. @Override
  137. public void onProviderDisabled(String provider) {
  138. Toast.makeText(getApplicationContext(), String.format("Teikėjas %s yra išjungtas", provider),
  139. Toast.LENGTH_SHORT).show();
  140. }
  141. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement