16
16
附带生成二维码小工具,方便实用。体积小巧,无广告,无多余权限。
17
17
18
18
## 更新说明
19
+ ` v 2.0 `
20
+ * 全新UI,高仿“支付宝-我的快递”
21
+ * 新增智能识别快递公司
22
+ * 新增扫一扫
23
+
19
24
` v 1.5 `
20
25
* 新增自动更新
21
26
@@ -34,41 +39,39 @@ fir.im:http://fir.im/ponyexpress<br>
34
39
* 快递查询:[ 快递100] ( http://www.kuaidi100.com/ ) (自己抓包拿到的接口^_ ^)
35
40
36
41
### 开源技术
37
- * 条码扫描:[ ZXing] ( https://github.com/zxing/zxing )
38
- * 网络请求:[ Volley] ( https://developer.android.com/training/volley/index.html )
39
- * Json解析:[ Gson] ( https://github.com/google/gson )
40
- * 数据存储:[ ormlite] ( https://github.com/j256/ormlite-android )
42
+ * [ ZXing] ( https://github.com/zxing/zxing )
43
+ * [ Volley] ( https://developer.android.com/training/volley/index.html )
44
+ * [ Gson] ( https://github.com/google/gson )
45
+ * [ ormlite] ( https://github.com/j256/ormlite-android )
46
+ * [ Glide] ( https://github.com/bumptech/glide )
41
47
42
48
### 关键代码
43
49
网络请求` Volley+Gson `
44
50
``` java
45
- private void query () {
46
- GsonRequest<QueryResult > request = new GsonRequest<QueryResult > (Utils . getQueryUrl(mExpressInfo ),
47
- QueryResult . class, new Listener<QueryResult > () {
51
+ private void search () {
52
+ GsonRequest<SearchResult > request = new GsonRequest<SearchResult > (Utils . formatSearchUrl(mSearchInfo ),
53
+ SearchResult . class, new Response . Listener<SearchResult > () {
48
54
@Override
49
- public void onResponse (QueryResult queryResult ) {
50
- Log . i(" Query" , queryResult. getMessage());
51
- if (queryResult. getStatus(). equals(" 200" )) {
52
- onQuerySuccess(queryResult);
53
- } else {
54
- onQueryFailure(queryResult);
55
- }
55
+ public void onResponse (SearchResult searchResult ) {
56
+ Log . i(TAG , searchResult. getMessage());
57
+ onSearch(searchResult);
56
58
}
57
- }, new ErrorListener () {
59
+ }, new Response . ErrorListener () {
58
60
@Override
59
61
public void onErrorResponse (VolleyError volleyError ) {
60
- Log . e(" Query" , volleyError. getMessage(), volleyError);
62
+ Log . e(TAG , volleyError. getMessage(), volleyError);
63
+ onError();
61
64
}
62
65
}) {
63
66
@Override
64
67
public Map<String , String > getHeaders () throws AuthFailureError {
65
68
Map<String , String > headers = new HashMap<> ();
66
- headers. put(Utils . HEADER_REFERER , Utils . REFERER );
69
+ headers. put(Constants . HEADER_REFERER , Constants . REFERER );
67
70
return headers;
68
71
}
69
72
};
70
73
request. setShouldCache(false );
71
- mRequestQueue . add(request);
74
+ ExpressApplication . getInstance() . getRequestQueue() . add(request);
72
75
}
73
76
```
74
77
封装GsonRequest
@@ -113,6 +116,7 @@ public class GsonRequest<T> extends Request<T> {
113
116
![ ] ( https://raw.githubusercontent.com/ChanWong21/PonyExpress/master/art/screenshot_02.jpg )
114
117
![ ] ( https://raw.githubusercontent.com/ChanWong21/PonyExpress/master/art/screenshot_03.jpg )
115
118
![ ] ( https://raw.githubusercontent.com/ChanWong21/PonyExpress/master/art/screenshot_04.jpg )
119
+ ![ ] ( https://raw.githubusercontent.com/ChanWong21/PonyExpress/master/art/screenshot_05.jpg )
116
120
117
121
## 关于作者
118
122
简书:http://www.jianshu.com/users/3231579893ac <br >
0 commit comments