还是学会看英文的api吧,最新的资料都是英文的,如果你以后出去找这方面得工作,多的是英文的文档,等出来中文版的,差不多你也不用学了
成都创新互联坚实的技术研发基础赢得了行业内的良好口碑,公司成立10多年来,为1000多家企业提供过网站建设、软件开发、搜索引擎优化技术、互联网大数据整合营销服务,多年的技术服务成功经验、众多的客户使我们能懂得更多,做得更好。"让您的网站跑起来"是我们一直追求的目标!
android api chm 中文版,这个不错,是在线版的,算是比较完整的了。
android api 签名是api调用的时候需要按照约定的参数生成一个字符串,对方接收到后校验参数,合法后接受请求并返回结果。
所有android端的API的有效访问URL包括以下三个部分:
1. 资源访问路径,如/v1/deal/find_deals;
2. 请求参数:即API对应所需的参数名和参数值param=value,多个请求参数间用连接
如deal_id=1-85462appkey=00000;
3. 签名串,由签名算法生成
签名算法如下:
1. 对除appkey以外的所有请求参数进行字典升序排列;
2. 将以上排序后的参数表进行字符串连接,如key1value1key2value2key3value3...keyNvalueN;
3. 将app key作为前缀,将app secret作为后缀,对该字符串进行SHA-1计算,并转换成16进制编码;
4. 转换为全大写形式后即获得签名串
签名串获得后,将其作为sign参数附加到对应的URL中,即可正常访问API。
注意:请保证HTTP请求数据编码务必为UTF-8格式,URL也务必为UTF-8编码格式。
参考代码:
// 定义申请获得的appKey和appSecret
String appkey = "XXXXXXXX";
String secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
String apiUrl = "";
// 创建参数表
MapString, String paramMap = new HashMapString, String();
paramMap.put("format", "json");
paramMap.put("city", "上海");
paramMap.put("latitude", "31.21524");
paramMap.put("longitude", "121.420033");
paramMap.put("category", "美食");
paramMap.put("region", "长宁区");
paramMap.put("limit", "20");
paramMap.put("radius", "2000");
paramMap.put("offset_type", "0");
paramMap.put("has_coupon", "1");
paramMap.put("has_deal", "1");
paramMap.put("keyword", "泰国菜");
paramMap.put("sort", "7");
// 对参数名进行字典排序
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();
// 字符串连接示例
// XXXXXXXXcategory美食city上海formatjsonhas_coupon1has_deal1keyword泰国菜latitude31.21524limit20longitude121.420033offset_type0radius2000region长宁区sort7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
// SHA-1编码, 这里使用的是Apache codec,即可获得签名(shaHex()会首先将中文转换为UTF8编码然后进行sha1计算,使用其他的工具包请注意UTF8编码转换)
/*
* 以下sha1签名代码效果等同
* byte[] sha = org.apache.commons.codec.digest.DigestUtils.sha(org.apache.commons.codec.binary.StringUtils.getBytesUtf8(codes));
* String sign = org.apache.commons.codec.binary.Hex.encodeHexString(sha).toUpperCase();
*/
String sign = org.apache.commons.codec.digest.DigestUtils.shaHex(codes).toUpperCase();
//签名示例
//7D78381BC58E1DB1DBA4BD965916FE6B4D5DC892
1、在电脑浏览器中百度搜索Android SDK API文档,找到Android SDK | Android中文API选项并点击进入。
2、会来到一个新的页面,在左侧的菜单里面选择Developer Tools这一项。
3、等在开发工具那里看到Android Studio以后,直接选择参考这个窗口进行点击。
4、这样一来如果没问题的话,即可查看android api了。
开发的时候也就看看接口文档,但接口文档都是公司内部而且都是中文的。
如果要查询Android的方法之类的,百度都有中文文档。
有的时候下载其他人代码来用,那没准就是英文的了,只能借助百度翻译吧,不过现在主流框架都有中文文档和使用介绍的,英文不好并不影响开发。