4

ようなシナリオは次のとおりです。のContentProviderはソース

  • 私は基本的にのMapViewで構成されてAndroidアプリを持っています。
  • このアプリは、FoursquareやWikipediaなどのさまざまなWebサービスを照会して、場所のリストを取得し、マップにプロットします。

質問、

  • は、誰もが、データ・ソースは、ウェブ(上記のもののような)サービスではなくデシベルでコンテンツプロバイダを構築する方法を知っていますか?あなたが私を正しい方向に向けることができれば素晴らしいだろう。

ありがとう!

+0

同じことをしたいだけですが、Webサービスに直接問い合わせるのではなく、コンテンツプロバイダーがそれをやっていると思います。このようにして、私は外部のアプリケーションを使ってさまざまなWebサービスに接続することができました。 – androidtje

+0

WebサービスへのContentProvidersのその他のオプションについては、http://stackoverflow.com/questions/4097686/restful-frameworks-for-android-iosに掲載されています。 –

答えて

1

私はあなたと同じものを探していましたが、私はDataDroid http://www.datadroidlib.com/を見つけました。私は使い方が簡単だと思うし、WebサービスがREST指向であればRESTを扱う簡単な方法だと思う。

編集:非推奨と

DataDroidは、現在マークされています。彼らはhttps://github.com/stephanenicolas/robospice

1

は、誰もがデータソースがWebサービスであるコンテンツプロバイダを構築する方法を知っています見Robospiceに移動していないデシベル(上記のもののような)?

次の回答はかなり古風な「手動」方法と考えられます。

あなたは Webサービスを照会し、カーソルに得られた結果を変換し、コンテンツプロバイダを構築することができます。

Webサービスを照会するには、HttpClientHttpGetリクエストを使用できます。これを行う方法については、MyKongのチュートリアルを参照してください。これを行うにはnewer alternativesもあります。

あなたは、Webサービスから取得した検索結果の解析中に、あなたはすべての個々の結果をのAddRow()に行を追加することにより、MatrixCursorクラスを使用して独自のカーソルを作成することができます。あなたがこれを行うとしたら

、あなたは常に(すなわちCursorLoaderAsyncTask、またはスレッドの別のフォームを使用して)バックグラウンドスレッドを通して、あなたのコンテンツプロバイダを呼び出し、そうでない場合は、ネットワークの操作がメインUI上で必ず終わるだろう作ります糸。

関連する問題