0

アプリケーションでデータを表示するのに小さな問題があります。実際にデータを更新するために、すべてのメソッドをメソッドに記述しましたonCreate()。したがって、問題は、表示のみを取得するすべてのデータが開始されることです。

しかし、最初にいくつかのデータを表示する必要があり、その後、バックグラウンドで残りのデータを更新します.それで、他のメソッドをどこに書くことができるか教えてください.

コード:

     protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.summary_main);


        displyProfile(personalDetailsInfo);

        displyConditions();

        displayAllergies();
        displayWellness();
        displayVaccine(vaccineHashMap);

       }
4

1 に答える 1

0

まず、Web サービスと同期する Android アプリを作成するのは簡単ではありません。適切に行うには、さまざまなことに注意を払う必要があります (実際には、構築しているアプリケーションとその性質によって異なります)。@Roshniが言ったように、AsyncTaskを使用してWebサービスと通信できる場合もありますが、私見では、このタスクに最適なオプションではありません(特にデバイスを回転させる場合; D)。

Google+ の動作が必要な場合は、多くの異なるコンポーネントを使用していることに注意する必要があります。

  • REST ライブラリ ( Volleyなど) を使用して API を使用します。Web には多くの例があり、非常に直感的です( 1、2、3 )。おそらく、アプリケーションがそれほど複雑でない場合は、このコンポーネントのみを使用でき、それで十分です。

  • SyncAdapterを使用して、コンテンツを API と同期します。Developers docs は、このコンポーネントについて次のように述べています。

アプリの同期アダプター コンポーネントは、デバイスとサーバー間でデータを転送するタスクのコードをカプセル化します。

  • ContentProviderを使用して SQL データベースにデータを保存します。

コンテンツ プロバイダーは、構造化されたデータ セットへのアクセスを管理します。それらはデータをカプセル化し、データ セキュリティを定義するためのメカニズムを提供します。コンテンツ プロバイダーは、あるプロセスのデータを別のプロセスで実行されているコードに接続する標準インターフェイスです。

  • CursorLoaderを使用して、Activity/Fragment で必要なデータをバックグラウンドでクエリし、特定のことが発生したときに、オブザーバーに通知してより多くのデータを読み込むことができます。(この優れたチュートリアルは、 Wolfram Rittmeyerによって書かれた CursorLoader の操作方法を説明しています)。

SeriesGuideWordPress for AndroidioSched 2013など、この種の問題をどのように解決しているかを調べるための非常に優れたオープン ソース アプリケーションがたくさんあります。

おそらくあなたの場合、データが単純な場合、Volley を使用して必要なデータを照会できます。すべての非同期フェッチを処理し、対応するリスナーに通知します。アクティビティ/フラグメントでは、関連するビューを更新するだけで済みます。

于 2014-06-09T07:36:27.483 に答える