私は Jsoup を使用して wunderground.com から気象データを取得しています。Android 用の Graphview ライブラリを使用してプロットしたいと考えています。ただし、アプリを起動すると、天気データ (Jsoup 経由) の読み込みに数秒かかります。これは、その時点でインターネットからかき集められているためです。グラフビュー オブジェクトは、アプリが onCreate メソッドで起動されるとすぐにデータを期待します。Jsoup がスクレイピングした後にグラフビューがデータをプロットするようにするにはどうすればよいですか? 私の onCreate メソッドは次のようになります。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new getWeather().execute();
GraphViewSeries exampleSeries = new GraphViewSeries(new GraphViewData[] {
new GraphViewData(0, weatherData[0])
, new GraphViewData(1, weatherData[1])
, new GraphViewData(2, weatherData[2])
});
GraphView graphView = new BarGraphView(this , "Weather Graph" );
graphView.addSeries(exampleSeries); // data
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
layout.addView(graphView);
}
ここでの問題は、気象データを取得する方法だと思います。バックグラウンドで気象データを取得し、フォアグラウンドでグラフビューを実行しようとする AsyncTask を使用します。誰でもこれを修正する方法を知っていますか? 助けてくれてありがとう。必要に応じて、喜んで AsyncTask を投稿します。また、非同期クラスからグラフビューを実行しようとしましたが、成功しませんでした。