私たちのブログ

バーコードクロッシング

Androidでのバーコード作成

zxing_zebra_logo
Telaerisの従業員がここに掲載しているほとんどの時間は、当社の製品に関連する実生活の例です。 これにより、バーコードとRFIDの使用、セキュリティや安全システムの実装、ビジネスの実行に関するヒントなど、幅広いトピックについて議論することができます。 しかし、私たちがしていることの中心には、 トリッキーな問題のためのきれいなソリューション。 次のブログ記事は、Telaerisの2人のインターンが、AndroidやiPhoneのモバイルデバイスからバーコードとRFIDタグを追跡するための無料の新しいモバイル製品の作成を開始した例です。 システムは、 DataLockr そしてちょうど開始された - 私は非常にあなたがアプリとシステムをチェックアウトすることをお勧めします。 この記事で説明するのは、Android用のオープンソースのZxingライブラリを使用して簡単なバーコードリーディングアプリを構築する方法の最初のステップです。

このブログは、コーディングが好きなハッカーのためのものです。 楽しい!

シンプルなZxingライブラリの実装
私たちはどのように使用するかを学ぶ過程を辿っていましたが、 Zxing 私たちはすぐに、この巨大な図書館で何が起こっていたのか理解しようとするのはちょっと面倒だったということを知りました。 そこには多くのチュートリアルがありましたが、多くの手順がわれわれを混乱させたり、時代遅れでした。 コードから欠けているものがあるか、ライブラリのバージョンなどによって異なるものが完全には明らかにされていませんでした。 シンプルなZxingスキャニングライブラリを実装しようとする人が、自分のアプリケーションですぐに使い始めるのに役立つチュートリアルを作成したかったのです。

このチュートリアルでは、Zxingライブラリの無償版を使用して、スタンドアロンアプリにライブラリを実装し、独自のネイティブAndroidアプリを導入する方法の基礎を教えています。 SDK 19、android 4.4ライブラリを実行しているAndroid開発キットを使用しています。 ライブラリはデフォルトの水平方向ではなくポートレートモードのバーコードスキャナに変更されています。

Zxingライブラリの簡略化されたバージョンをダウンロードして、ここで使用してテストすることができます: CaptureActivity. これは、リリースされたZXingライブラリとは異なりますが、始めるには良いことです。

Android SDKでEclipseを使用していない場合は、 Android開発キット。 Android SDKを開き、必要なコンポーネントをインストールします。 次に、Eclipseを開きます。

ステップ1。 最初にプロジェクトを作成します。

トップメニューに行く ファイル - >新規 - > Androidアプリケーションプロジェクト。 あなたのプロジェクトに名前をつけてください(私たちは "Scanner App"と呼んでいます)。 下の設定をコピーして、[アクティビティの作成]ページが表示されるまで次の3時間をクリックします。 [空のアクティビティ]を選択し、[次へ]をクリックしてから[完了] フォルダはデフォルトで画面の左側に表示されます。 表示されていない場合は、最大化ボタンをクリックして、Eclipseでプロジェクト画面を開きます。

バーコードクロッシング

ステップ2。 テーマエラーを修正する(もしあなたが何も持っていなければ、ステップ3にスキップする)

値フォルダにエラーがある場合、これはEclipseの問題かもしれません。 すべてのstyle.xmlページを開き、すべてのスタイルタグとその内容を削除します。 また、AndroidManifest.xmlに移動し、アプリケーションの下でアンドロイド:theme = "@ style / AppTheme"を削除します。

ステップ3。 次に、スキャナライブラリをインポートします。

上記のCaptureActivty zipをダウンロードしてください。 に行く ファイル - >インポート - >既存のAndroidコードをワークスペースにインポート - >開いているブラウズ あなたがダウンロードしたZxingソースコードを見つけてください。 呼び出された最初のプロジェクトのみをチェックする CaptureActivity。 パスにはbuild / inが含まれていてはなりません。 クリックして終了. 右クリック / CaptureActivity / [パッケージエクスプローラ]タブのフォルダをクリックします。 プロパティ - > Android [Is Library]チェックボックスがオンになっていることを確認します。 [OK]をクリックします。

ステップ4。 私たちは今、私たちのアプリをスキャナライブラリに接続しなければなりません。

Androidアプリのフォルダを右クリックし、をクリックします。 プロパティ - > Android。 追加ボタンをクリックし、CaptureActivityをクリックします。 プロジェクトスキャナでAndroid画面で[OK]をクリックした後、緑のチェックマークが表示されていることを確認します。 [OK]をクリックします。

5ステップ。 これで、スキャナをアプリケーションに組み込むことができます。 mainActivity.javaファイルから始めます。

あなたのアプリのフォルダに移動します。 / src / フォルダを開き、あなたの mainActivity.java ファイル。 以下は必要なコードです。 あなたが持っていないものをコピーして貼り付けます。 追加する必要があるコードは赤いテキストで表示されます。 エラーが発生した場合は、特定のクラスをインポートする必要があります。 ctrl + shift + Oを押すだけで、必要なすべてのインポートがインポートされます。



