1

我开发了一个Yahoo! Weather API 用于获取天气信息的 android 应用程序,因为它允许每小时Yahoo! Weather API仅请求一次服务。10 to 20当我在它们之间来回切换时,我的应用程序有两个活动我的应用程序一次又一次地请求天气服务我的代码是:

@Override
protected void onResume() {
    // TODO Auto-generated method stub      
    String nameOfCity= pref.getString("cityname", cityNameInput.getText().toString());      
    getWeather(null, nameOfCity);// this the AsyncTask which is used to request Yahoo! Weather service.
    cityNameInput.setText(nameOfCity);
    super.onResume();
    Log.d("My_TAG", "in onResume()");
}

@Override
protected void onPause() {
    // TODO Auto-generated method stub      
    editor = pref.edit();
    if(cityNameInput.getText().toString().equals("")){
        cityNameInput.setText(yahooWeatherInfo.getLocationCity());
    }else{
        editor.putString("cityname", cityNameInput.getText().toString());
    }
    editor.commit();
    super.onPause();
    Log.d("MY_TAG", "in onPause()");
}

现在请告诉我如何限制它不要求Yahoo! Weather Service一次又一次地在活动之间切换。

4

1 回答 1

1

我看了你的代码。

你在getWeather(null, nameOfCity);打电话onResume()onResume()当您的活动再次恢复时,将调用此方法。

例如:A ---> B 然后从 B 活动中按回,然后onResume()将调用 A 活动方法并向服务器发出请求。所以`getWeather(null, nameOfCity);onCreate(bundle). 创建活动时仅调用一次。

于 2013-03-10T06:42:20.543 回答