Android 大众点评的接入
这里介绍的是大众点评的团购中的一个接口,就是所有团购信息,其他的接口的实现是大同小异的。
首先,登录大众点评的开发平台->大众点评 。然后获取到自己的应用的appkey和secret,这个是开发必备的。可以下载大众点评提供的demo->demo 。
获取所有的团购信息:
DZDPApiTool.java 大众点评提供的Api工具类(请求api -> requestApi这个方法)
public class DZDPApiTool {/*** 获取请求字符串* * @param appKey* @param secret* @param paramMap* @return*/public static String getQueryString(String appKey, String secret, Map<String, String> paramMap){String sign = sign(appKey, secret, paramMap);StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("appkey=").append(appKey).append("&sign=").append(sign);for (Entry<String, String> entry : paramMap.entrySet()){stringBuilder.append('&').append(entry.getKey()).append('=').append(entry.getValue());}String queryString = stringBuilder.toString();return queryString;}/*** 获取请求字符串,参数值进行UTF-8处理* * @param appKey* @param secret* @param paramMap* @return*/public static String getUrlEncodedQueryString(String appKey, String secret, Map<String, String> paramMap){String sign = sign(appKey, secret, paramMap);StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("appkey=").append(appKey).append("&sign=").append(sign);for (Entry<String, String> entry : paramMap.entrySet()){try{stringBuilder.append('&').append(entry.getKey()).append('=').append(URLEncoder.encode(entry.getValue(),"UTF-8"));}catch (UnsupportedEncodingException e){}}String queryString = stringBuilder.toString();return queryString;}/*** 请求API* * @param apiUrl* @param appKey* @param secret* @param paramMap* @return*/public static String requestApi(String apiUrl, String appKey, String secret, Map<String, String> paramMap){String queryString = getQueryString(appKey, secret, paramMap);StringBuffer response = new StringBuffer();HttpClientParams httpConnectionParams = new HttpClientParams();httpConnectionParams.setConnectionManagerTimeout(1000);HttpClient client = new HttpClient(httpConnectionParams);HttpMethod method = new GetMethod(apiUrl);try{if (queryString != null && !queryString.isEmpty()){// Encode query string with UTF-8String encodeQuery = URIUtil.encodeQuery(queryString, "UTF-8");method.setQueryString(encodeQuery);}client.executeMethod(method);BufferedReader reader = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(), "UTF-8"));String line = null;while ((line = reader.readLine()) != null){response.append(line).append(System.getProperty("line.separator"));}reader.close();}catch (URIException e){}catch (IOException e){}finally{method.releaseConnection();}return response.toString();}/*** 签名* * @param appKey* @param secret* @param paramMap* @return*/public static String sign(String appKey, String secret, Map<String, String> paramMap){// 参数名排序String[] keyArray = paramMap.keySet().toArray(new String[0]);Arrays.sort(keyArray);// 拼接参数StringBuilder stringBuilder = new StringBuilder();stringBuilder.append(appKey);for (String key : keyArray){stringBuilder.append(key).append(paramMap.get(key));}stringBuilder.append(secret);String codes = stringBuilder.toString();// SHA-1签名// For AndroidString sign = new String(Hex.encodeHex(DigestUtils.sha(codes))).toUpperCase();return sign;}
}
然后调用接口
Map<String, String> paramMap = new HashMap<String, String>();paramMap.put("city", city);paramMap.put("limit", 1);paramMap.put("page", offset + "");paramMap.put("region", region);DZDPApiTool.requestApi(http://api.dianping.com/v1/deal/find_deals, appkey, sign, paramMap);
参数:(引用大众点评)
必选参数
名称 类型 说明 appkey string App Key,应用的唯一标识 sign string 请求签名,生成方式见《API请求签名生成文档》 city string 包含团购信息的城市名称,可选范围见相关API返回结果 可选参数
名称 类型 说明 destination_city string 指定目的地城市名称,适用于“酒店”、“旅游”等分类,可选范围见相关API返回结果 latitude float 纬度坐标,须与经度坐标同时传入 longitude float 经度坐标,须与纬度坐标同时传入 radius int 搜索半径,单位为米,最小值1,最大值5000,如不传入默认为1000 region string 包含团购信息的城市区域名,可选范围见相关API返回结果(不含返回结果中包括的城市名称信息) category string 包含团购信息的分类名,支持多个category合并查询,多个category用逗号分割。可选范围见相关API返回结果 is_local int 根据是否是本地单来筛选返回的团购,1:是,0:不是 keyword string 关键词,搜索范围包括商户名、商品名、地址等 sort int 结果排序,1:默认,2:价格低优先,3:价格高优先,4:购买人数多优先,5:最新发布优先,6:即将结束优先,7:离经纬度坐标距离近优先 limit int 每页返回的团单结果条目数上限,最小值1,最大值40,如不传入默认为20 page int 页码,如不传入默认为1,即第一页 format string 返回数据格式,可选值为json或xml,如不传入,默认值为json
Android 大众点评的接入相关推荐
- 大众点评cat接入记录
背景 因为公司api接口时不时的被人攻击,频繁的撞库,所以需要一套完整的监控体系来管理所有的接口.组内其他人正在快速迭代一个初期的监控报警体系,而我闲着没事就顺便看了下大众点评的cat,刚好以前的同事 ...
- Android高仿大众点评(带服务端)
2019独角兽企业重金招聘Python工程师标准>>> 实例讲解了一个类似大众点评的项目,项目包含服务端和android端源码, 服务端为php代码,如果没有接触过php, 文章中讲 ...
- Android 仿美团网,大众点评购买框悬浮效果之修改版
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming),请尊重他人的辛勤劳动成果,谢谢! 随着移动互联网的快速发展,它已经和我们的生活息息相关了,在 ...
- Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
Android对ScrollView滚动监听,实现美团.大众点评的购买悬浮效果 转:http://blog.csdn.net/xiaanming/article/details/17374599 很荣 ...
- android 粗暴简单仿美团/大众点评搜索方式,详细标注
转载请注明出处王亟亟的大牛之路 美团和大众点评的搜索和筛选栏,不能说好看(审美flag),但是满足了我们的搜索还筛选的需求,所以今天就实现了下这样的一个小Demo 项目结构:运行效果就是下图了,就不再 ...
- 大众点评景点美食楼盘点评(Android,AndroidStudio,IDEA,SpringBoot,Mysql)
今天,我们发布一套[大众点评Android系统], 这套系统包含完整的源代码和数据库脚本,根据我们提供的开发工具和运行视频教程,拿到代码后,很快就能把项目跑起来,同时如果您对项目代码技术不是很熟悉也没 ...
- android 高仿大众点评,高仿大众点评商家列表
原生android,高仿大众点评商家列表; 废话不多说了,上代码,效果图 适配器 class MyAdapter extends BaseAdapter { protected final int m ...
- android自定义引导页,Android仿大众点评引导页(ViewPage)+主页面(Fragment)的实现
大家好,今天主要是实现仿大众点评引导页和主页面以及城市定位的实现,主要使用ViewPager+Fragment+SharedPreferences,实现了第一次打开程序出现引导页,再次打开跳过引导页, ...
最新文章
- android类名方法名不混淆,android – 如何告诉Proguard混淆类名
- php引用类型变量,PHP变量的值类型和引用类型
- python培训班哪些比较好-在线Python编程培训哪家机构比较好?
- Linux笔记:vim
- while listening lectures
- Spring与Struts2整合的两种解决方案
- 猫猫学IOS(二十一)UIApplication设置程序图标右上⾓红⾊数字_联⺴指⽰器等
- 写 Go 时如何优雅地查文档
- 程序和计划任务管理( 查看进程ps,控制进程,终止命令进程,top命令,at一次性任务,crontab周期任务)
- 【从入门到放弃】23种设计模式(1):设计模式综述
- JavaScript 几种简单的table切换
- Android在线更新安装包,Android在线更新下载方案
- CentOS 6.0正式版终于发布
- 对象数组与普通数组 java 0913
- 用 Java 语言,写一个植物大战僵尸简易版!
- Java工具-----native2ascii
- 拓端tecdat|在R语言中用模拟探索回归的P值
- 2021外卖CPS分销微信小程序源码 外卖侠CPS全套源码
- 修改群晖mac 及 sn
- matlab窄带高斯随机信号,06实验六:窄带随机信号仿真与分析
热门文章
- IBM-存储网络之IP SAN 解决方案
- ROMP:Monocular, One-stage, Regression of Multiple 3D People
- jop怎么读音英语怎么说_job是什么意思_ job的翻译_音标_读音_用法_例句_爱词霸在线词典...
- 赵联松武汉大学计算机学院,武汉大学电气工程学院2018年优秀大学生暑期夏令.doc...
- laravel voyager 安装
- hexo yilia主题添加评论系统详细教程
- 基于Jsp+Servlet的户籍管理系统(JavaWeb毕业设计、课程设计)
- cisco思科实现MPLS 虚拟专用网
- 能讲一下关于 18 世纪哲学家大卫 • 休谟和恐怖悖论吗
- 希望之路:市政道路拉线法定标高