2016-07-18 18 views
2

エキスパート、サービスからScatterDataをMPAndroidChartのアクティビティに渡す方法

以下は、Androidでチャートを取得する方法を学んだことです。

必要条件は、チャートをリフレッシュして(データは更新され続けます)、数秒ごとに表示されます。 そして何とかしてデータが大きかったので、1〜2秒間アクティビティが応答しませんでした。

私の質問は、SERVICEでデータとチャートを準備し、グラフを画像(例:.png)としてパスに保存する方法です。そして、ACTIVITYはそのパスから画像を取り出して表示します。

サービスがバックグラウンドで実行し続けるので、私は活動上のボタンをクリックしたとき、それはすぐに画像を表示されるでしょう、準備データを待つ必要(すでにサービスで行われていない)

感謝。

public class MainActivity extends Activity { 
ScatterChart sDtdChart; // 1. define a chart called sDtdChart 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ScatterData data = getData(); 
    sDtdChart.setData(data); //3. attach data to the chart 

    //4. chart's other setting 
    //XXXXXX 

    sDtdChart.invalidate(); //5. refresh the chart 
} 

// 2. prepare data for the chart 
private ScatterData getData(){ 
    //XXXXXX 
} 

}

+0

問題はなんですか?スニペットの代わりに[mcve]を表示できますか? –

+0

私に説明させてください://データ準備部分は、mChartが使用する準備データです。時間がかかります。レンダリングチャートポートレンダリングは、用意されたデータを使用してチャートをレンダリングします。私は時間がかかるので、//サービスの準備データ部分をしたいと思います。 (mChartはMPAndroidChartで定義されているScatterChart型) – caibirdcnb

+0

サービスまたはAsyncTask?いずれにしても、追加の情報を含めるには[編集]してください –

答えて

0

おそらく、AsyncTaskを使用します。 See documentationdoInBackground(Params...)にデータを準備し、onPostExecute(Result)の方法でレンダリングします。

関連する問題