0

私は 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 を投稿します。また、非同期クラスからグラフビューを実行しようとしましたが、成功しませんでした。

4

1 に答える 1

0

アクティビティでJavaメソッドを作成し、クリックイベントなどから呼び出すだけで、グラフビュープロットを作成できることがわかりました。grapview オブジェクトを非同期クラスに入れる必要はありません。これは正しいと思いますが、そうでない場合は、自由に矛盾してください。

于 2013-12-02T15:15:29.193 に答える