B
ballibum
Neues Mitglied
- 0
Hallo Forum,
ich habe folgende Aufgabe die ich lösen möchte und nun nicht mehr weiter komme:
Ich habe ein Activity mit zwei Button und 2 Textfeldern, ein ProgressDialog und ein Toast-Dialog.
Ich möchte gerne, dass auf Buttondruck, die aktuelle Position bestimmt wird, dazu geht ein ProgressDialog an der besagt "Position wird bestimmt" ( nach einer Minute, soll dieser mit der Toastmeldung "kein GPS Signal erhalten" abgebrochen werden. Sollte eine Positionsbestimmung möglich sein, werden die beiden Textfelder belegt und stetig aktualisiert. Mit dem zweiten Button wird die Positionsbestimmung beendet, die aktuellen Textfeldinhalte bleiben bestehen.
Also was habe ich bis dato hinbekommen:
-start der GPSAnwendung auf Button-Click
-Toastausgabe auf Buttonklick
-ProgressDialog mit eigenem Thread (damit ich sehe ob er erscheint)
zu realisieren:
- ProgressDialog nur solange zeigen wie kein Signal empfangen wird, oder nach einer Minute mit ToastText abbrechen
-verschwinden des ProgressDialogs nach dem Eingang des ersten Signals
mfg
Balli
über Hilfe und Tipps oder Tutorials wäre ich euch sehr dankbar.
Jetzt folgt erstmal das was ich bereits geschafft habe:
ich habe folgende Aufgabe die ich lösen möchte und nun nicht mehr weiter komme:
Ich habe ein Activity mit zwei Button und 2 Textfeldern, ein ProgressDialog und ein Toast-Dialog.
Ich möchte gerne, dass auf Buttondruck, die aktuelle Position bestimmt wird, dazu geht ein ProgressDialog an der besagt "Position wird bestimmt" ( nach einer Minute, soll dieser mit der Toastmeldung "kein GPS Signal erhalten" abgebrochen werden. Sollte eine Positionsbestimmung möglich sein, werden die beiden Textfelder belegt und stetig aktualisiert. Mit dem zweiten Button wird die Positionsbestimmung beendet, die aktuellen Textfeldinhalte bleiben bestehen.
Also was habe ich bis dato hinbekommen:
-start der GPSAnwendung auf Button-Click
-Toastausgabe auf Buttonklick
-ProgressDialog mit eigenem Thread (damit ich sehe ob er erscheint)
zu realisieren:
- ProgressDialog nur solange zeigen wie kein Signal empfangen wird, oder nach einer Minute mit ToastText abbrechen
-verschwinden des ProgressDialogs nach dem Eingang des ersten Signals
mfg
Balli
über Hilfe und Tipps oder Tutorials wäre ich euch sehr dankbar.
Jetzt folgt erstmal das was ich bereits geschafft habe:
Code:
public class DiabActivity extends Activity implements OnClickListener {
private Button btnPosition;
private Button btnZurueck;
private String auswahl;
private TextView x;
private TextView y;
private ProgressDialog progress;
//GPS-Werkzeuge
private LocationManager locManager;
private LocationListener locListener;
//GPS nutzen
class mylocListener implements LocationListener
{
public void onLocationChanged(Location location)
{
if(location != null)
{
double pLong = location.getLongitude();
double pLat = location.getLatitude();
x.setText(Double.toString(pLat));
y.setText(Double.toString(pLong));
}
}
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.diabrotica_layout);
//Buttons
btnPosition = (Button) findViewById(R.id.btnPosition);
btnPosition.setText(R.string.btnPosition);
btnPosition.setOnClickListener(this);
btnZurueck = (Button) findViewById(R.id.btnZurueck);
btnZurueck.setText(R.string.btnZurueck);
btnZurueck.setOnClickListener(this);
//Textfelder
x = (TextView) findViewById(R.id.txtX);
x.setText(R.string.txtX);
y = (TextView) findViewById(R.id.txtY);
y.setText(R.string.txtY);
}
//noch nicht in Benutzung
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void onClick(View view)
{
switch(view.getId())
{
case R.id.btnPosition:
getPosition();
break;
case R.id.btnZurueck:
goTo();
break;
}
}
private void goTo()
{
Intent in = new Intent(DiabActivity.this,MainActivity.class);
startActivity(in);
locManager.removeUpdates(locListener);
finish();
}
private void getPosition()
{
progress = ProgressDialog.show(DiabActivity.this, "Warten", "Warte auf Positionsbestimmung...");
//GPS starten
locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locListener = new mylocListener();
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,locListener);
Thread thread = new Thread(new Runnable()
{
public void run()
{
try {
downloadFile(new URL("http://www.web.de"));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
thread.start();
}
private int downloadFile(URL url)
{
try
{
Thread.sleep(5000);
this.progress.dismiss();
}
catch (InterruptedException e)
{
// TODO: handle exception
}
return 2000;
}
}
Zuletzt bearbeitet: