Ciao, sto sviluppando i miei mini programmini per il mio androide per prendere confidenza con l'SDK. Per ora ho sviluppato un'applicazione che propone una scelta con dei radio button e stampa la scelta prendo un bottone. Fin qui non ho problemi, ora vorrei aggiungere che premendo il bottone oltre alla scelta vengano mostrate le mie coordinate attuali.
Ho fatto così:
package it.prova.provafunzioni;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
public class TestGPS extends Activity implements Button.OnClickListener{
//radio scelte possibili
private RadioButton rist;
private RadioButton pizza;
private RadioButton hotel;
//bottone procedi
private Button b1;
//area testo in cui vengono stampati i dati
private TextView t1;
//coordinate
Double lat=10.0;
Double lon=40.0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rist=(RadioButton)findViewById(R.id.radio_rist);
pizza=(RadioButton)findViewById(R.id.radio_pizza);
hotel=(RadioButton)findViewById(R.id.radio_hotel);
b1=(Button)findViewById(R.id.procedi);
b1.setOnClickListener(this);
t1=(TextView)findViewById(R.id.hopremuto);
//aggiunta fatta per ottenere le coordinate
LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
//fine aggiunta
}
//aggiunta per ottenere coordinate
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
lat=loc.getLatitude();
lon=loc.getLongitude();
}
@Override
public void onProviderDisabled(String provider)
{
Toast.makeText( getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT ).show();
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
}/* End of Class MyLocationListener */
//fine aggiunta
@Override
public void onClick(View v) {
String att="";
int km=0;
if(v == b1)
{
//scelte possibili
if(rist.isChecked() == true)
{
//t1.setText("Selected is : "+rist.getText());
att="ristorante";
}
else if(pizza.isChecked() == true){
//t1.setText("Selected is : "+pizza.getText());
att="pizzeria";
}
else if(hotel.isChecked() == true){
//t1.setText("Selected is : "+hotel.getText());
att="hotel";
}
t1.setText("Selected is : "+att+", "+"\n Lat: "+lat+"; Lon: "+lon);
}
}
}l'applicazione parte regolarmente, dal ddms non vedo errori, pero premendo il bottone per vedere quale scelta è stata fatta ottengo come coordinate sempre 10.0,40.0 (anche se tramite telnet le modifico!)
avete indicazioni da darmi? Considerate che sono alle primissime armi con android!
grazie!