zxing-android-minimal使ってみる
とりあえず、build.gradle の設定もできたので、後は README やらソースコードを見ながら使ってみた。
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Activity activity = this; Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { IntentIntegrator.initiateScan(activity); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (scanResult != null) { Log.d("qrtest", "code = " + scanResult.getContents()); Log.d("qrtest", "format = " + scanResult.getFormatName()); } } }
超簡単!
とりあえず id を button にしたボタンをレイアウトに貼付けて、それをクリックしたら zxing-android-minimal が intent で起動。
読み込んだら onActivityResult に読み込んだ結果(コードとフォーマット)が返ってくる。
下記ページにある QRCode を読むと
code = http://www.touch4smart.com/download/10/ format = QR_CODE
こんな感じ。
とにかく楽をして実装したい場合には良いかも。
1つ気になるのは「ランドスケープ」でしか機能しないこと。
この件は Issues にしっかり書かれているのだけど、Android のカメラって何か問題あったりするの???