B
baeckerman83
Neues Mitglied
- 0
Hiho!
Ich habe noch eine Frage, ich habe einen ProgressDialog in meine App eingebaut sobald man auf den aktualisieren Button klickt. Leider klappt das dann aber nicht so wie es soll.
Er zeigt mir den Dialog an, aber im Hintergrund soll er während der Anzeige noch daten von einem Webserver laden, das macht er nicht. Es wird nur ein Sleep ausgeführt im Thread. Ist Thread das falsche? Brauche ich da AsyncTask? Hat jemand einen Link zu einer guten AsyncTask Anleitung mit Dialog? Oder habe ich einen anderen Fehler?
Ich habe noch eine Frage, ich habe einen ProgressDialog in meine App eingebaut sobald man auf den aktualisieren Button klickt. Leider klappt das dann aber nicht so wie es soll.
Er zeigt mir den Dialog an, aber im Hintergrund soll er während der Anzeige noch daten von einem Webserver laden, das macht er nicht. Es wird nur ein Sleep ausgeführt im Thread. Ist Thread das falsche? Brauche ich da AsyncTask? Hat jemand einen Link zu einer guten AsyncTask Anleitung mit Dialog? Oder habe ich einen anderen Fehler?
Code:
package de.ben.statistik;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class Statistik extends Activity {
private ProgressDialog dialog;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate( // (1)
R.layout.hauptmenue, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.opt_AnzeigeAktualisieren: {
dialog = ProgressDialog.show(this, "",
"Loading. Please wait...", true);
new Thread() {
public void run() {
try{
try {
Thread.sleep(5000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
TextView prozent = (TextView) findViewById(R.id.prozent1);
final String txtUrl = "http://sportwetten-blogger.de";
JSONObject Jarr=getRequest(txtUrl);
try {
prozent.setText(Jarr.getString("prozent"));
} catch (JSONException e) {
}
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
// dismiss the progress dialog
dialog.dismiss();
}
}.start();
return true;
}
}
return super.onOptionsItemSelected(item);
}
public JSONObject getRequest(String txtUrl){
String url = txtUrl;
JSONObject Jarr=null;
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
try{
HttpResponse response = client.execute(request);
String text=HttpHelper.request(response);
try {
Jarr= new JSONObject(text);
} catch (Exception e) {
e.printStackTrace();
}
return Jarr;
}catch(Exception ex){
return Jarr;
}
}
}
Zuletzt bearbeitet: