Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

progressDialog wird angezeigt -> Thread aber nicht ausgeführt?

Das Thema "progressDialog wird angezeigt -> Thread aber nicht ausgeführt?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 05.06.2011, 17:27   #1 (permalink)
Neuer Benutzer

Registriert seit: 09.02.2011
Beiträge: 18
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard progressDialog wird angezeigt -> Thread aber nicht ausgeführt?

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?

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;
        }
    }
}

Geändert von baeckerman83 (05.06.2011 um 23:46 Uhr)
baeckerman83 ist offline   Mit Zitat antworten
Alt 05.06.2011, 21:50   #2 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: progressDialog wird angezeigt -> Thread aber nicht ausgeführt?

also mit thread gehts sicher auch, aber mit asynctask ist es einfacher

google liefert dir da mit sicherheit genügend beispiele.
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 05.06.2011, 23:45   #3 (permalink)
Neuer Benutzer

Registriert seit: 09.02.2011
Beiträge: 18
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: progressDialog wird angezeigt -> Thread aber nicht ausgeführt?

Danke habe es mit asynctask hinbekommen. Hier meine Lösung, auch wenn sie sicher nicht top ist, evt hilft sie ja jemand.
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.AsyncTask;
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;
    public JSONObject Jarr;
    public ProgressDialog progDialog;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);        
        new TheTask().execute();

    }
    
    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: {
            new TheTask().execute();    
        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;
        }
    }
    
    private class TheTask extends AsyncTask<Void, Void, Void>{

        @Override
        protected void onPreExecute() {
            progDialog = ProgressDialog.show(Statistik.this,"","Loading, please wait....", true);
        }

        @Override
        protected Void doInBackground(Void... Params) {
            
                //Thread.sleep(5000);
                final String txtUrl = "http://sportwetten-blogger.de/";
                Jarr=getRequest(txtUrl);
            
            return null;
        }

        @Override
        protected void onPostExecute(Void result) {

            if(progDialog.isShowing())
            {
            progDialog.dismiss();
            }
            TextView prozent = (TextView) findViewById(R.id.prozent1);
            try {
                prozent.setText(Jarr.getString("prozent"));
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }  
    
    
}
baeckerman83 ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
SMS Ton wird angezeigt, aber nicht abgespielt... meisterlampe HTC Desire Forum 5 12.03.2011 09:42
SMS wird nicht angezeigt aber Benachrichtigungston kommt 4evermore HTC Desire Forum 6 23.02.2011 12:30
Kontakte sind da, Anrufer-ID wird aber nicht angezeigt wangerin4u HTC Wildfire Forum 7 10.11.2010 21:23
3G up-download wird angezeigt Internet geht aber nicht?! meindesire.willmiran HTC Desire Forum 2 09.06.2010 17:14
W-Lan wird angezeigt aber nicht verbunden wDs19 HTC Magic Forum 1 25.03.2010 13:00




Du liest gerade: "progressDialog wird angezeigt -> Thread aber nicht ausgeführt?" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.