読者です 読者をやめる 読者になる 読者になる

★ The Tsuchinoko News 2 (つちのこ通信2) ★

重要な話から、どうでもいいことまで。ほとんど役に立たないことを書き連ねています。

【PC】その後のAndroid のお勉強(USBホストを使ったデータコレクタの試作)

f:id:tsuchinoko118:20120818160339j:image:left:w280
先日来(ここ1ヶ月ほど)Androidアプリの開発のお勉強をしている。最初はよくわからなかった Javaの言語仕様、クセ、Android-SDKの言語仕様、クセがそこそこ見えてきて、バグやよくわからない(なぜこんな仕様なのか)仕様なども何となくわかってきた。一番驚いたのは MicroSoft系というかカーニハン・リッチー時代のC言語にあった Struct がなかったことだった(笑)たしかに Classで置き換えできるが、非常に多くのコードを書かねばならず *p++; の表記がエレガントだったことからすれば(笑)Struct でも Structure でもいいから装備しておいて欲しいものであったりする。(個人的感想です)Hello World!!なんか真似しなくてもいいから Structを(笑)次に驚いたのは 大域変数が使えないことだ(笑)こちらも singltonの手法で出来ないことはないが、これまた非常に面倒だ(個人的感想です)。そして ListView 周りのややこしいこと、この上ない仕様も・・・
f:id:tsuchinoko118:20120818160340j:image:right:w360
もうちょっとエレガントに記述したいのだが、Android では、どれもこれもややこしく(ある意味、構造化からはどんどん離れていきそうな・・・個人的感想です)。
逆に勉強になったのは、こういう小型のデバイスなりのハウツー。すぐに Out of Memory になってしまうほどに非力なので、それなりの工夫をしなくてはならなかったりする。String は使わないで StringBuilder を使わないと遅くてしかたがないなどなどは、勉強になったが、筆者がはじめてコンピューターを触った TK85 や その後長いつきあいだった Z80 の頃の考え方や手法が再登場して、妙にノスタルジックな気分に浸れてしまったりして、けっこう楽しんだ(笑)また、普段は滅多にやらない PC との連携(主に BluetoothTCP/IP)、併用スタイルの技法などは数日徹夜するほどに熱中してしまった(年甲斐もなく(笑))
ずいぶん慣れてきたので、最初に取り組んだ「縦カメラのバーコードリーダー」と、速度的な不満を解決する「USBホスト機能を使ったバーコードリーダー」に、データの蓄積機能と、PCへの転送機能をつけて”データコレクタ”をつくってみた。
f:id:tsuchinoko118:20120818160341j:image:left:w180
内蔵のデータベースである SQLiteと組み合わせると、筆者のお仕事の主要な場面で、かなりいろいろ使えそうな気配だ。(データコレクタは基本機能なので、これだけなら無料アプリにしかならないだろうけど)
最初は、”ハンディターミナル”の代用程度に思っていたが、それ以上のことはやっていけそうでもある。昨年の VS2010 修得に続いて Android/Java 修得で、また世界観が広がった気がする今日この頃だ(笑)

f:id:tsuchinoko118:20120816161427j:image:right:w180
今は Android でやってるけど、たぶん iOS や MS-Windows Phone 8 も同じようなノリなんだろうなぁ。(そりゃそうだ)今度はそっちに幅を広げてみても面白そうだ。