http get request läuft nur im emulator

I

ImperatorPlebis

Neues Mitglied
0
Hallo,
ich hab eine App geschrieben die einem anzeigt wann was im Kühlschrank abläuft(MHD) und was heute abläuft. Ausserdem kann man diese Produkte auf eine Einkaufsliste setzen. Ergänzend wollte ich nun, mehr als Spielerei, den Barcode scannen und über die open ean database mir den Produktnamen holen.

Der folgende Code zur Abfrage der Datenbank macht das was er soll im eclipse Emulator, aber leider nicht auf dem handy. Dort krieg ich keine Ausgabe in den Textviews.

Code:
public class http_get_activity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_http_get_activity);
        
            TextView Textname = (TextView) findViewById(R.id.textView2);
            TextView Texterror = (TextView) findViewById(R.id.textView1);
            int x,zaehler;
            zaehler=0;
        
       try {
            HttpClient client = new DefaultHttpClient();  
            
          
            Texterror.setText("");
            Textname.setText("");
            
            String getURL = "http://openean.kaufkauf.net/?ean=4002468130097&cmd=query&queryid=200000000";
            HttpGet get = new HttpGet(getURL);
            HttpResponse responseGet = client.execute(get);  
            HttpEntity resEntityGet = responseGet.getEntity();  
            BufferedReader reader = null;
            
            if (resEntityGet != null) {  

                        InputStream is = resEntityGet.getContent() ;
                        reader = new BufferedReader(new InputStreamReader(is));
                        String line = "";
                        while ((line = reader.readLine()) != null) {
                          System.out.println(line);
                          
                          String[] result = line.split("=");
                         
                          
                          x=0;
                          
                             while(x<result.length){
                                 if(result[0].equals("error")){
                                     Texterror.setText("error "+result[1]);
                                     
                                     } 
                                 if(result[0].equals("name")){
                                     if(zaehler == 0){
                                     Textname.setText("name "+result[1]);
                                     zaehler=1;}
                                     
                                     
                                     } 
                                 
                                 System.out.println(result[x]);
                                 x++;}
                        }
                       
            }        
                  
    } catch (Exception e) {
        e.printStackTrace();
    }    
       
    }}


Vielleicht hat ja jemand eine Idee :)
 
Hi,

hast du schon die Internetpermission gesetzt?
 
Hi
ja "leider"
 
auf Froyo lief es, auf ICS nicht und die Lösung war AsyncTask;)
Wieder was gelernt
 
Weil du Daten aus dem Netzwerk nicht im mainthread laxen darfst. Ab honeycomb gibt dafür eine exception.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 

Ähnliche Themen

S
Antworten
8
Aufrufe
509
swa00
swa00
S
Antworten
4
Aufrufe
990
Sempervivum
S
L
Antworten
15
Aufrufe
905
jogimuc
J
Zurück
Oben Unten