点开Endpoint这个网址。
找到Http Get,如图:
http get
。
看到这里,就一目了然了。直接在浏览器中访问就可以了。多么可怕。
get请求
那么接下来,就更简单了。
先添加个OkHttp请求库。
compile 'xyz.reginer.http:httplib:1.0.4'
然后代码中请求:
/**
* 获取天气.
*
* @param city 城市
* @param weatherInter 回调
*/
public static void getWeather(String city, final WeatherInter weatherInter) {
Map params = new HashMap<>();
params.put("theCityName", city);
RHttp.get().url(Urls.GET_WEATHER).params(params).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e, int id) {
weatherInter.getWeather(Log.getStackTraceString(e));
}
@Override
public void onResponse(String response, int id) {
weatherInter.getWeather(response);
}
});
}
Activity中展示数据:
@Override
public void getWeather(String result) {
Logcat.d("response is::\n" + result);
if (Build.VERSION.SDK_INT >= 24) {
// FROM_HTML_MODE_COMPACT:html块元素之间使用一个换行符分隔
// FROM_HTML_MODE_LEGACY:html块元素之间使用两个换行符分隔
mTvResult.setText(Html.fromHtml(result, Html.FROM_HTML_MODE_COMPACT));
} else {
mTvResult.setText(Html.fromHtml(result).toString().replace(" ","\n"));
}
}
好了,结局就是这样,一切都是有条不紊。示例代码点这里。