Android Fehler beim Parsen.

MurderItachi

Mitglied
Hallo Leute, ich hab ein Problem.

Das Ziel ist eine App zu Programmieren die einen EAN/QR Code abscannt und diesen mit einem Preis den man eingibt an eine Datenbank abschickt. Ich habe den Code rellativ fertig denke ich, kann es jedoch nicht testen, da ich auf meinem S5 immer die Meldung bekomme: Fehler beim Parsen. Ein weiteres Problem ist, dass Eclipse die Strings in alle Sprachen übersetzt haben wollte. Daraufhin habe ich Lint abgestellt..

Java:
package com.example.barcodescanningapp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;

import java.sql.BatchUpdateException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class MainActivity extends Activity implements OnClickListener {
   
    private Button scanBtn;
    private TextView formatTxt, contentTxt;
    private Button sendBtn;
    private Button connectBtn;
    public double price;
   
    public String url="fehlt noch";
    public String user="alex1212123";
    public String pw="baumkuchen";
   
    Connection con;
   
       
    public int eancode;
   
   
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        scanBtn = (Button)findViewById(R.id.scan_button);
        formatTxt = (TextView)findViewById(R.id.scan_format);
        contentTxt = (TextView)findViewById(R.id.scan_content);
     sendBtn = (Button)findViewById(R.id.send_button);
     connectBtn = (Button)findViewById(R.id.connect_button);
   
       scanBtn.setOnClickListener(this);
       sendBtn.setOnClickListener(this);
       connectBtn.setOnClickListener(this);
    }


    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if(v.getId()==R.id.scan_button){
            //scan
            IntentIntegrator scanIntegrator = new IntentIntegrator(this);
        scanIntegrator.initiateScan();
            }
       
        else if(v.getId()==R.id.send_button){
           
            EditText editText =(EditText)findViewById((int) R.id.price_text);
           
            String zwischen = editText.getText().toString();
                   
            price= Double.parseDouble(zwischen);
           
           
            try
            {
              Class.forName( "org.hsqldb.jdbcDriver" );
            }
            catch ( ClassNotFoundException e )
            {
              // Blöd: Treiber konnte nicht geladen werden.
              e.printStackTrace();
            }
           
           
           
            try {
             con = DriverManager.getConnection(this.url,this.user, this.pw);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            int[] updateCounts = null;
            try
            {
              Statement s = con.createStatement();
              s.addBatch( "INSERT INTO Barcode VALUES ("+"'"+eancode+"'" +" , "+"'"+price+"'"+")" );
            
              updateCounts = s.executeBatch();
            }
            catch ( BatchUpdateException e ) { /* Behandeln! */ }
            catch ( SQLException e ) { /* Behandeln! */ }
           
            }
       
       
        try {
            con.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
       
       
       
   
    }
   

   
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    //retrieve scan result
   
    IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    if (scanningResult != null) {
        //we have a result
       
        String scanContent = scanningResult.getContents();
        String scanFormat = scanningResult.getFormatName();
        formatTxt.setText("FORMAT: " + scanFormat);
        contentTxt.setText("CONTENT: " + scanContent);
       
        int ean = Integer.parseInt(scanContent);
        this.eancode=ean;
       
        }
    else{
        Toast toast = Toast.makeText(getApplicationContext(),
            "No scan data received!", Toast.LENGTH_SHORT);
        toast.show();
    }
   
    }

}

Im Anhang ist das komplette Projekt. Könnte da jemand bitte drauf schauen?
 

Anhänge

Hallo,

die Fehlerausgabe der IDE?

Nein wie gesagt ScanContent kann auch keine Zahl sein.
Integer.parseInt(scanContent); könnte die Ursache sein.

Aber um es 100% brauchen wir schon die Fehlerausgabe.

Grüße
 
Ok damit kann ich was Anfangen, aber jetzt leider nochmal für dumme, wie integrier ich die apk in den emulator? btw. beim starten von eclipse bekomme ich immer diese Fehlermeldung(siehe bild) ich hab das sdk usw ganz normal installiert...
 

Anhänge

Bin ich blind oder sehe ich da kein "d:skin" ?
Ich hatte mal was ähnliches, hast du dein SDK oder deine IDE in letzter Zeit mal upgedatet?
 
Ich hab auch kein d:skin gefunden...ja hab ich, leider ohne Erfolg. Lassen wir das mal beiseite, das erklärt immer noch nicht, warum ich, wenn ich versuche dei apk zu installieren sofort die Fehlermeldung bekomme: Fehler beim parsen des Pakets.
ich habe im Manifest die bevorzugte api version auf 23 gesetzt, den Fehler beim parsen behoben und bekomme auch keine Fehler im Projekt angezeigt.
Irgendwelche Theorien? Oben habe ich ja das komplette projekt hochgeladen.
Danke schonmal^^
 
ja hab ich, leider ohne Erfolg. Lassen wir das mal beiseite...
Lassen wir lieber nicht beiseite, ich kann mich erinnern selbst mal ein ähnliches Problem gehabt zu haben, was daraus entstand, dass ich versucht habe mein SDK und IDE upzudaten, und dabei was schief gelaufen ist. Deshalb habe ich Dich gefragt, weil das nicht ganz so trivial ist, wie man eventuell denken mag.
Welche IDE nimmst Du?
 
