Ich muss einen QR-Code in meiner Android-Anwendung erstellen, und ich benötige eine Bibliothek oder einen Quellcode, mit dem ich einen QR-Code in einer Android-App erstellen kann.
Die Bibliothek, die ich brauche, muss:
- kein Wasserzeichen hinterlassen (wie
onbarcode
Bibliothek) - Verwenden Sie keine Webdienst-API, um den qrcode zu erstellen (wie z. B. die Bibliothek zxing von Google).
- Benötigen Sie keine Installer von Drittanbietern (wie QR Droid)
Ich habe diesen Code bereits für das iPhone (Objective-C) erstellt, benötige jedoch eine schnelle Lösung für Android, bis ich Zeit habe, einen eigenen QR-Code-Generator zu erstellen. Es ist mein erstes Android-Projekt, daher wird jede Hilfe geschätzt.
Antworten:
Hast du dir ZXING angesehen ? Ich habe es erfolgreich verwendet, um Barcodes zu erstellen. Sie können ein voll funktionsfähiges Beispiel in der Bitcoin-Anwendung src sehen
quelle
Mit zxing ist dies mein Code zum Erstellen von QR
quelle
Bitmap.createBitmap
.Vielleicht dieses alte Thema, aber ich fand diese Bibliothek sehr hilfreich und einfach zu bedienen
QRGen
Beispiel für die Verwendung in Android
quelle
implementation 'com.github.kenglxn.QRGen:android:[version]'
und QRCode-Klasse wie folgt importieren:import net.glxn.qrgen.android.QRCode
Hier ist meine einfache und funktionierende Funktion zum Generieren einer Bitmap! Ich benutze nur ZXing1.3.jar! Ich habe auch die Korrekturstufe auf Hoch gesetzt!
PS: x und y sind umgekehrt, es ist normal, weil bitMatrix x und y umkehrt. Dieser Code funktioniert perfekt mit einem quadratischen Bild.
BEARBEITEN
Es ist schneller, bitmap.setPixels (...) mit einem Pixel-Int-Array anstelle von bitmap.setPixel einzeln zu verwenden:
quelle
Ich habe zxing-1.3 jar verwendet und musste einige Änderungen an der Implementierung von Code aus anderen Antworten vornehmen, damit ich meine Lösung anderen überlassen kann. Ich habe folgendes gemacht:
1) Finden Sie zxing-1.3.jar, laden Sie es herunter und fügen Sie Eigenschaften hinzu (fügen Sie ein externes jar hinzu).
2) Fügen Sie in meinem Aktivitätslayout ImageView hinzu und benennen Sie es (in meinem Beispiel war es tnsd_iv_qr).
3) Fügen Sie Code in meine Aktivität ein, um ein qr-Bild zu erstellen (in diesem Beispiel habe ich QR für Bitcoin-Zahlungen erstellt):
Wenn sich jemand wundert, ist die Variable "btc_acc_adress" ein String (mit BTC-Adresse), der Betrag BTC ist ein Doppel, natürlich mit dem Transaktionsbetrag.
quelle
zxing bietet (nur) keine Web-API; Das ist Google, das die API aus dem Quellcode bereitstellt, der später im Projekt als Open-Source-Version bereitgestellt wurde.
Wie Rob hier sagt, können Sie den Java-Quellcode für den QR-Code-Encoder verwenden , um einen rohen Barcode zu erstellen und ihn dann als Bitmap zu rendern.
Ich kann noch einen einfacheren Weg anbieten. Sie können Barcode Scanner by Intent aufrufen, um einen Barcode zu codieren. Sie benötigen nur ein paar Codezeilen und zwei Klassen aus dem Projekt unter
android-integration
. Der wichtigste ist IntentIntegrator . Rufen Sie einfach anshareText()
.quelle
java.awt
oder stellt keine Verbindung zum Web her, und Sie können sehen, dass es in der Barcode-Scanner-Anwendung verwendet wird - auf Android ohne Internetverbindung. @Razgriz nein, es wird das Bild nicht zurückgegeben, sondern es wird für Sie auf dem Bildschirm angezeigt. Der Benutzer kann das Bild speichern.