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に
と表示される事にきづきました。つまり、大文字だめよ、ということらしい。
なので、リネームしてやるとまずはクリア。R.javaができました。
2. R.drawable.iconが使えない。
これは、新しいsdkでプロジェクトをつくると、そもそも、icon.pngというファイルが生成されず、ic_launcher.pngというのができる。なので、まず、iconの部分をic_launcherに書き換える必要があります。
つまり、
と書き換えればOK。でも、drawableというフォルダないじゃん、てことなんですがここも、osなりが勝手に自分の画面解像度に合わせたリソースを読んだり、たりないのは他のフォルダから読み込んできたりするらしいので、R.drawable-hdpiとかにする必要がないらしいです。実際にR.javaをよむと、
なるほど!と膝をうったわけですが、サンプルが動いたのみで、さてさて、という昨今。
(先人に感謝!
http://techbooster.jpn.org/andriod/environment/5796/
)
が、素人でかつ、参考書を丸写しをするとどうしてもつまづくところがあり、いままではそこで放置してましたが、意を決して調べました。
具体的には、R.drawable.iconという記述が昔の参考書にはでてきます。
が、現在のeclipseとandroid sdkでターゲットを2.3.3などとしていると、このR.drawable.iconが使えないぞ、そしてそもそもR.javaというのができていないぞ、という問題に直面してました。
そもそも、R.javaとは何ぞや?というところなのですが、うっすら理解したところだと、プロジェクトの中のリソース(Resource)のリストみたいな働きをしているらしい、と。
リソースを集めて速し、、、R.java |
で、これは、勝手に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 class drawable { public static final int ic_action_search=0x7f020000; public static final int ic_launcher=0x7f020001; }などとなっております。
R.javaのなかみ。リソースが一覧になっとります。 |
なるほど!と膝をうったわけですが、サンプルが動いたのみで、さてさて、という昨今。
(先人に感謝!
http://techbooster.jpn.org/andriod/environment/5796/
)
コメント
コメントを投稿