小马快递

前言

这是我第一个独立完成的项目,时隔多年又把它拿出来重构了一下代码。

  • 项目地址:github.com/wangchenyan…
  • 有问题请提Issues
  • 如果喜欢,欢迎Star!

简介

小马快递,您的好帮手。查询并跟踪快递,快递信息及时掌握。
支持全国100多家快递公司,支持扫码查询,智能识别快递公司。
附带生成二维码小工具,方便实用。体积小巧,无广告,无多余权限。

更新说明

v 2.0

  • 全新UI,高仿“支付宝-我的快递”
  • 新增智能识别快递公司
  • 新增扫一扫

v 1.5

  • 新增自动更新

v 1.4

  • 修复无法查询快递的问题
  • 支持Android 6.0
  • 支持运单备注
  • 优化单号扫描界面

下载地址

fir:fir.im/ponyexpress

项目

公开API

  • 快递查询:快递100(非公开,侵权删)

开源技术

  • ZXing
  • Volley
  • Gson
  • ormlite
  • Glide

关键代码

网络请求Volley + Gson

public static void query(String type, String postId, final HttpCallback<SearchResult> callback) {String action = "/query";Map<String, String> params = new HashMap<>(2);params.put("type", type);params.put("postid", postId);String url = makeUrl(action, params);GsonRequest<SearchResult> request = new GsonRequest<SearchResult>(url, SearchResult.class,new Response.Listener<SearchResult>() {@Overridepublic void onResponse(SearchResult searchResult) {callback.onResponse(searchResult);}},new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError volleyError) {callback.onError(volleyError);}}) {@Overridepublic Map<String, String> getHeaders() throws AuthFailureError {Map<String, String> headers = new HashMap<>();headers.put(HEADER_REFERER, BASE_URL);return headers;}};request.setShouldCache(false);getRequestQueue().add(request);
}
复制代码

封装GsonRequest

public class GsonRequest<T> extends Request<T> {private Class<T> mClass;private Response.Listener<T> mListener;private Gson mGson;public GsonRequest(int method, String url, Class<T> clazz, Response.Listener<T> listener, Response.ErrorListener errorListener) {super(method, url, errorListener);mClass = clazz;mListener = listener;mGson = new Gson();}public GsonRequest(String url, Class<T> clazz, Response.Listener<T> listener, Response.ErrorListener errorListener) {this(Method.GET, url, clazz, listener, errorListener);}@Overrideprotected Response<T> parseNetworkResponse(NetworkResponse response) {String jsonString;try {jsonString = new String(response.data, HttpHeaderParser.parseCharset(response.headers));return Response.success(mGson.fromJson(jsonString, mClass), HttpHeaderParser.parseCacheHeaders(response));} catch (UnsupportedEncodingException e) {e.printStackTrace();return Response.error(new ParseError(e));}}@Overrideprotected void deliverResponse(T response) {mListener.onResponse(response);}
}
复制代码

截图

关于作者

掘金:juejin.im/user/58abd9…
微博:weibo.com/wangchenyan…

License

Copyright 2016 wangchenyanLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
复制代码

迁移自我的简书 2016.01.20

