1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. ImperatorPlebis, 19.07.2012 #1
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    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 :)
     
  2. Kardroid, 20.07.2012 #2
    Kardroid

    Kardroid Android-Experte

    Hi,

    hast du schon die Internetpermission gesetzt?
     
  3. ImperatorPlebis, 20.07.2012 #3
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    Hi
    ja "leider"
     
  4. ImperatorPlebis, 20.07.2012 #4
    ImperatorPlebis

    ImperatorPlebis Threadstarter Neuer Benutzer

    auf Froyo lief es, auf ICS nicht und die Lösung war AsyncTask;)
    Wieder was gelernt
     
  5. swordi, 20.07.2012 #5
    swordi

    swordi Gewerbliches Mitglied

    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
     

Diese Seite empfehlen