記事一覧

Screen resolution

今アンドロイドappの開発は主にエミュレータベースでやっております。エミュレーターではスクリーン解像度を任意に設定できるようになっているんで いろいろ変えてレイアウトなどをチェックしているんですが、どうも以下のコードで解像度をチェックしてみたところ横幅が320のまま変わらない。

WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Log.d("display", "w:" + display.getWidth());

なぜかと思って調べてみたら、どうやらSDKのバージョンが関係あるようです。
http://romly.com/archives/2010/08/android_api_screensize.html
SDKバージョンが3以下(=Android OS 1.5以下)だと 横320pxを越える解像度は扱えないようですね。
minSdkVersionを7にしたらちゃんと指定した解像度になりました。

I'm working with Android emulator, on which you can set arbitrary screen resolution. But invoking the code below to get screen size only get 320px width while I set various resolution on the Emulator Settings.

WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Log.d("display", "w:" + display.getWidth());

The reason was the setting of SDK version.
If the minSdkVersion is 3 or lower (Android1.5 or lower) you cannot handle the screen width bigger than 320.
I rebuild the project with minSdkVersion=7 (Android OS 2.1) and got the result as desired.

Android

Andoroidアプリを勉強しております。
とりあえず、Andoroidアプリの構造とか、使用言語であるJavaの文法とかは本を読めば理解できるし、忘れたら読み返せばいいだけなのでほぼ問題ないんですが、問題は開発環境の Eclipse や Andoroidエミュレータのクセとかですね。

とりあえず、今日は System.out.println の出力を見るにはどうしたらいいのかで10分か20分ほど戸惑ってしまいました;
(ちなみに正解は Window -> Show View -> Other... -> android -> Log Cat です。)
他にも ImageView に配置した画像の縮尺が、Eclipse上で見る限りどうしても意図通りにならないのだけど、実行してエミュで見たらとっくにちゃんと出来ていた、とか、他人の実機でテストしようと思ってネット経由で .apk ファイルをやりとりしようと思ったが署名が無効なのか何なのかインストールできない(未解決;)、とか・・・

そんな感じで大変なこと山盛りですが、Eclipseのコード入力支援は XCode より親切な部分も多くて助かりますね。あと、Javaはメモリ管理がガベージコレクションなので気楽です。
リソースの扱い方も iOS よりスマートでいいな。

とりあえずいろいろ難しそうですががんばります;

ページ移動