パッケージcom.example.scannerapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; インポートアンドロイド。ウィジェット。 パブリッククラスMainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(メニューメニュー){//メニューを膨張させます。 アクションバーが存在する場合、アクションバーに項目が追加されます。 getMenuInflater()。inflate(R.menu.main、menu); 真を返します。 } p public void openScanner(ビューの表示){Intent intent =新しいインテント( "com.example.scannerapp.SCAN"); startActivityForResult(インテント、0000); ();}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}ここでは、 Toast.makeText(this、contents、0000).show(); } else if(resultCode == RESULT_CANCELED){// Handle cancel}}} } 

ここには2つの重要な機能があります。

  1. openScannerメソッドは、ボタンを押すと実行され、その後にScannerを開きます。
  2. onActivityResultメソッドは、読み取られたバーコードの文字列を返します。 ここから、スキャン後に別の画面を表示する場合は、新しいインテントを開き、変数を渡すことができます。

ステップ6。これで、activity_main.xmlファイルのレイアウトが変更されます。

今あなたの / app / フォルダに移動し、 resフォルダ - >レイアウト - > activity_main.xmlファイル。 次のようになります。 以下の赤いコードを追加してください:


<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:tools = "http://schemas.android.com/tools" android:layout_width = "match_parent"アンドロイド:layout_height = "match_parent" android:paddingBottom = "@dimen / activity_vertical_margin" android:paddingLeft = "@dimen / activity_horizo​​ntal_margin" android:paddingRight = "@dimen / activity_horizo​​ntal_margin"アンドロイド:paddingTop = "@ dimen / activity_vertical_margin" tools:context = " "android:layout_height =" wrap_content "android:layout_below =" @ + id / textView0000 "アンドロイド:layout_centerHorizo​​ntal =" true "アンドロイド:layout_height =" wrap_content "アンドロイド:layout_width =" wrap_content "android: layout_marginTop = "0000dp" android:text = "スキャン" android:onClick = "openScanner" /> </ RelativeLayout>

これは、ボタンを追加し、押されると、メソッドopenScannerが mainActivity.java ファイル。 テーマを選択する必要があるかもしれません。 私はTheme.holoを選んだ。

7ステップ。 最後の変更は、androidManifest.xmlファイルを編集することです。

に行きます androidManifest.xml プロジェクトディレクトリの下のファイル。 コードは次のように表示され、再度赤いコードをコピーする必要があります



<?xml version = "1.0" encoding = "utf-8"?> <manifest xmlns:android = "http://schemas.android.com/apk/res/android" package = "com.example.scannerapp" android <1>アンドロイド:targetSdkVersion = "1.0" /> <! -  ZXI​​NGで必要とされるパーミッション - > <uses-permission android "use-permission android:name =" android.permission.CONTEL "/> <uses-permission android:name =" android.permission.CAMERA "/> </ android.hardware.camera "アンドロイド:required =" true "/> <uses-feature android:name =" android.hardware.touchscreen "android:required = "false" /> < use -feature android:name = "android.hardware.telephony" android:required = "false" /> <android:allowBackup = "true" android:icon = "@ drawable / ic_launcher" android: label = "@ string / app_name" android:theme = "@ style / AppTheme"> <android:name = "com.example.scannerapp.Ma "android.intent.action.MAIN" /> <category android:name = "android.intent.category.LAUNCHER">アンドロイド: /> </ intent-filter> </ activity> <android:name = "com.telaeris.datalockrScanner.android.CaptureActivity" android:screenOrientation = "ポートレート" android:configChanges = "orientation | keyboardHidden" android:theme = " @ android:style / Theme.NoTitleBar.Fullscreen "android:windowSoftInputMode =" stateAlwaysHidden "> <インテントフィルタ> <アクションアンドロイド:name ="アンドロイド。 intent.category.LAUNCHER "/> </ intent-filter> <インテントフィルタ> <アクションandroid:name =" com.example.scannerapp.SCAN "/> <category android:name =" android.intent.category.DEFAULT "/> </ intent-filter> </ activity> </ application> </ manifest>

私たちは、アンドロイドがカメラを使用するために必要な権限を追加しています。また、デバイス上でスキャナを開くときに開くファイルを知るためのアクティビティもアプリケーションに追加しています。

ステップ8。 全部できた!

これで、デバイスでアプリケーションをコンパイルして実行できるはずです。 コンパイルエラーがある場合は、プロジェクトをクリーンアップしたり、Eclipseを再起動したりすることができます。


ありがとうございます
このブログは多くの方々に感謝しています。

  • Telenerisの夏の2012で拘禁されたAlberto Landaverdeは、Zxingライブラリを修正し、初期の単純化されたライブラリを構築しました
  • 現在のTelaerisインターンのケリー・リム(Kelly Lim)は、この図書館を持ち、それを超えて DataLockr Androidアプリ ケリーもこのブログの内容を書きました。
  • 現在のTelaerisインターンのJake Phamは、このチュートリアルを通し、すべてが宣伝されていることを確認しました。

次回の記事では、ZXingライブラリをポートレートモードとランドスケープモードの両方でスキャンする方法について説明します。 そして時間があれば、すべての努力の成果を見てみましょう。 DataLockr。

DataLockrLogo
見える。 スキャンされる。 共有する。

コメントを残す

*

ブログの更新

ニュースレター


代理人と話す

お問い合わせ

電話番号:858-627-9700
ファックス:858-627-9702
-------------------------------
9123チェサピーク博士
サンディエゴ、カリフォルニア州92123
-------------------------------
sales@telaeris.com