2012-01-20 AKB48.javaとかマジ頭悪い
SimpleExpandableListAdapterで子要素にオブジェクトを持たせる
ExpandableListAdapterをお仕事で使っていて、ちょっと困りました。
ExpandableListViewをメニューとして使って、なおかつ裏でidとか持たせておいて、タップしたときにそのidを使って画面遷移とかしたかったんですよ。
でもなんかExpandableListView周りのサンプルをググってみても、結局リストに渡しているのがStringだけだったりするし、しかもリストに渡したStringを全部表示してたりしてて、「表示されない要素(というかオブジェクト丸ごと)を保持したExpandableListAdapter」というのが全然見つからなかったんですよね。
ということで作ってみようと思ったんですが。
「グループ分けされてて、子要素のリストも色んな属性を保持しているデータ群」
というのを考えた所、魔が差しまして。
*1:深夜のテンションなんてそんなもんだよね!!
2012-01-13
AsyncTaskLoaderに手を出してみる
お仕事でHTTPレスポンスを非同期で受け取ってゴニョゴニョするよくある処理をしようとしています。
で、当初はHandler使って非同期処理を実現していたのですが、どうやらJavaの実務経験が乏しい僕では、Threadを直接触るのはまだ不安が残ることが身にしみて分かって来ました。
ということで、今まで敬遠していたAsyncTaskに触ってみようとしたのですが。。。
時代は AsyncTask より AsyncTaskLoader
http://archive.guma.jp/2011/11/-asynctask-asynctaskloader.html
どうやら時代はAsyncTaskLoaderのようです。ヽ(゚∀゚)ノ
コンパチに入っているのでAndroid 1.6以上で利用できますし、どうやらお手軽らしいですし、使ってみることにしましょう。
と、ここで、残念なお知らせが。
↑以外にAsyncTaskLoaderを詳しく説明している日本語サイトがない。
というか英語も公式以外にあんまりない。
AsyncTaskLoader | Android Developers
http://developer.android.com/reference/android/content/AsyncTaskLoader.html
某ましゅいさんには↑がシンプルだろと言われてしまいましたが、ちょっとパッと見ではどこからどこまでがAsyncTaskLoaderの使い方として本質的な処理なのか見えてきませんでした。僕のどしろうとめ(´;ω;`)ブワッ
まあ見つからないものは仕方ないので
作ることにしました。
AsyncTaskの超シンプルな例として、@vvakameさんのJsonPullParserのAndroid版サンプルに目をつけてみます。
jsonpullparser-android-sample
https://github.com/vvakame/JsonPullParser/tree/master/jsonpullparser-android-sample
HTTPで入手してきたJSONを整形してListViewに表示するだけ。分かりやすい。AsyncTaskもよく分かってない僕にも、何となく挙動が掴めます。
これを参考にしつつ強引に手を入れてAsyncTaskLoader化したものが以下になります。
今回はList<String>型でデータを読み込んでくるイメージで作りました。
2011-12-19 3・2・1
3・2・1
※この記事はAndroid Advent Calendarの裏エントリ12/19分です。
※表の記事はぱとらっしゅさんが書いてらっしゃいます。こちらもどうぞ。
正直なに書こうか最後まで悩んだ
他のAdvent Calendarもそうですが、Android Advent Calendarもご多分に漏れず、ガチな内容の記事が多くて、自分の番が近づくごとに『何か俺も真面目な記事を書かんとアカンのでは』とプレッシャーが積み重なっておりました。
最後の逃げ道として、ドロヒカリの半生を振り返る、というネタもあったのですが、それだとあまりに楽すぎて他の方たちに顔向けができないということで却下。*1
何かネタはないものかと、悩ましい日々を送っておりました・・・
ほれ
オーキド「そこに5台のZeemoteがあるじゃろ?」
ありました。*2
2011-08-19
GMO版GP02で、できること・できないこと
9月から1人暮らしを始めることになる関係で、メイン回線としての用途にも耐えうるモバイルルーターが必要になりました。
ということで、価格.comでいい感じの値段になっていたサイサリスGP02を、GMOをプロバイダとして契約。
1年間の実質費用:2,131円/月
なんだか異常にお安いです。あんまりお安いのであんまり注意書きとか読まずにポチりました。
で、届いてからよくよくAPNの設定やら何やらを確認してみると、どうやらちょっと制限のあるプランを使う羽目になった模様。
調べてみると、↑はEMOBILE G4 データプランBの亜種らしいです。
データプランBでは5GBまでの通信制限がありますが、GMO版ではその制限はありません。
ただし、プロトコル制限は共通です。
実際、どんなサービスが使えてどんなサービスが使えないのか実験してみました。
使えるもの
- HTTP, HTTPSでアクセスできるもの全般(=WebページはほぼOK)
- MacからのUstream配信*1
- Ustreamの視聴
- ニコニコ動画の視聴
- GitHub for Macを経由してのGitHubリポジトリの利用
- Dropbox
- Evernote
使えないもの
- AndroidからのUstream配信
- ニコ生の視聴
- コマンドラインからの
- BitTorrent*2
ざっと目についたのはこんなところです。
他にも検証してみてほしいものがあれば、ご連絡いただければと思います。
僕個人としては、GitHubが使えそうなのでひとまずOKです。






初めて「思想」というものに触れられるきっかけになってよかったですよ。
http://mixi.jp/show_friend.pl?id=15662243
http://openwiki.000space.com/
http://plus-1.freehostia.com/readres-soc.cgi?bo=soc&vi=0034&rs=01&re=01&fi=no
http://plus-1.freehostia.com/readres-soc.cgi?bo=soc&vi=0001