之前有跟友人想過做一個快遞的軟件,但是畢竟忙,沒有完全做好。最近又遇上極客學院在搞一些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 [email protected]
* @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 [email protected]
* @create 2015/2/26
*/
public static void releaseHelper(){
if (databaseHelper != null) {
OpenHelperManager.releaseHelper();
databaseHelper = null;
}
}
}
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 | xml |
encode | 可選 | gbk(默認)| utf8 |
ord | 可選 | asc(默認)|desc,返回結果排序 |
lang | 可選 | en返回英文結果,目前僅支持部分快遞(EMS、順豐、DHL) |
返回格式
編碼:GBK| UTF8
示例: