更新:这篇文章写于2016年8月,现在的聚合数据可能有些变化,申请使用的方式相应有所改变,所以本文只作参考.
____________________________________________________________________________________________________________________________________
原文:
0 注册[聚合数据]的账号
登陆www.juhe.cn,如图,如果没有账号,注册一个(手机号或者邮箱注册),如果有直接登陆即可.
1 搜索所需的API接口
找到聚合数据主页,在搜索框输入你想搜索的API接口.
例如,我想使用聚合数据上的接口完成经纬度的解析从而获取该经纬度对应的地理位置,搜索关键字“经纬度”,检测结果会显示有哪些可用的API接口.
2 申请数据
点击可用的API接口,点击申请数据——立即申请(有的接口免费,有的需要付费,初次申请免费赠送100次),这样就完成申请了.
3 测试接口
点击我的数据,即可发现刚刚申请的数据.在数据名称上方有一个AppKey(重要),在编程过程中需要用到. 点击【操作】下面的【测试】,跳转到测试界面
在 【请求参数】——【值】下面填写所需数据,必选项必填.点击【发送请求】,在【发送请求】下面有【请求详情】和【返回内容】,【返回内容】即为该接口返回的数据,默认为JSON格式,也可以改为XML格式.结果如图
这样就完成了该接口的测试.
4 在程序中使用API接口
例如,现在我已经知道了经纬度分别为longitude和latitude,想知道这个经纬度对应的地理位置是什么,如何在程序中实现呢?
这个过程大概是,首先向服务器发送请求,然后服务器返回一段JSON格式的数据,然后解析数据,从中获取想要的地理位置.
点击【接口】——【API】,下面有一个请求示例,这个字符串,用于向服务器发送请求,主要代码如下(不可以直接运行,apiAddress需要自己赋值,而且请求网络应该放到子线程中):
HttpURLConnection connection = null;try{String apiAddress = "http://apis.juhe.cn/geo/?key=你申请的AppKey&lat="+location.getLatitude()+"&lng="+location.getLongitude()+"&type=1";URL url = new URL(apiAddress);connection = (HttpURLConnection)url.openConnection();connection.setRequestMethod("GET");connection.setConnectTimeout(5 * 1000);connection.setReadTimeout(5*1000);InputStream in = connection.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(in));StringBuilder response = new StringBuilder();String line;while((line=reader.readLine())!=null)response.append(line);Message msg = new Message();msg.obj = response.toString();handler.sendMessage(msg);}catch (Exception e){e.printStackTrace();}