woshidan's blog

そんなことよりコードにダイブ。

ActionBarSherlockに関して

こんどはmixiの研修を見ながら、Androidの勉強をちょびちょびやってます。

引っかかってもそれなりに解決したりしなかったりして、書くことがなかったりするのですが、

ちょっと、つんでる点1点。

 

ActionBarSherlockに関して

Android 2.2xより前でActionBarの機能を使うために必要とかいう話なのですが、

ここhttp://actionbarsherlock.com/でダウンロードして解凍して、

解凍したフォルダをルートディレクトリとして指定して、ワークスペースにインポートしてインポートされたプロジェクトのアイコン見てると、

actionbarsherlock(警告あり)

actionbarsherlock-fest(×)

actionbarsherlock-i18n(普通)

ってなっていて、一体なんなの、という感じです。

で、全然知らないままブログ書いてもしかたねえなと思って少しおちついて調べることにしました。

 

actionbarsherlock(警告あり)

actionbarsherlockの警告ありは

ダウンロードして来た状態だと、SearchManagerというクラスのインスタンスが使われてないせいで特に問題なさそうです(怠惰)。 

actionbarsherlock-i18n(普通)

i18nというのはAndroidを国際化するときの規格みたいなもので、

翻訳した文字列リソースが入っていました。

values-af

values-am

values-ar

みたいな感じで、resディレクトリに他言語対応用のフォルダがずっと並んでいます。

srcディレクトリ空ならエラーにならないですね、納得。

 

actionbarsherlock-fest(×)

Androidテスト書いたことない初心者なので

festって何よ、という感じでしたが、

AndroidJUnitテストのフレームワークのライブラリらしいです。

で、どこが赤くなっていたかというと、たとえば、

import static com.actionbarsherlock.app.ActionBar.DISPLAY_HOME_AS_UP;

としょっぱなのimportのところから赤くなっておりました。

 

しょっぱなからというより、しょっぱなだけですね。

これ単に参照するライブラリのところに本体のactionbarsherlockが入ってないからっぽいです。

 

それで、参照するライブラリにactionbarsherlockを足してあげたらそれなりに直りました。

それなり、というのはまだ

import org.fest.assertions.api.AbstractAssert;

などfestがついた赤くなってるimport文が残っているからです。

見る限り、あとはorg.fest.assertions.api.comのパッケージあたりを入れればいいと思われますが、とりあえずこの子は動かなくてもactionbarsherlockが使えることが分かったので、よかったです。

 

一旦、workspaceからおさらばしていただきます。

 

って全然、つんでなかったですね。

ActionBarSherlockを使ってListViewを表示させようとしたとき、

ListViewやTextViewのリソースがありませんと言われて萎えた問題も

もう一回ぶちあたったとき、http://actionbarsherlock.com/theming.htmlを読みながら、

状況を書いていけば解決しそうですね。

今度再現されたら書くかも。