Sto cercando di integrare ZXing QR Code nella mia app Android senza installare Barcode Scanner app, ho seguito i passaggi come:Integrare scanner di codici a barre senza installare ZXing Barcode Scanner
1) In primo luogo ho scaricato ZXing.zip file ed estrailo
2) apri il progetto ZXing come un progetto Android esistente e poi vai alla cartella Android e apri la cartella Android e includi anche il file core.jar nel progetto ZXing denominato CaptureActivity.
3) Ho usato il progetto CaptureActivity come libreria nel mio progetto denominato 'QRCodeSample'. (Problema nel compresa CaptureActivity come una libreria)
4) Il mio codice è il below3:
public class QRCodeSampleActivity extends Activity {
Button b1;
static String contents;
public static final int REQUEST_CODE = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
/*Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE",
"QR_CODE_MODE");
startActivityForResult(intent, 0);*/
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.i("Barcode Result", contents);
Intent i1 = new Intent(QRCodeSampleActivity.this, webclass.class);
startActivity(i1);
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
Log.i("Barcode Result","Result canceled");
}
}
}
}
Il file manifesto è:
<uses-permission android:name="android.permission.CAMERA"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".QRCodeSampleActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".webclass"></activity>
</application>
</manifest>
e la sua biblioteca non aggiungendo anche
Quando sto cercando di ru n mio progetto, il msg di errore è:
Impossibile istanziare attività ComponentInfo {com.qr.code/com.qr.code}: java.lang.ClassNotFoundException: com.qr.code nel loader dalvik.system.PathClassLoader [/data/app/com.qr.code-1.apk]
Per includere ZXing è possibile l'ho fatto. Penso che tu usi qualche altra lezione. Non riesco a ricordare che zxing utilizza lo spazio dei nomi com.qr.code – rekire
Perché stai usando un progetto di libreria. Puoi costruire la libreria zxing scaricata su un file jar usando formica e includi quel file jar nel tuo progetto. Ecco il link per le istruzioni http://code.google.com/p/zxing/wiki/GettingStarted – blessenm
Sei sicuro che questo funzioni anche per Android? Ho creato la mia libreria con alcune estensioni personalizzate. – rekire