主要目录
1、概述
电商推动快递行业发展,现在快递不仅能在线预约寄件服务,还能查询快递的状态。快递行业如今智能化普及的速度非常快,因此查询相关的状态也变得非常简单便捷。快递查询APP开发为用户提供快递查询,快递时效和价格查询,附近快递员和网点查询等服务。
2、项目名称:快递查询。
每天在路上流通的快递包裹数量庞大,快递行业如果还用传统的服务方式,很容易影响业绩,除了电商平台能够查询快递状态,快递互联网平台也能实现这个需求。无论是消费者还是快递员的体验都有提升,总之方便你我他。
3、项目分析
1.智能快递查询:如果用户在平台上预约了快递服务,就可以智能查询快递状态,因为平台会实时更新状态。
2.快递网点查询:如果在寄件的时候需要了解快递网点在哪个位置,可以输入快递公司的名称来查询。
3.快递时效和价格查询:查询快递流通的时效以及收费标准,一般快递收费的标准都是按照重要计算的。
和快递员互动:和快递员互动进行留言,告知快递员注意事项,比如取件时间,易碎物品包装等。
4、技术分析
Requests(请求)
每一个HTTP请求中都应该包含一个URL,一个GET或POST方法以及Header或其他参数,当然还可以含特定内容类型的数据流。
Responses(响应)
响应则包含一个回复代码(200代表成功,404代表未找到),Header和定制可选的body。
具体创建过程:
1、创建OkHttpClient对象。OkHttpClient为网络请求执行的一个中心,它会管理连接池,缓存,SocketFactory,代理,各种超时时间,DNS,请求执行结果的分发等许多内容。
2、创建Request对象。Request用于描述一个HTTP请求,比如请求的方法是"GET"还是"POST",请求的URL,请求的header,请求的body,请求的缓存策略等。
3、利用前面创建的OkHttpClient对象和Request对象创建Call对象。Call是一次HTTP请求的Task,它会执行网络请求以获得响应。OkHttp中的网络请求执行Call既可以同步进行,也可以异步进行。调用call.execute()将直接执行网络请求,阻塞直到获得响应。而调用call.enqueue()传入回调,则会将Call放入一个异步执行队列,由ExecutorService在后台执行。
5、项目设计
build.gradle(module:app)闭包dependencies添加okhttp3依赖和gson依赖
compile 'com.squareup.okhttp3:okhttp:3.6.0
compile ‘com.google.code.gson:gson:2.2.4’
布局文件
主界面activity-main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.expressquery.MainActivity"> //下拉框
<Spinner
android:id="@+id/delivery_company_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:entries="@array/delivery_company"
/>
<EditText
android:id="@+id/delivery_no_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"