Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • Be the first to comment


  1. 1. ZXing<br />Multi-format 1D/2D barcode image processing library with clients for Android, Java<br />This is Harry’s learning material about barcode, which he knew nothing about before<br />
  2. 2. It’s all about QR code<br />First created in Japan, 1994. <br />used for tracking parts in vehicle manufacturing<br />Usage nowadays<br />commercial tracking<br />mobile tagging<br />Role – information carrier<br />Text based info, including URL, contact info etc.<br />
  3. 3. Mobile Tagging<br />URL <br />Contact information<br />SMS<br />Text<br />Even MORE to come…..<br />NOTE: Microsoft Tag is more creative, it is even colorful tagging!!!<br />
  4. 4. Barcode Scanner(from ZXing team)<br />Project hosting <br /><br />How to use<br />Call via Intent(if barcode scanner is installed) -- easy<br />Call via Intent(if not installed, link to the app’s URL to Android Market)--easy<br />Embedding in your own app(applicable but not easy)<br />
  5. 5. Consistent UI <br />There are 2 types of UI, which need to be modified in order to have consistent UI<br />Scan UI<br /><br />Result UI<br />Should be a customized UI<br />
  6. 6. Embedding call - 1<br />public final Button.OnClickListenermScanQRCode = new Button.OnClickListener() {<br />public void onClick(View v) {<br /> Intent intent = new Intent("");<br />intent.putExtra("SCAN_MODE", "QR_CODE_MODE");<br />startActivityForResult(intent, 0);<br />}<br />};<br />
  7. 7. Embedding call - 2<br />@Override<br />public void onActivityResult(intrequestCode, intresultCode, Intent intent) {<br />if (requestCode == 0) {<br />if (resultCode == RESULT_OK) {<br /> String contents = intent.getStringExtra("SCAN_RESULT");<br /> String format = intent.getStringExtra("SCAN_RESULT_FORMAT");<br />showDialog(R.string.result_succeeded, "Format: " + format + " Contents: " + contents);<br /> } else if (resultCode == RESULT_CANCELED) {<br />showDialog(R.string.result_failed, getString(R.string.result_failed_why));<br />}<br />}<br />}<br />
  8. 8. more to come<br />I am still diving in the code. I try and clear it up. Will give more info soon.<br />