AndroidでZxingを使用してQRコードを生成しようとしています。 java.awt.image.BufferedImageはAndroidには含まれていないので、AndroidでQRコードイメージを作成する方法がわかりません。Androidでzxingを使用してQRコードに文字列をエンコードする方法は?
EDIT: インターネットアクセスが必要なアプリケーションはありません。
AndroidでZxingを使用してQRコードを生成しようとしています。 java.awt.image.BufferedImageはAndroidには含まれていないので、AndroidでQRコードイメージを作成する方法がわかりません。Androidでzxingを使用してQRコードに文字列をエンコードする方法は?
EDIT: インターネットアクセスが必要なアプリケーションはありません。
android/
のzxingソースコードを見てください。 .encode
パッケージには、AndroidでQRコードを正確にエンコードする方法の例があります。はい、使用できません。BufferedImage
を使用する必要はありません。
最も簡単な方法はgoogle charts APIです。それはあなたにpngファイルを与えるシンプルな休憩APIです。あなたのアプリケーションがインターネットを必要としないようにするには、あなたの手でもっと多くの作業ができますが、それはできます。 com.google.zxing.qrcode.encoderはあなたのQRを生成するクラスです。私はそれらの使い方を決して正確に理解できませんでしたが、QRを表す行列が返されると思います。キャンバスなどに描画する方法を考えなければなりません。
おかげでティム。しかし、私のアプリケーションがインターネットアクセスを必要としないようにしたい。だから私に有用なURLを教えてもらえますか? – user477519
次のように私は、これは上記のリソースを使用して便利http://codeisland.org/2013/generating-qr-codes-with-zxing/
であることが判明し、私はユーティリティメソッドを作成しました:
public static Bitmap encodeToQrCode(String text, int width, int height){
QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = null;
try {
matrix = writer.encode(text, BarcodeFormat.QR_CODE, 100, 100);
} catch (WriterException ex) {
ex.printStackTrace();
}
Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
for (int x = 0; x < width; x++){
for (int y = 0; y < height; y++){
bmp.setPixel(x, y, matrix.get(x,y) ? Color.BLACK : Color.WHITE);
}
}
return bmp;
}
@Steve Paulは、提供されたユーザーの文字列e/g(123 + ghnn-ggg)のビットマップを作成します – Erum
こんにちはErum、はい私のアプリケーションでそれを使用しました。それは動作するはずです。 –
これで、QRコードを正常にエンコードし、Androidアプリケーションに送信しました。その後、BitMapオブジェクトとして取得します。今私はそれをどのようにデコードするのですか? – user477519
'Detector'と' Decoder'の '.qrcode'パッケージを見ることができます。しかし、情報をエンコードして別のアクティビティに送信し、それをデコードするのであれば、元のデータを送信するだけではないのですか? –
@SeanOwenこれはどのテキストでも機能しますが、URLをエンコードしたい場合は、同じintent.putExtra(Intents.Encode.TYPE、Contents.Type.TEXT)を使用する必要があります。 URL – Erum