« 11.27 スポッチャ、初上陸 | ココ | 12.02 QRコードが読めなかった »
2010年12月 1日
QRコードを作ってみる
なんだか、自分のケータイ番号とか、メアドとかを交換しようとしても赤外線通信をするやり方を思い出せなかったり、そもそも赤外線通信をしようとしても時間がかかる上にパスワードまで入力しないといけなかったりと、この上なく面倒くさい思いをしたので自分でQRコード作ってスキャンしてもらうのがええんでね? という結論に至りまして。そもそもXPERIAは赤外線がなくてBluetoothやし…。
任意のテキストをQRコードにして表示するアプリなんぞを試しに作ってみるわけです。まぁ、QRコード作るくらいなら自分のアプリでなくてもWebサービスとか有名なアプリを使えば早いんでしょうが、ここは勉強がてらという事で。
- JavaでQRコード生成(ref. Ma note)
- QRコードクラスライブラリ for Java ver. 0.50beta(ref. swetake.com)
とりあえずはJavaでQRコードを作るために必要な材料は↑を使うってことで、簡単にできそう。問題は、AndroidのImageViewに画像をどうやって押し込むか。上のサンプルコードはBufferedImageからファイルに落とすところを書いているので、ファイルじゃなくて画面に直で出そうと調べていたら、AndroidではBufferedImageをそのまま使えないという。
- java.awt.BufferedImage から android.graphics.Bitmap へ(ref. Android でいろいろやるよ!)
- [Android] 動的に作成した Bitmap を編集する方(ref. adakoda)
調べた結果、AndroidのBitmapクラスを使って、そこに描画するようにすればいいっぽい。.netでいうGraphicsオブジェクトに描画する感じで(GraphicsオブジェクトはCanvasオブジェクトに相当)。感覚は掴めたので、早速作ってみた。
んで、単純なQRコードが作れたので次は日本語に挑戦。QRコードでの日本語の表記はSJISでするっぽいです…なんとまぁ。そろそろUTF-8でも対応できるようなコードになったりしないのかな。というわけで、バイト列に変換するときにSJISに変換するのはJavaではそんな大したことをするわけではないのでさくっと。
- UnicodeからShift-JISへの変換(ref. LangEdge Weblog)
- 2次元コードについて(ref. QRコードドットコム)
- 作成するQRコードのバージョン(セル数)指定(ref. cman.jp)
ついでに、最初に参考にしたサンプルコードだとQRコードのバージョンが4だったのでバージョンを10に上げてみた(おそらくガラケーで読める最大サイズ)。
ふれてやってください。
By ただ at 23:51 カテゴリー ; プログラミング単語帳 , プログラミングとか
« 11.27 スポッチャ、初上陸 |
12月の記事
| 12.02 QRコードが読めなかった »
トラックバック
このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/1698