くんこくショップメンバーズアプリを出しました。 [Android開発]
またまたAndroidマーケットでアプリをリリースしました。
くんこくショップメンバーズアプリ
https://market.android.com/details?id=com.kunkoku.kunapp
開発経緯
このアプリはいつもお世話になっている山口県のソニーショップの店長さんである君国さんが、毎週土曜日に放送されているUST内で、アプリが欲しいみたいな話をされていた時、勉強ついでに是非やらせてくださいと依頼を引き受けたのがきっかけです。
どんなアプリ?
ついに完成!Android マーケットに公開された「くんこくショップメンバーズアプリ」!
アプリについては、君国さんがご自身のブログでかなり細かく説明して下さっているので、こちらでは適当に。
主に、twitterやブログ情報など、普段、君国さんがWebで活動されている内容を取得できるようになっているだけのものです。
機能的にはサンプルの寄せ集め的な感じになってしまいましたが、良い勉強になりました。
開発過程
twitterとの連携部分などはやった事が一度もなかったので、それなりに苦労はしました。twitter4Jなどのライブラリを使えば、色々と細かいことも出来そうですが、主にタイムラインを表示して、たまに購入したなうとつぶやく程度なので、自前でxmlを解析しています。
twitterの認証はOAuth認証を使っています。その辺りの機能は
このサンプル辺りが分かりやすくて良いと思います。
まとめ
アンドロイドマーケットでの評判は上々です。みなさん本当に優しい。リリースするまでに、色々デザイン案もあって、色々な方にアイデアを出して頂いたのですが、最終的には君国さんのアイデアで落ち着いた次第です。ご協力頂いた皆様には感謝です。
一応、起動時のアニメーションなど要望通りにはほとんど実装できているのですが、今後はちょっと独自に色々付け加えていきたいですね。
AndroidアプリUIデザイン&プログラミング アイデア固めからユーザーフィードバック分析まで
- 著者: 渡嘉敷 守
- 出版社: 日経BP社
- メーカー: 日経BP社
BeagleBoard-xM RevCにGingerbreadをのせる [Android開発]
BeagleBoard-xM RevCを会社で購入しました。これにAndroid2.3こと、Gingerbreadを入れて動かそうと挑戦したのですが、あれこれ情報を探して挑戦しては失敗の繰り返しで疲れ果てたので、まとめてみました。ですが、やり方が分かるととてつもなく簡単です。
こちらのサイトhttp://android.jpn.org/2011/05/beagleboard-xm-rev-c.html を絶賛参考にしました。
はじめに
ここでご紹介するやり方はとりあえず動けば良いレベルのやり方です。Androidのコンパイル等は一切行いません。実際はコンパイル等をして試してみたのですが、コンパイルには全て成功したにも関わらずどうしてもブートできませんでした。今後、情報がこなれてきたら再度挑戦したいと思います。
購入するもの
BeagleBoard-xM RevCは輸入するしかありません。代行業者等もあるので、そちらで購入するのが良いでしょう。検索するとヒットします。
PCとつないでログなどを確認するために、RS232Cのケーブルが必要です。BeagleBoard本体にはメス端子なので、オス端子のあるケーブルが必要です。USB変換機だと便利です。
バッファローコクヨサプライ Arvel USBシリアルケーブル 1M グラファイト カラー SRC06USB
- メーカー: バッファローコクヨサプライ
5VのACアダプター。もしくはminiUSBケーブル。どちらかないと電源入りません。
マイクロSDカード。8GBがあれば嬉しいところ。
Sandisk microSDHC 8GB SD変換アダプター付属 バルク品
- メーカー: SanDisk
SDカードリーダーライター。後で記述しますが、VM Ware上でUbuntuを動かすのですが、SDカードスロットが認識しない場合があるので、リーダーライターがあると助かります。
HDMIケーブル BeagleBoard-xMはHDMI出力なのでHDMIケーブルを買いましょう。DVI変換機でも構わないです。解像度の制約で変な表示になるときがあるので、DVI変換の方が良いかも知れません。
PLANEX HDMI-DVI変換ケーブル 2.0m PL-HDDV02
- メーカー: プラネックス
全部つなげるとこんな感じです。
環境構築
私が今回利用したPCはVAIO F (VPCF1) Windows7 64bitです。
Ubuntu10の64ビット環境が必要です。但し今回はコンパイルをしないので32bitでも大丈夫です。また環境は仮想環境でも問題ありません。
私はVMWare Player上にUbuntu10をインストールしました。実はUbuntuは初めてだったり。
Windows上にはTera Termなどのターミナルエミュレーターをインストールします。このターミナルエミュレーターでBeagleBoardのログを見ます。
SDカードの作成
以下Ubuntu上で作業をします。あと面倒なのでrootで作業をしています。
1.Texas InstrumentsのTI_Android_GingerBread_2_3_DevKit_1_0 ProductからPre-built ImagesのBeagleBoard xMをダウンロードします。
ダウンロードしたディレクトリは/home/root/downloadとします。
2.ダウンロードしたbeagleboard-xm.tar.gzを解凍します。
$ tar zxvf beagleboard-xm.tar.gz
3.実は上のイメージでUSBが動作しないので、パッチをダウンロードします。
絶賛参考にした http://android.jpn.org/2011/05/beagleboard-xm-rev-c.html からダウンロードします。ダウンロードしたディレクトリは/home/root/downloadとします。
4.ダウンロードしたxMRevC_patched_img.tar.gz を解凍します。
$ tar zxvf xMRevC_patched_img.tar.gz
5.U-BootとLinux Kernelを差し替えます。
$ cd beagle-xm/Boot_Images
$ rm u-boot.bin uImage
$ cp /home/root/download/xMRevC_patched_img/u-boot.bin .
$ cp /home/root/download/xMRevC_patched_img/uImage .
6.起動用micro SDの作成
SDカードをセットしてmkmmc-android.shというスクリプトファイルを実行すると、
SDカードのパーティション生成からフォーマット、ファイルのコピーまで自動でしてくれます。これは神スクリプトです。
このスクリプトファイルは、日本語環境のUbuntuで実行するとパーティションを作るときにおかしくなるらしいので、言語設定を変えます。
$ export LANG=C
引数はSDカードのデバイスファイル。dfコマンドなどでSDカードの場所を確認しましょう。
$ cd ..
$ ./mkmmc-android.sh /dev/sdb1
しばらく待つと[Done]と表示されます。後は出来上がったSDカードをBeagleBoard-xMに刺してResetボタン押すと起動できます。
補足
PCとRS232Cで接続してTera Termなどのターミナルエミュレーターで見ると、ログを見る事ができます。但し設定を変更しないと文字化けで見れません。設定→シリアルポートで、ボー・レートを115200に変更します。
起動させてみましたが、もう恐ろしいぐらいに遅いです。起動には約10分ぐらいかかりますし、動作も遅すぎる。これをチューニングする自信はこれっぽっちもありません。。。
ちなみに、戻るボタンは右クリックで行えます。あと、シャットダウンはSHIFT + End キー長押しです。
唯一無二の参考書。但しGingerbreadについては書いてないそうです。。。
BUFFALO カードリーダー/ライター 43+7メディア対応 ホワイト BSCRA26U2WH
- メーカー: バッファローコクヨサプライ
Androidマーケットにカメラアプリを出しました。 [Android開発]
またアプリをリリースしました。
シンプル合成カメラ
https://market.android.com/details?id=com.taiseiko.camera.twoShot
開発経緯
本当は別のアプリを出すつもりだったのですが、煮詰まってきていたので、とりあえず出来るものを出そうと思い、以前、カメラに合成写真を作るアプリを試しに作っていたのですが、それを改良してマーケットに出せる品質にまで高めてみました。
どんなアプリ?
シンプルにカメラの映像の上に合成写真を作るアプリです。貼り付ける写真はギャラリーからも選択できますし、とりあえず何種類か用意しておきました。
合成した写真はピンチ・イン、ピンチ・アウトで拡大・縮小はもちろん、ドラッグで場所の変更も可能にしています。このアプリを使うと
こんなUFOを撮影したような写真や
俺の部屋にもっちーがぁぁぁみたいな写真が簡単に作れます。
開発過程
以前、カメラを使うアプリの解説で書いたのと同じく、合成させたりすると、間延びしてしまったり、縦に長くなったりと比率がなかなか合わないのに苦労しました。実はAndroidはプレビューと撮影時のサイズがバラバラな機種が多く、プレビューサイズでカメラを保存しようとしたら、そんなサイズ知らないよって感じでクラッシュしたりします。
とりあえず4:3で表示しているため、Xperiaではちょっと余白が出てしまいましたが、なんとか縦伸びにならずに済みました。
もう一点悩んだのが、マルチタッチです。マルチタッチのサンプルコードは結構沢山Webにありますが、どれも結構中途半端です。具体的には枠から飛び出したり、果てしなく大きくなったり小さくなったり… 今回のアプリではサイズの上限は指定していますが、ドラッグの範囲は指定できていません。ただ、見失った場合はリセットできるようにしました。
他はほぼ、以前の「Androidでカメラを使うプログラムを書いてみた」と同じです。
まとめ
これでアプリの登録は2件目になりました。マーケットにアプリを出すと、どの端末にどれだけインストールされたのか?どのようにクラッシュしたのか?など様々な情報が見る事ができます。
コメントとか動かないと必ずと言って良いぐらい★ひとつでガッカリしますが、見ていると楽しいですね。一応、英語の表記に対応させていると、インストール数は爆発的に増えるのを実感しています。世界は広い!!
どういう訳かXperia X10はインストール候補になっているのですが、SO-01Bはインストール対象外になっていて残念な感じなのですが、良かったらまたお試し頂けると幸いです。
宙 -そら- / 響 -こえ- (DVD付) (ジャケットA)
- アーティスト: Every Little Thing
- レーベル: avex trax
- メーカー: avex trax
入門 Android 2 プログラミング (Programmer’s SELECTION)
- 著者: Mark Murphy
- 出版社: 翔泳社
- メーカー: 翔泳社
Androidのカメラを使うプログラムを書いてみた
Androidマーケットにアプリを出してみた
Androidマーケットにカメラアプリを出しました。
3流プログラマがAndroid開発本を紹介してみた。 [Android開発]
なんだかんだでJAVAを普段、業務で扱っている私がAndroidの開発本を何冊か読んでみた感想を書いてみようと思います。
一応、Androidマーケットにアプリを出してはいますが、私は業界から見れば底辺に近いぐらいの存在なので、そこのところを理解していただけると嬉しいかも。逆に言えば、初心者の方やこれからAndroidアプリ作りたいと言う方には参考になるかも?知れません。
Android Layout Cookbook アプリの価値を高める開発テクニック
- 著者: あんざい ゆき
- 出版社: インプレスジャパン
- メーカー: インプレスジャパン
Androidの開発されている方では結構有名なあんざいさんの書籍。AndroidはGUI部分はxmlで記述するのですが、若干コツがあって理解するのが大変なのですが、この書籍は様々なノウハウが詰まっています。Amazonでの評価はイマイチですが、私は結構良いと思いました。
お馴染みの開発環境の構築から、OPEN GLを利用した描画方法まで広く浅く書いてある書籍です。個人的には初歩からわかると書いているのなら、もう少し初心者向きのページを多くあっても良いような気がしました。
結構古い本ですが、今でもなかなかこれを超える本が無いと言われるぐらいの名著です。概念的なところもじっくりと書いてあるのですが、ちょっと文章はたいくつかも。これを作りたいとか、サンプルを取りあえず見たいような場合には向いていないです。
Android Hacks ―プロが教えるテクニック & ツール
- 著者: 株式会社ブリリアントサービス
- 出版社: オライリージャパン
- メーカー: オライリージャパン
Android開発をしていれば一度は聞いたことがあるであろうブリリアントサービスが書いている書籍。NDKの事やエミュレーターの各種設定までかなりディープな内容まで書かれていいます。ただ、ちょっと読みにくい気もします。
AndroidSDK開発のレシピ―104個のレシピで学ぶAndroidアプリ開発の極意
- 著者: 塚田 翔也
- 出版社: 秀和システム
- メーカー: 秀和システム
あまり初心者向きではないかも知れないですが、ピンチイン・ピンチアウトやアニメーションなどこういうのやりたかったんだ!と言うようなテクニックのサンプルが多数載っています。これ一冊あるとかなり便利だと思います。
Google Androidアプリケーション開発入門 画面作成からデバイス制御まで――基本機能の全容
- 著者: 木南 英夫
- 出版社: 日経BP社
- メーカー: 日経BP社
今となってはかなり古いですしAndroid1.5ぐらいの内容の書籍ですが、日本語が丁寧でとても読みやすいです。サンプルコードもマネしやすいので私は重宝しました。今でも参考にしたりします。
逆引きはやはり便利です。サンプルも豊富で充実しているのですが、解説が少なく突っ込んだ内容は得られません。便利なのですが、いきなりこの本はオススメしずらいです。
コードからわかるAndroidプログラミングのしくみ 開発で困ったときの解決アプローチ
- 著者: フランク・アブルソン,チャーリー・コリンズ,ロビ・セン
- 出版社: 日経BP社
- メーカー: 日経BP社
この書籍は翻訳だけあって結構読みにくいのですが、結構奥が深いです。さすが、Googleの中の人もオススメするだけあります。ただ、こちらも内容がAndroid1.5ぐらいなので古いですね。
さて、参考になったでしょうか…それにしてもAndroid開発本は増えましたね。Webで情報を探しても沢山出てくるので、気に入った本を数冊持っていれば案外事足りるかも知れません。
自分だけのアプリを作ってみよう。
Androidマーケットにアプリを出してみた [Android開発]
Androidマーケットにアプリを出してみました。
ポータブルWi-Fi アクセス
http://market.android.com/details?id=com.taiseiko.tetherWidget
開発経緯
Android2.2からは標準の機能でポータブルWi-Fiアクセスつまり、Wi-Fiテザリングの機能があります。しかし、残念ながら国内で販売されているAndroid端末の多くはこの機能が塞がれてしまっていて使えないに等しいのですが、カスタムROMやrootを取得してファイルを弄る事で有効にできます。
私のXperia arcも標準のテザリングを有効にしてみたのですが、この設定がどうも深い。深すぎて面倒くさい。それならば、ウィジェット作ってしまおうと思い作ってみました。
開発過程
実は作る前はAPI一つ呼び出せば楽勝だと思っていたのですが、テザリングのAPIは実は非公開API(@hide)で初めは諦めようと思いました。ただ、ググるとどうも無理やりできそうな感じなのを掴めましたので、Androidのソースを見ながらリフレクションでメソッドを呼び出して完成した次第です。
以下のような感じでメソッドを呼び出しています。これはWifiアクセスポイントが有効か否かを取得するAPIです。
private boolean isWifiApEnabled(Context context) {
WifiManager wifi = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
Method[] wmMethods = wifi.getClass().getDeclaredMethods();
for (Method method : wmMethods) {
if (method.getName().equals("isWifiApEnabled")) {
Log.i("isWifiApEnabled", "getMethod");
try {
Object o = method.invoke(wifi);
Log.i("isWifiApEnabled", o.toString());
return (Boolean) o;
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
return false;
}
このような感じで、それっぽいAPIを駆使して作ります。参考にするのは
android.net.wifi.WifiManager
com.android.settings.TetherSettings
です。
マーケットの登録
マーケットの登録は初回に25ドル、日本円で約2000円がGoogleクレジットで必要になります。電話番号の入力が国番号(+81)なども入れなければならないので、ちょっとややこしい(06-xxxx-xxxxの場合、「+81-6-xxxx-xxxx」の形式で入力しなければならない)のですが、書籍などを見れば注意点なども記述されていますので、大きな問題は無いと思います。
まとめ
今回はとりあえず登録する事だけが目標でしたのでこれで良いのですが、今後はもう少し面白いアプリなどを考えたいですね。ただ、アプリそのものの開発よりもアイコンや国際化対応のための英語表示などに変な労力を必要としてしまいます。ここはパートナーを見つけるとか、自分なりに語学力を磨かないと広く世間に伝える事ができないと痛感しました。
良かったら、ダウンロードして試してみて下さい。無料ですし、広告も表示されません。
最近購入しました。凄く良いです。
珍しいゲーム向けの書籍。OpenGLはややクセがあるので本があると助かりそう。
OpenGLで作る Android SDKゲームプログラミング
- 著者: 中島 安彦,横江 宗太,株式会社パンカク
- 出版社: インプレスジャパン
- メーカー: インプレスジャパン
Androidのデザインと言えばこの著者の方は有名です。
Android Layout Cookbook アプリの価値を高める開発テクニック
- 著者: あんざい ゆき
- 出版社: インプレスジャパン
- メーカー: インプレスジャパン
Androidマーケットにアプリを出してみた
Androidマーケットにカメラアプリを出しました。