2011年5月31日火曜日

エミュレータの音がでない - android -

エミュレータで音量等を変更しても何の音も出ない。
マナーモードに設定されています
とか何とか。。。

とりあえずmp3を再生すべく
adb shell から sdcard にディレクトリを作って適当なファイルを突っ込む。↓
これだけでは再生できないのでエミュレータから
Dev Tools -> Media Scanner
で音楽を再生すると無事成功!
着信音にmp3ファイルを指定するとなぜかその他の音も出るようになった=3


あんまりエミュレータはあてにならないっぽいなー。
DDMSもなぜかファイルエクスプローラもエラーでまくるし、あんまり役に立たない。
Dev Tools ってなんだろ…?初めて使いました。
また調べることが増えた。

2011年5月24日火曜日

位置情報とかGeocoderとかLocationManagerとか

LocationManager はエミュレータの API レベルが8以上だと使えませんでした。
APIレベル7なら大丈夫みたい。
8以上だとエミュレータが落ちるし・・・。(ウチだけか?)たのむぜgoogle先生(#^ω^)

GeocoderクラスをつかってLocaleから住所を取得。↓
Geocoder geocoder = new Geocoder(context, Locale.JAPAN);
List addressList =
geocoder.getFromLocation(locale.getLatitude(), locale.getLongitude(), 5);// 引数末尾は返す検索結果数(1~5推奨とか)

String resule;
for(Address address: addressList){
    String addressLine = address.getAddressLine(1);
    if(addressLine != null &&
        (result == null || result.rength() < addressLine.rength()))
    result = addressLine;
}
addressLineの2行目で一番長いのをもってくると。
1行目は国名が入っているのでそれ以外は場所によって通りの名前だったり住所だったりするみたいだが、大体住所が入ってる。ただ〇丁目までだったり〇丁目△ー□だったりするので一番長いのを使ってみる。もしかすると住所のほうが通りの名前より短い場合もあるかもしれないので、このまま使うのはまずい・・・かなー。
メモ


method

return
getCoundryName()国名
getAdminArea()都道府県
getSubAdminArea()よくわかりません
getLocality()市区町村
getSubLocality()これまた不明
getFeatureName()AddressLineの最後の方…
getPostalCode()郵便番号
getPremises()これも不明
getThoroughfare()意味としては通りとからしいが取得できず
getSubThoroughfare()〇丁目?

通りすがりの人教えてくれんかな |ω・`)
 googlemapでアドレスバーにスクリプト入れると座標がでる
javascript:void(prompt('',gApplication.getMap().getCenter()));
 
なんか、とにかく使い勝手わるくね?
あんまり日本向けになってないのかな。
なんで戻り値がAddressのリストで、引数にリストのインデックスの最大値って意図がわかりません。
中身も住所だったり地名、通りの名前だったり郵便番号だったり。
Addressクラスもしっくり来るメソッドないっぽいし・・・。

2011年5月7日土曜日

画面いっぱいに表示されない…

エミュレータの画面サイズを自分で指定するとなぜかウィンドウいっぱいに
表示されないという事象が …
なぜだかよくわかってないけどとりあえず manifestでmin SDK versionを4とすると解決した。

こちらを参考にしました↓

http://ameblo.jp/strobesystems/entry-10797671979.html

追記:
android1.5まではHVGA(320×480)まで?しか?サポートしてないそうで
それが原因のようで。