投稿

8月, 2012の投稿を表示しています

R.drawable.iconが使えないときは

イメージ
androidの開発をがしがしやっておりますよっと。

が、素人でかつ、参考書を丸写しをするとどうしてもつまづくところがあり、いままではそこで放置してましたが、意を決して調べました。

具体的には、R.drawable.iconという記述が昔の参考書にはでてきます。

が、現在のeclipseとandroid sdkでターゲットを2.3.3などとしていると、このR.drawable.iconが使えないぞ、そしてそもそもR.javaというのができていないぞ、という問題に直面してました。

そもそも、R.javaとは何ぞや?というところなのですが、うっすら理解したところだと、プロジェクトの中のリソース(Resource)のリストみたいな働きをしているらしい、と。



で、これは、勝手にsdkのなにかがリソースをがしがし集めてきてリストにしているらしい。

整理すると、、、

1. R.javaができない。
これはいくつか理由があるらしいのですが、xmlファイルにエラーがあるとできないらしい。それで、勝手にできるメニューのxmlを消すんですがエラーが消えず、なぜ?とおもっていると、consolに
res/raw/Emptiness.mp3: Invalid file name: must contain only [a-z0-9_.]
と表示される事にきづきました。つまり、大文字だめよ、ということらしい。
なので、リネームしてやるとまずはクリア。R.javaができました。

2. R.drawable.iconが使えない。
これは、新しいsdkでプロジェクトをつくると、そもそも、icon.pngというファイルが生成されず、ic_launcher.pngというのができる。なので、まず、iconの部分をic_launcherに書き換える必要があります。
つまり、

R.drawable.icon, を
R.drawable.ic_launcher
と書き換えればOK。でも、drawableというフォルダないじゃん、てことなんですがここも、osなりが勝手に自分の画面解像度に合わせたリソースを読んだり、たりないのは他のフォルダから読み込んできたりするらしいので、R.drawable-hdpiとかにする必要がないらしいです。実際にR.javaをよむと、

public static final clas…