OpenExpress开源啦

来源:互联网 发布:上海踩踏事件 知乎 编辑:程序博客网 时间:2024/05/24 05:26

之前有跟友人想过做一个快递的软件,但是毕竟忙,没有完全做好。最近又遇上极客学院在搞一些app的比赛,索性乘这个机会,顺便将这毕竟好用的快递api带给大家。源代码已经在github 上开源。https://github.com/arjinmc/OpenExpress 。我也征求了快递api作者的意见,可以把这个东西开源并且宣传。

本项目使用了开源项目AndroidResideMenu,也就是大家所熟悉手机QQ 5.0的menu效果。还有数据库框架Ormlite。

AndroidResideMenu,它给的例子也比较详细了,很容易用。不懂稍微看一下英文注释也会明白。

Ormlite是否常用,我不是很清楚。但是相对于经常是手写去操作数据库的我来说,Ormlite确实很方便,也不需要自己再去考虑线程安全问题。它所提供的增删改查,事务这些功能都比较全。看到网上有人说Ormlite是不可以进行批量删除的,这个我要澄清一下,Ormlite上有批量删除功能,也有一次性清空表功能。这个方法我已经写在OpenExpress里面,但是参与eoe的时候,我没有在UI上加上这个功能。Ormlite有点麻烦就是需要基于它的OrmliteBaseAcitity,参考了一些网上的做法,我也把这个工具类整理出来,这样就可以不需要在基于OrmliteBaseActitiy就可以轻松使用。

package com.arjinmc.ormlitedemo.utils;import android.content.Context;import com.j256.ormlite.android.apptools.OpenHelperManager;public class DataHelperUtil {private static DBOpenHeleper databaseHelper = null;/** * @desciption get database connection * @author Eminem Lu * @email arjinmc@hicsg.com * @create 2015/2/26 * @param context * @return */public static DBOpenHeleper getHelper(Context context) {if (databaseHelper == null) {databaseHelper = OpenHelperManager.getHelper(context, DBOpenHeleper.class);}return databaseHelper;}/** * @desciption release database connection * @author Eminem Lu * @email arjinmc@hicsg.com * @create 2015/2/26 */public static void releaseHelper(){if (databaseHelper != null) {OpenHelperManager.releaseHelper();databaseHelper = null;}}}


说快递,除了快递本身的使用工具,很多人就会想到电商项目。确实电商项目离不开快递,所以,这个才是重点。我用的是爱查快递的api。之前在做电商项目的时候,有对比过由金碟公司旗下的快递100好一些还是这个爱查询好一些。如果你的项目需要用到快递的推送功能,估计还是用快递100比较好。但是快递100比较坑,会把顺丰,EMS等主流快递列作收费用途,也就是逼你强迫跟他签约,也就是收钱。选爱查询的最主要的原因还是因为免费,而且支持170多家物流公司,测试过api的速度也是非常快的。他的api比较简单,官网就可以看到用法说明。但是要申请这个还是有条件的,首先你得有一个域名,自己的网站,那么就可以申请免费使用了。

http://api.ickd.cn/?id=[]&secret=[]&com=[]&nu=[]&type=[]&encode=[]&ord=[]&lang=[]

参数说明

字段是否必须说明com必须快递公司代码(英文),所支持快递公司见如下列表nu必须快递单号,长度必须大于5位id必须授权KEY,申请请点击快递查询API申请方式在新版中ID为一个纯数字型,此时必须添加参数secret(secret为一个小写的字符串)secret必选(新增)该参数为新增加,老用户可以使用申请时填写的邮箱和接收到的KEY值登录http://api.ickd.cn/users/查看对应secret值type可选返回结果类型,值分别为 html | json(默认) | text | xmlencode可选gbk(默认)| utf8ord可选asc(默认)|desc,返回结果排序lang可选en返回英文结果,目前仅支持部分快递(EMS、顺丰、DHL)注意:使用PHP的json_decode函数时必须使用UTF8的编码,如果出现json_decode失败,请尝试使用UTF8编码。

返回格式

格式:json | text | html | xml
编码:GBK| UTF8
示例:
{"status":"3","message":"","errCode":"0","data":[{"time":"2013-02-23 17:10","context":"辽宁省大连市中山区四部公司 的收件员 王光 已收件"},{"time":"2013-02-24 17:59","context":"辽宁省大连市公司 已收入"},{"time":"2013-02-24 18:11","context":"辽宁省大连市中山区四部公司 已收件"},{"time":"2013-02-26 07:33","context":"吉林省长春市景阳公司 的派件员 张金达 派件中 派件员电话15948736487"},{"time":"2013-02-26 16:47","context":"客户 同事收发家人 已签收 派件员 张金达"}],"html":"","mailNo":"7151900624","expTextName":"圆通快递","expSpellName":"yuantong","update":"1362656241","cache":"186488","ord":"ASC"}


0 0
原创粉丝点击