ich hab die Lint Herausgefunden....Was will der mitt der API? Ich hab über den SDK Manager alles heruntergeladen was es so gibt. Der müsste bei api 23 liegen. Wie bekomme ich das weg, hab auch schon Neuinstallation von Eclipse versucht, bring nichts.
 

Anhänge

Eigentlich ganz klar. In deinem Manifest isst min. API 8 angegeben, du brauchst auf jeden Fall 11. Das ist der erste von 167 Sachen, die Du checken solltest.

Bevor Du das angehst:
Projekt sichern, Eclipse und Android Studio, sowie das SDK deinstallieren, dann Android Studio und SDK neu installieren (neu runterladen). Dann das Projekt in Android Studio importieren. Dann erst Fehler ausbessern.
Hintergrund: Eclipse wird nicht mehr unterstützt. Android Studio ist das Maß der Dinge zur Zeit.
Du brauchst also zuerst eine saubere Entwicklungsumgebung, dann machen wir weiter mit deineem Projekt.
 
Bitte bring doch die genaue Fehlermeldung. Das Bild zeigt jetzt nur, dass da scheinbar bei der Definition des Icons etwas unstimmig sein soll. Das sieht aber erst einmal ok aus, denn im Manifest werden Resource Werte in der Form @[package:]type:name angegeben und @drawable/ic_launcher ist da durchaus korrekt. (Ist halt Google - da wird in der Definition ein : angegeben, aber ein / ist dann auch ok 🙂 Siehe http://developer.android.com/guide/topics/manifest/manifest-intro.html - da hat man dann die Definition und dann im Beispiel auch ein /).

Wird evtl. angemeckert, dass er die Ressource nicht findet? (Ich selbst habe bisher nichts groß mit Android gemacht - kenne das auch fast nur aus der Theorie.)

Konrad
 
Stimmt. Jetzt erstmal die Fehlermeldungen posten, die beim Compilieren auftreten. Die müssen dann Stück für Stück abgearbeitet werden.
 
ich habe gerade die App über eclipse als Signierte apk exportiert, vorher immer nur unsigniert, jetzt ist die apk datei 1,12mb groß, vorher nur 480kb. Die app lässt sich auch installieren, doch wenn ich versuche sie zu öffnen kommt: App wurde nicht installiert?!?!

Ok, oben habe ich ja das Tutorial verlinkt, von dem ich den scanner code habe. Dieser Code allein funktioniert auch, meine veränderte version hat allerdings das installations problem. Also muss in meinem code ein fehler sein, der das ganze ding crashen lässt.
 
Also wenn Du ein apk erstellen konntest, dann ist das andere Problem erledigt? Was war denn das Problem? Wie hast Du es gelöst?

Und wie bei jedem Problem: Ohne Details können wir nur raten. Was genau hast Du denn geändert? Was genau machst Du? Haben genau diese Schritte mit dem Tutorial-Code problemlos funktioniert?

Ich sehe hier halt mehrere möglichen Probleme. Dass es am Code liegt, ist erst einmal wenig wahrscheinlich, denn am eigentlichen Installationsprozess wirst Du ja kaum irgendwas geändert haben. Daher ist so eine Meldung eher unwahrscheinlich. Daher ist es eher wahrscheinlicher, dass es ein "Handlingproblem" ist. Aber das ist alles nur ein stochern im Nebel.

Konrad
 
Du sollst bitte nicht Eclipse benutzen. Das solltest Du doch auch deinstallieren? Hast du nicht gemacht, was ich Dir gesagt habe!?
 
Ich habe nochmal neu gestartet und das Parsing problem vom Anfang ist behoben. Jetzt habe ich ein anderes Problem. Wenn ihr die App installiert seht ihr, dass der scanner funktioniert, man braucht dazu allerdings den barcode scanner vom zxing team, den gibts kostenlos im play store. Aber Teil 2 der App ist, dass er die ergebnisse an eine Datenbank schickt. um zu testen ob das mit den Werten jonglieren funktioniert, habe ich noch 2 weitere text felder eingebaut, die befüllt werden sollten, wenn man auf send drückt. Da tut sich aber gar nix. Könnt ihr mal schauen ob ich beim jonglieren von den ergebnissen alles richtig gemacht habe? Wäre euch sehr verbunden. Fehlermeldungen habe ich keine.
 

Anhänge

Achso zur lösung meines alten Problems: der parsing Fehler trat auf, da die Apk nicht signiert war. Ich habe den diesmal den Beispiel Code aus dem Tutorial genommen und natürlich vorher nochmal das SDK, JDK neu installiert, sowie das Android Studio.
 
Hallo,

sorry, ich habe nur die Möglichkeit an Montag und Dienstag mich hier ein bissl rumzutreiben.
Machst du mal bitte ein Screenshot von deinen Projektstruktur?

Also, bei solchen Problemen würde ich immer empfehlen nach einer Neuinstallation das Projekt nicht zu importieren sondern mit Copy & Paste die Klassen/xml'S hinzuzufügen. Beim Importieren, importierst du evtl. auch die Probleme mit.

Allerdings bei den Fehler @drawable/ic_launcher. Kannst du das Programm ausführen/installieren? Wennja, wird ein Icon angezeigt?

Grüße
 

Neue Themen


Zurück
Oben