android - 代码一次又一次地请求雅虎天气服务

标签 android android-activity activity-lifecycle yahoo-weather-api

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

@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!天气服务一次又一次地在 Activity 之间切换。

最佳答案

我看了你的代码。

您正在 onResume() 中调用 getWeather(null, nameOfCity);。当您的 Activity 再次恢复时,将调用此 onResume() 方法。

例如:A ---> B then Press back from B activity 然后 A activity onResume() 方法将被调用并向服务器发出请求。所以在 onCreate(bundle) 中调用此方法 `getWeather(null, nameOfCity);。创建 Activity 时仅调用一次。

关于android - 代码一次又一次地请求雅虎天气服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15319624/

相关文章:

android - 协调器布局与 viewpager 与 recyclerview 作为适配器

android - 如何获取 720p Android 相机预览数据?

android - 使用 REST API 验证用户凭据?

android - 我如何关闭关闭后仍在后台运行的应用程序

java - 如何测试多个服务调用

java - 调用 finish() 方法后是否可以从另一个 Activity 重新启动该 Activity ?

java - 单击菜单项按钮时打开新 Activity 不起作用

android-activity - 是否保证调用 Activity.onStop() (API 11 +)

android - 如果方向改变, Activity 在 onActivityReenter 之后销毁

android - 在防火墙后接收回复