日別アーカイブ: 2013-04-12

Androidアプリ進展

なんでも一通りの経験を積まないと事が成功しないことは以前にも述べましたが、アプリ開発で今回も3日ほど悩んで解決した事柄を記します。位置情報を求めるべくLocationManagerがサポートするgetLastKnownLocationやrequestLocationUpdates関数を呼び出すところで実行時エラーが起きます。最初は何が何やら不明でしたがエラー発生箇所を特定し、上記関数で異常終了していることを突き止めました。

LOG-02

LogCatのログメッセージに
AndroidRuntime(16524): FATAL EXCEPTION: main
java.lang.SecurityException: Requires ACCESS_FINE_LOCATION permission
の記述を見つけたので、permission指定が設定されていないことが原因と判明しました。多くの先駆者がデバイスアクセスを許可するため、AndroidManifest.xmlに
<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” />
のような指定をすべきと教えてくれます。一旦、プロジェクトを閉じてテキストエディタでXMLファイルを編集し、再びプロジェクトを開いてビルドしてもXMLの編集効果はありませんでした。編集はパッケージエクスプローラからAndroid.XMLを選び、追加-Uses Permission-Nameと指定し、右端の▼をクリックして許可名を選択します。

Manifest

要点はソースの修正などはテキストエディタでの変更が利くのに、XMLでは反映されないことがあるのでECLIPSEのツールによって修正したほうが無難ですということをお伝えします。