# Javaprogrammierung in Webapp einbinden



## MaiKzZ (6. Feb 2013)

Hallo Zusammen,

ich habe keine Ahnung von Java, wirklich NULL!
Wir müssen aber für unser Projekt einen QR-Code Scanner in eine Webapp einbinden.
Der Scanner (ZXing) läuft ohne die Webapp!
Wenn ich jedoch die .jar datei mit dem scanner einbinden will in HTML, dann kommt immer ein Fehler das die Klasse "Activity" fehlt!

Nach ein wenig suche habe ich gefunden das diese Klasse nur für native Apps zur Verfügung steht.
Die Lösung ist also das irgendwie mit PhoneGap umzuwandeln.
Ich ahbe nur keine Ahnung die dieses PhoneGap ist, noch was das macht oder wie man es macht!

Ich hoffe ihr könnt mir helfen!

Liebe Grüße


----------



## L-ectron-X (6. Feb 2013)

Frag doch zerst mal Google, dann erübrigen sich vielleicht schon Fragen hier.
PhoneGap | Home
PhoneGap - Wikipedia, the free encyclopedia


----------



## asdfghjl (6. Feb 2013)

Mit PhoneGap lassen sich auf Basis von HTML, CSS und Javascript Apps für div. Smartphone Betriebssyteme entwickeln.
Eine Android App bzw. Code einer Android App, der Euch scheinbar vorliegt in eine Web App zu wandeln geht damit nicht. Kann mir auch nicht vorstellen, das es so etwas gibt, da der Zugriff auf die Kamera unter Android ja sicherlich anders ist als bei einem PC OS.
Aber das xzing Projekt ist ja Opensource, somit könnt Ihr den Code entsprechend der http://www.apache.org/licenses/LICENSE-2.0 in Eurer Web Applikation einbauen bzw. die Klassen aus dem jar verwenden.


----------



## MaiKzZ (6. Feb 2013)

asdfghjl hat gesagt.:


> Aber das xzing Projekt ist ja Opensource, somit könnt Ihr den Code entsprechend der http://www.apache.org/licenses/LICENSE-2.0 in Eurer Web Applikation einbauen bzw. die Klassen aus dem jar verwenden.




Genau das geht ja ebend nicht!
das ZXing Projekt steht und einzelt funktioniert es super!
Wenn man jetzt aber auf die .jar zugreifen will mittels HTML kommt ja diese Fehlermeldung: java.lang.noclassdeffounderror android/app/activity !


----------



## asdfghjl (6. Feb 2013)

MaiKzZ hat gesagt.:


> Genau das geht ja ebend nicht!
> das ZXing Projekt steht und einzelt funktioniert es super!
> Wenn man jetzt aber auf die .jar zugreifen will mittels HTML kommt ja diese Fehlermeldung: java.lang.noclassdeffounderror android/app/activity !


In dem Jar ist ein von Euch geschriebenes Applet und die zxing Klassen?

Ich vermute mal Ihr verwendet die falschen zxing Klassen (evtl. ZXingTestActivity ?)
Android Klassen könnt Ihr in dem Kontext ja nicht nutzen. Aber es gibt da ja auch ein Android unabhängiges Paket?


----------



## MaiKzZ (6. Feb 2013)

asdfghjl hat gesagt.:


> Ich vermute mal Ihr verwendet die falschen zxing Klassen (evtl. ZXingTestActivity ?)
> Android Klassen könnt Ihr in dem Kontext ja nicht nutzen. Aber es gibt da ja auch ein Android unabhängiges Paket?





```
package com.example.barcodescanner;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;

public class MainActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    
    public void onClick (View view){
    	IntentIntegrator integrator = new IntentIntegrator(this);
    	integrator.initiateScan();
    }
    
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    	  IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    	  if (scanResult != null) {
    		  String barcode;
    		  String typ;
    		  
    		  barcode = scanResult.getContents();
    		  typ = scanResult.getFormatName();
    		  
    		  EditText etBarcode = (EditText) findViewById(R.id.etBarcode);
    		  EditText etTyp = (EditText) findViewById(R.id.etTyp);
    		  
    		  etBarcode.setText(barcode);
    		  etTyp.setText(typ);
    	  }
    	  
    	  
    	}
}
```

Also nein keine TestActivity so wie ich das beurteilen kann!


----------



## MaiKzZ (6. Feb 2013)

MaiKzZ hat gesagt.:


> ```
> public class MainActivity {
> ```



So meinte ich sieht es aus! 

```
public class MainActivity extends Activity {
```


----------



## asdfghjl (7. Feb 2013)

Davon Rede ich ja die ganez Zeit. Das ist Code für eine Android App. Die läuft nur unter Android oder in entsprechendenen Emulatoren. Das in eine HTML Seite einzubetten geht nicht.
Ihr müsst Euch eine eigene Web App, Applet oder... schreiben und könnt dafür die Klassen aus dem Package nutzen.


----------

