OpenExpress開源啦

之前有跟友人想過做一個快遞的軟件,但是畢竟忙,沒有完全做好。最近又遇上極客學院在搞一些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;
		}
	}
}


說快遞,除了快遞本身的使用工具,很多人就會想到電商項目。確實電商項目離不開快遞,所以,這個纔是重點。我用的是愛查快遞的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 | xml
encode 可選 gbk(默認)| utf8
ord 可選 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"}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章