shimada-kの日記

ソフトウェア・エンジニアのブログです

Titanium Mobileでscanditモジュールを使う

Titanium MobileでQRコードの読み取りをやってみました。

環境
Titanium Studio 2.1
Android 4.0

scanditにサインインして確認メールのURLからダウンロードページに行きます。
そこからzipファイルをダウンロードできます。

Titanium Mobileでモジュールを有効にするときはプロジェクト直下のディレクトリにzipファイルを配置します。

f:id:shimada-k:20130108225525p:plain

この状態でビルドすると自動的にzipファイルが展開されてプロジェクトにモジュールがインストールされます。

あとはscanditのホームページにサンプルのコードが載っているのでプロジェクトのapp.jsにコピーします。

さらにtiapp.xmlにscanditのモジュールを追加して、scanditにサインインした時に付与されるIDをサンプルの「--- ENTER YOUR SCANDIT SDK APP KEY HERE --- SIGN UP AT WWW.SCANDIT.COM」って書いてあるところを置き換えればよいです。

しかしこのままだとAndroidの場合QRコードのスキャンができません。AndroidではQRコードの読み取りはデフォルトでOFFになっているので、有効にしないといけないのです。

picker.setQrEnabled(true);

これでQRコードのスキャンができるようになりました。scanditはQRコードらしき物体を画面内から検出してくれてファインダーが移動してくれるので、多少角度がついていても読み取ってくれます。

左上の懐中電灯をタップするとライトをつけることもできます。

しかしながら、stopScanning()を使おうとするとエラーがでてしまいます。

謎です。stopScanning()の実行に成功された方教えてください。APIの例のまま使ってるだけなんですけどね。。

一部動かせなかった部分もあるんですが、スキャン自体の動作は担保できました。バーコードスキャンのライブラリはそもそも絶対数が少ないので、ある程度使えてTitanium用にビルドされたものがあるだけでもラッキーでした。