05-08-2013, 02:18 PM
Как переделать код, чтобы он брал всегда новые позиции при открытии приложения?
Он просто сейчас определяет твои координаты,
но грузит их из последних,
а мне надо постояно новые при запуске приложения или кнопочке обновит. Приложения на андроиде
Он просто сейчас определяет твои координаты,
но грузит их из последних,
а мне надо постояно новые при запуске приложения или кнопочке обновит. Приложения на андроиде
Код:
package com.example.coomap;
import android.app.Activity;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener, LocationListener{
Button btn_get;
EditText et1,et2;
TextView tx1,tx2;
String x,y;
public static final String MYLOG = "My logs";
private LocationManager locMan;
private String provider;
public static double latitude; //широта
public static double longitude; //долгота
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tx1 = (TextView) findViewById(R.id.textView1);
tx2 = (TextView) findViewById(R.id.textView2);
btn_get = (Button) findViewById(R.id.button2);
btn_get.setOnClickListener(this);
locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locMan.getBestProvider(criteria, false);
Location location = locMan.getLastKnownLocation(provider);
if (location!=null){
onLocationChanged(location);
}
else
{
Toast.makeText(getApplicationContext(), "Location unavailable", Toast.LENGTH_LONG).show();
}
//Toast.makeText(getApplicationContext(),
//"LOCATION = "+location+"\nPROVIDER = "+provider,
//Toast.LENGTH_LONG).show();
}
public void onClick(View v) {
//Intent intent;
x = tx1.getText().toString();
y = tx2.getText().toString();
switch(v.getId()){
case R.id.button2:
tx1.setText(latitude+"");
tx2.setText(longitude+"");
Toast.makeText(getApplicationContext(), "Клик", Toast.LENGTH_LONG).show();
break;
}
}
public void onLocationChanged(Location loc) {
latitude = loc.getLatitude();
longitude = loc.getLongitude();
}
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS is disabled", Toast.LENGTH_LONG).show();// не работает
}
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS works", Toast.LENGTH_LONG).show(); // работает
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
protected void onPause() {
super.onPause();
locMan.removeUpdates(this);
}
@Override
protected void onResume() {
super.onResume();
locMan.requestLocationUpdates(provider, 100, 1, this);
}
}