Android开源快递查询应用——小马快递相关推荐

  1. 可运营快递查询微信小程序源码

    小程序源码说明 快递查询微信小程序源码,无需要数据库,内置天行数据API接口,大家也可以自行更换接口,搭建即可直接运营. 源码搭建教程 1. 去微信公众平台注册小程序 2. 下载微信开发者工具 3. ...

  2. 【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)

    大家好,我叫小秃僧 这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能. 这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说 ...

  3. PHP快递查询接口api和快递单号智能判断PHP代码

    如果电商企业想将业务提升到一个新的水平,则应考虑接入第三方快递查询API接口.快递查询API接口提供了很多好处,并且可以为电商企业.微商带来强大的竞争优势.因为相对于独立一家家对接各个快递公司的服务接 ...

  4. 《快递查询-您身边的快递助手-隐私协议》

    <快递查询-您身边的快递助手-隐私协议> 快递查询:您的隐私的保护对我们来说至关重要.我们承诺不会盗取用户隐私. 适用范围: 1.信息相关 a. 本产品使用不关联个人相关用户信息,简单的一 ...

  5. 《快递查询-您身边的快递助手-技术支持》

    <快递查询-您身边的快递助手-技术支持> 快递查询-您身边的快递助手的技术支持,如果您使用中出现什么问题或者对我们产品有什么改进建议,请随时与我联系. 电话:13157820771 邮箱: ...

  6. PHP 快递查询源码指导 (快递鸟API)

    ☞ 背景 最近进行网站后台开发,需要实现物流的即时查询, 为了方便以后的业务需求,经过比较,最后选择使用 第三方物流 --[快递鸟] 同时,在此进行整理,希望能帮到有需求的道友们,谢谢 - 官方文档: ...

  7. 快递查询的方法,快递如何批量查询

    想要做好一家电商店铺,只做好前端的选款和铺货还不够,售后服务也至关重要.大量快递发出后,作为商家,必须要及时跟踪快递,关注快递的实时动态,这样可以避免因为没有跟踪到位导致买家没有及时收到商品,那今天小 ...

  8. 免费常用快递查询API接口及快递在线下单API分享

    1.常用快递API 快递鸟支持顺丰.EMS.申通.圆通.韵达.汇通.中通.天天.德邦.全峰等国内外418家主流快递物流公司接口. 适用于电商网站.企业内部系统或者在线管理系统这种一般都是拥有一定需求量 ...

  9. trackingmore快递查询平台_Trackingmore国际快递查询app-Trackingmore批量查快递app下载v1.6.18-西西软件下载...

    Trackingmore批量查快递app是一款由东方之舟推出的批量查询快递工具,用户下载Trackingmore批量查快递app可以快速查询国际快递,支持国内外快递公司达355个,支持多国语言,方便不 ...

最新文章

  1. 实习小白::(转) Cocostudio动画编辑器的使用
  2. 64位系统识别内存 服务器,服务器内存和电脑内存的区别
  3. 走进STM32世界之Hex程序烧写
  4. linux下c语言俄罗斯方块,Centos 6.2下的C语言编写俄罗斯方块游戏代码
  5. 操作系统【逻辑空间、物理空间与页表大小的关系】【分页地址映射(方法+例题)】
  6. 北京周末去哪儿 —— 玉渊潭
  7. web框架应具备的功能
  8. 从Zygote孵化frameworks进程,分析StartActivity流程中intent传递数据的最大值。
  9. 容器化的 DevOps 工作流
  10. 强制删除页面上出错的WebParts
  11. identity 1 1 mysql_identity在mysql中怎么用啊以下代码的错误在哪里
  12. php -- php模拟浏览器访问网址
  13. sqlserver min函数其他set操作消除了null值_数据库常用SQL操作篇
  14. VS2012安装步骤
  15. 为什么需要框架(java)
  16. aho-corasick automaton (AC自动机)的理解
  17. 微信公众号发红包开发教程
  18. vue页面导出Word文档(含图片)
  19. linux服务器开发三(网络编程)
  20. qq linux for android,腾讯QQ for android 糊弄还是敷衍?

热门文章

  1. 从张帅进入澳网女子八强来谈我的苦恼
  2. hdu 5439 Ponds(长春网络赛——拓扑排序+搜索)
  3. fatal error: sdf sdf.hh: No such file or directory include sdf sdf.hh 解决办法(Gazebo9)
  4. 《鬼谷子本经阴符七术》全文及翻译
  5. Fiddler 使用十二个小技巧
  6. pythonw是什么意思_微信表白小套路mi manchi是什么意思,表白暗语ohh留在我身边...
  7. RGB各种颜色对照表
  8. 《Java黑皮书基础篇第10版》 第7章【笔记】
  9. hudson.security.AccessDeniedException2: anonymous is missing the Overall/Read permission
  10. Leetcode:给定一个整数,将其转换成罗马数字