2016-08-07 14 views
-1

Webサービスからデータを取得し、SQLiteデータベースに格納しています。フェッチしているレコードの数が多いので、データをフェッチするのに時間がかかりすぎます。私はこのデータを取得して、データを取得している間に私はそのアプリケーションを使用できるようにしたい。つまり、大きなファイルをダウンロードするのと同じように、バックグラウンドでデータを取得したいのです。ダウンロード中に残りの作業を行うことができます。私はどのように私のアプリでそれを実装する必要がありますか?Webサービスからバックグラウンドでデータを取得するにはどうすればよいですか?

答えて

0

すでにこれに似た回答がたくさんありますが、とにかくここにサンプルコードがあります。 はMyAsyncClass

class MyAsyncClass{ 
@Override 
    protected Object doInBackground(Void... params) { 
    // write your method to fetch data from network 

} 
@Override 
    protected void onPostExecute(Object output) { 
    // do what ever you want to do with 'output' data 
} 
} 

今、あなたはこの

MyAsyncClass myAsyncClass = new MyAsyncClass(); 
myAsyncClass.execute(); 

、ここであなたには、いくつかの新しいアクティビティを開くことができるように、このクラスを呼び出すことができるようinnerClass名を作成します。

Intent intent = new Intent(this, yourActivityName.class); 
startActivity(intent); 
+0

私は既にAsncClassを使用しています。しかし、私はデータをフェッチしながら同時に他のアクティビティを処理したい。 –

+0

あなたの質問によると、この非同期のための "バックグラウンドスレッドでデータを取得したい"という意味で、UIでやりたいことをできるだけ早く行うことができます。 – Rahul

+0

フェッチ操作を停止せずにデータをフェッチしている間に他のアクティビティに切り替えることはできますか?そしてもしそうなら、意図のためにコードを書く場所はどこですか? –

0

バックグラウンドで動作するasyncktaskからWebサービスを呼び出す必要があります。

+0

私は既にAsncClassを使用しています。しかし、私はデータをフェッチしながら同時に他のアクティビティを処理したい。 –

0

最初はカスタムAsynctaskを使用していましたが、Webサービスから情報を取得するのは非常に遅かったです。今ではRetrofitを使用していますが、その時間は非常に短いです。私の最善のアドバイスは、Retrofitを実装することです。

Retrofit

+0

ようこそStackOverflowへ。 [良い答えを与える](http://stackoverflow.com/help/how-to-answer)に関する役に立つヒントを見てください。この場合、単にRetrofitを提案するだけでは役に立ちません。Retrofitを使用してどのように問題/疑問に対処するのかを示すことが役立ちます。また、答えの代わりにコメントとして投稿することもできます。 – ishmaelMakitla

+0

私はすでにAsncClassを使用しています。しかし、私はデータをフェッチしながら同時に他のアクティビティを処理したい。 –

+0

@ishmaelMakitla、ありがとう。私は次の介入のためにそれを念頭に置いておきます。 – ccparram

関連する問題