qq_32681843
Hugo Gao
采纳率45.7%
2016-07-26 09:20

我调用了一个百度API,但发现程序直接跳过了API执行语句是怎么回事

 private void queryWeatherInfo(String countyName) {
        // TODO Auto-generated method stub
        Log.d("haha", "开始查询天气");
        String address="http://apis.baidu.com/heweather/weather/free";//http://apis.baidu.com/heweather/weather/free
        Parameters param=new Parameters();
        countyName=ChangeHanziToPinyin.getPinYin(countyName);
        Log.d("haha", "cityName is "+countyName);
        param.put("city", countyName);
        ApiStoreSDK.execute(address,    ApiStoreSDK.GET, param,new ApiCallBack() {
            @Override
            public void onSuccess(int status, String responseString) {
                Log.d("haha", "请求成功");
                    Utility.handleWeatherResponse(WeatherActivity.this, responseString);//存入了sharepreferce
            }

            @Override
            public void onComplete() {

            }

            @Override
            public void onError(int status, String responseString, Exception e) {
                    Log.d("haha", "错误进入onerror,参数为"+status);
            }  

    });
    }

进入这个函数后,最关键的ApiStoreSDK.execute直接跳过了运行后面的程序,该怎么解决

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 5年前

    本来就是这样,这个方法是异步调用的,后面定义的匿名接口的代码,是在调用返回的时候才会被调用,而不是你的主程序自己去调用。

    点赞 评论 复制链接分享

相关推荐