読者です 読者をやめる 読者になる 読者になる

ここにタイトルが入ります

デザイン&プログラミングのことも書くし、それ以外のことも書く。

【Android】GPSから位置情報を取得 〜エミュレーターのAndroid 2.3.3を選択すると再起動して位置情報が取れないエラー〜

Android eclipse

遅々として進んでおりませぬが、Androidの開発をこっそりやっています。

端末の位置情報を取得したいので、下記のサイト等を見ながら実装して見ました。


〜参考になりました!!〜
AndroidでGPSセンサを利用する方法 « Tech Booster
Androidで位置情報取得のベストプラクティス - OrangeSignal ブログ
【Android】位置情報取得に関するまとめ | 湘南社中テクニカルブログ


で、いざ動かしてみよう!と思ったのですが、
エミュレーターで動かしてるわけですから位置情報取れないんですよね(゜_゜)
そりゃそうだ。


で調べてみると、DDMSというもので設定できるらしい。
(DDMS:Dalvik Debug Monitor Serviceというデバックツールセットみたいなものらしい)


〜参考になりました!!〜
Google Map を利用したAndroidアプリの作成(3) « 株式会社デジス


Eclipseの場合、上部メニューから
Window → パースペクティブを開く(open perspective) → DDMSを選択(なければOther…から選択してね)
で設定画面が開くので、location controlという画面で緯度経度を設定しましょう!!

f:id:blog_711fumi:20130120020523p:plain

「Manual」だと、指定した緯度経度の情報をSendボタンでエミュレーター端末に送信することができます☆
「GPX」とか「KML」を使うと、連続して違う位置情報を送ったりすることもできるようです(試してないよ)。
GPSログを読みこませる?らしい。
ユーザーが移動している状況を想定するためのものかな?


位置情報が取得できない

で、デバッグを実行して、DDMSから位置情報を送信!! ってやっても何の反応もなし…
それどころか勝手にエミュレーターが再起動(´・ω・`)ガッカリ…

エラーでぐぐってみると、全く同じエラーで困っていた人に遭遇。


〜参考にさせていただきました!〜
Getting GPS on Android 2.3.1 and 2.3.3 - Stack Overflow


バグ??エミュレーターのバグなの?
ちょっと英語が理解できず、更にぐぐってみると解決法が!


〜参考にさせていただきました!〜
スマートフォンアプリで表現したい DDMSからAndroid SimulatorへGPS情報を送ると再起動する


自身の持っているAndroid端末のバージョンが2.3.3だったので、開発もそれを基準に進めようと
エミュレーターのバージョンも「Android 2.3.3」を選択しておりました。

これがダメだったみたい…
違いがわからないんですけど、デバッグで使用するエミュレーターのバージョンを
Google APIs」(これも2.3.3らしい?)に変えるとうまく動きました。


なんやってん。