这里介绍的是大众点评的团购中的一个接口。就是全部团购信息,其它的接口的实现是大同小异的。

首先,登录大众点评的开发平台->大众点评 。

然后获取到自己的应用的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-8
String 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 Android
String 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 大众点评的接入的更多相关文章

  1. Android 仿美团网,大众点评购买框悬浮效果之修改版

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...

  2. Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...

  3. Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming),请尊重他人的辛勤劳动成果,谢谢! 随着移动互联网的快速发展,它已经和我们的生活息息相关了,在 ...

  4. Android ScrollView滚动实现大众点评、网易云音乐评论悬停效果

    今天听着网易云音乐,写着代码,真是爽翻了. http://blog.csdn.net/linshijun33/article/details/47910833 网易云音乐这个产品亮点应该在评论这一模块 ...

  5. MCI:移动持续集成在大众点评的实践

    一.背景 美团是全球最大的互联网+生活服务平台,为3.2亿活跃用户和500多万的优质商户提供一个连接线上与线下的电子商务服务.秉承“帮大家吃得更好,生活更好”的使命,我们的业务覆盖了超过200个品类和 ...

  6. 【腾讯Bugly干货分享】美团大众点评 Hybrid 化建设

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/rNGD6SotKoO8frmxIU8-xw 本期 T ...

  7. 【原创】大众点评监控平台cat的性能分析

    由于工作的原因,或者说我们之前内部监控设计和实现有点不满足现有的研发需求,所以调研了一下大众点评开源出来的cat这一套监控系统. 今天我们就来实验一把,cat的客户端埋点在我们的程序流程中上报数据到c ...

  8. WhatsApp值160亿美元,腾讯推大众点评微信支付!

    腾讯前脚刚入股大众点评,FB后脚就将斥资160亿美元收购WhatsApp(40亿美元现金和120亿美元股票). 为什么WhatsApp值160亿美元?这是什么东东呢?WhatsApp这款服务可以帮助用 ...

  9. 大众点评CAT开源监控系统剖析

    参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监控系统的设计与实现 深度剖析开源分布式监控CAT [分布式监控CAT] Client端源 ...

随机推荐

  1. 下载,配置环境变量,第一个demo

    一.在 http://www.oracle.com 下载java JDK 安装到自定义的地方. 二.配置环境变量:在我的电脑→高级系统设置→环境变量 ① 找到Path新增一个路径(该路径为JDK存放的 ...

  2. HDU-3718 Similarity

    题目只有26个字母,所以我们新建一个二分图,v[i][j]表示字母i对应字母j时能成功匹配的个数,给这个边矩阵v求个最大匹配就是答案. #include <cstdlib> #includ ...

  3. BZOJ 3626 [LNOI2014]LCA ——树链剖分

    思路转化很巧妙. 首先把询问做差分. 然后发现加入一个点就把路径上的点都+1,询问的时候直接询问到根的路径和. 这样和原问题是等价的,然后树链剖分+线段树就可以做了. #include <map ...

  4. java面试题之HashMap和TreeMap的区别

    HashMap和TreeMap的区别 相同点: 都是以key和value的形式存储: key不可以重复: 都是线程不安全的: 不同点: HashMap的key可以为空 TreeMap的key值是有序的 ...

  5. bzoj 5056: OI游戏 最短路树的计数

    OI游戏 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 196  Solved: 159[Submit][Status][Discuss] Descrip ...

  6. 机器人程序设计——之如何正确入门ROS | 硬创公开课(附视频/PPT)【转】

    转自:http://blog.exbot.net/archives/2966 导语:本期公开课面向想入手ROS却又不知从何下手的小伙伴,为大家梳理好学习思路. ROS和Android一样是开源的,功能 ...

  7. 随机生成指定长度字符字符串(C语言实现)

    相关函数 srand(), rand()头文件#include<stdlib.h> 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MA ...

  8. gcc 编译时 库链接

    gcc -l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把 ...

  9. Scrollview总结:滑动问题、监听Scrollview实现头部局改变

    ScrollView就是一个可以滚动的View,这个滚动的方向是垂直方向的,而HorizontalScrollView则是一个水平方向的可以滚动的View. ScrollView的简单介绍 Scrol ...

  10. 小程序-生成一个小程序码画在canvas画布上生成一张图片分享出去

    这个需求我遇到过2次.一次是在识别二维码后跳转到其它页面,另一次是识别二维码后进入到生成小程序码的当前页面. 我有一个梦想,就是成为一名黑客!!!!!! 小程序中js wx.request({     ...