私はアンドロイドプログラミングが初めてです。位置情報に敏感なアプリを作る予定です。
Google Play Services の位置情報ベースの API を使用して、ユーザーの現在位置を検出しようとしています。このために、私はサンプルコードとここに記載されている詳細に従っています:-
developer.android.com- ユーザーの現在地を検出- Location APIs- Google Play サービス
ユーザーの現在地の検出に関連するさまざまなメソッド呼び出し間の関係を理解しようとしています。上記のリンクには多くの情報があるようですが、初心者なので、ここで別のメソッド呼び出しを接続するのは難しいと思います。
したがって、上記の URL のコードから大まかに理解できるのは次のとおりです:-
- MainActivity クラスの onCreate() で、LocationClient を作成します。LocationClient は、位置情報サービスへの接続に使用されます。
- MainActivity クラス内の onStart() で、locationClientObjet.connect() を呼び出します。これは、アプリの MainActivity が表示されるたびに、位置情報サービスへの接続が試行されることを意味します。
- LocationClient を作成する前に、位置情報サービスのコールバックとして知られるものを既に定義していました。
- したがって、必要なインターフェースを実装し、それぞれのメソッドを定義します。たとえば、クライアントへの接続要求が正常に終了すると、onConnected() が呼び出されます。
これまでのところ、すべてが良さそうです。上記の部分を以下の部分に接続しようとすると、問題が発生します:-
- Location Services CallBacks を定義する前に、MainActivity クラス内に ErrorDialogFragment という内部クラスを定義しました。このクラスは、位置情報サービスへの接続試行が何らかの理由で失敗したように見える場合に、ユーザーにエラー メッセージを表示できるエラー フラグメント (アラート ボックスなど) を作成するために使用されると思われます。したがって、ここで理解できないことがいくつかあります:-
- CONNECTION_FAILURE_RESOLUTION_REQUEST = 9000; の使用は何ですか? このページのドキュメントには次のように書かれています: - Google Play サービスに送信するリクエスト コードを定義します。このコードは、Activity.onActivityResult で返されます。ぜんぜんわかりません。
- ErrorDialogFragment クラス内の onCreateDialog() が呼び出されるのはいつですか。上記の URL のページに記載されているサンプル コードのどこにも、このメソッドへの明示的な呼び出しが見つかりません。
- onConnectionFailed() とエラー フラグメントの間の接続は何ですか。
- さらに 2 つのメソッドが定義されています: onActivityResult() と servicesConnected()。servicesConnected() の使用をある程度理解しています。これは、GooglePlay サービスが利用可能かどうかを確認するために使用されます。ユーザー定義メソッドですか?そして、コールバック メソッド onConnected()、onDisConnected()、および onConnectionFailed() 内で行われていたのと同じことを行っていませんか。そうでない場合、 servicesConnected() とどう違うのですか?
- 最後に、onActivityResult() の使用方法がわかりません。ここで何をしようとしているのでしょうか。
私の無知を許してください。私は Android プログラミングにまったく慣れていないので、明確で健全な概念を学ぼうとしています。私が間違っていたり誤解したりしたところはどこでも修正してください。Vogella のリソースを調べてみましたが、あまり役に立ちませんでした。上記の概念を明確にする詳細を説明する優れたリソースは、大きな助けになります。