基于android的校园快递代取服务平台

 博主介绍:本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮助到您;

🍅文章末尾获取源码下载方式🍅

目录

功能演示

一、项目介绍

二、运行环境

三、使用技术

四、数据库设计

五、部分代码

六、浏览更多Android毕业设计

七、源码下载


功能演示

一、项目介绍

系统分为四个主要模块,即用户管理模块、快递管理模块、查询及统计模块、推送模块。

1.用户管理模块

A.注册/登陆

管理员、快递代取员、用户可选择各自的角色进行注册并登陆。

B.个人主页

C.我的订单

用户可进行发单、收单操作并随时查看发单、接单的实时情况

D.我的收货地址

E.账户与安全

用户可设置登陆密码,进行手机号码的绑定。

2.快递管理模块

A.快递公司管理

登记快递公司信息,准确接收快递信息及时签收,保证快件的安全。

B.订单管理

管理员可实时查看用户快递信息,及时发布任务公告,减少用户等待时间。

3.查询及统计模块

         A.全部订单

         B.已完成订单

         C.待完成订单

4.推送模块

         A.公告栏

         B.信息交流区

         C.系统消息提示

二、运行环境

1:客户端使用Android stuido进行开发;
2:服务端后台使用Myeclipse2014进行开发;
3:mysql数据库进行数据存储;
4:需要jdk1.7以上
5:使用雷电模拟器或者Androidstuio自带的模拟器进行运行

三、使用技术

总体设计逻辑和思路:
1:先设计数据库表文件
2:写服务端jsp页面以及写api接口给客户端提供数据
3:完成后台服务端的数据交互,也就是jsp页面数据的存储和显示
4:进行客户端页面的开发;
5:进行客户端对api接口的调用,也就是获取数据库的数据以及在客户端进行显示

移动端:
1:使用android原生控件以及xml布局文件来完成界面的显示
2:使用java代码完成功能的数据和逻辑交互
3:使用http网络请求完成数据的请求;
4:使用json数据解析完成客户端数据的回调和显示

服务端后台:
1:使用mysql完成数据的存储
2:使用jdbc完成数据库和代码的逻辑交互
3:使用jsp完成网页数据的显示
4:使用java代码完成api接口的编写以及以及数据的回调

四、数据库设计

/*
Navicat MySQL Data Transfer

Source Server         : mydata
Source Server Version : 50537
Source Host           : localhost:3306
Source Database       : campusexpressdb

Target Server Type    : MYSQL
Target Server Version : 50537
File Encoding         : 65001

Date: 2019-03-08 17:35:46
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for addresstb
-- ----------------------------
DROP TABLE IF EXISTS `addresstb`;
CREATE TABLE `addresstb` (
  `addressId` int(11) NOT NULL AUTO_INCREMENT,
  `addressMessage` varchar(255) DEFAULT NULL,
  `addressUserId` int(11) DEFAULT NULL,
  `addressTime` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`addressId`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of addresstb
-- ----------------------------
INSERT INTO `addresstb` VALUES ('1', '西安市雁塔区', '106', '2019-03-07 11:53');
INSERT INTO `addresstb` VALUES ('2', '西安市莲湖区', '106', '2019-03-07 11:53');
INSERT INTO `addresstb` VALUES ('3', '上海市徐汇区', '106', '2019-03-07 11:54');
INSERT INTO `addresstb` VALUES ('4', '上海市浦东新区', '106', '2019-03-07 11:55');
INSERT INTO `addresstb` VALUES ('5', '北京市', '114', '2019-03-07 15:09');
INSERT INTO `addresstb` VALUES ('6', '上海市', '114', '2019-03-07 15:09');
INSERT INTO `addresstb` VALUES ('7', '我的地址信息', '106', '2019-03-07 18:33');

-- ----------------------------
-- Table structure for mailingtb
-- ----------------------------
DROP TABLE IF EXISTS `mailingtb`;
CREATE TABLE `mailingtb` (
  `mailingId` int(11) NOT NULL AUTO_INCREMENT,
  `mailingTitle` varchar(255) DEFAULT NULL,
  `mailingSendUserName` varchar(255) DEFAULT NULL,
  `mailingSendUserPhone` varchar(255) DEFAULT NULL,
  `mailingStartAddress` varchar(255) DEFAULT NULL,
  `mailingEndAddress` varchar(255) DEFAULT NULL,
  `mailingMessage` varchar(255) DEFAULT NULL,
  `mailingUserId` varchar(11) DEFAULT NULL,
  `mailingUserName` varchar(255) DEFAULT NULL,
  `mailingTime` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`mailingId`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of mailingtb
-- ----------------------------
INSERT INTO `mailingtb` VALUES ('1', '书籍物品', '呆呆的home', '15249248888', '西安市莲湖区', '上海市浦东新区', '物品比较重要,麻烦一块快一点帮我寄出!', '106', '小丸子', '2019-03-07 13:54');
INSERT INTO `mailingtb` VALUES ('2', '衣服物品', '呆呆的home', '15249248888', '西安市雁塔区', '上海市浦东新区', '物品比较重要,麻烦一块快一点帮我寄出!', '106', '小丸子', '2019-03-07 14:09');
INSERT INTO `mailingtb` VALUES ('4', '电脑', '呆呆的home', '15249248888', '北京市', '上海市', '物品比较重要,麻烦一块快一点帮我寄出!', '114', '小花', '2019-03-07 15:10');
INSERT INTO `mailingtb` VALUES ('5', '书籍物品66', '呆呆的home', '15249248888', '上海市浦东新区', '我的地址信息', '物品比较重要,麻烦一块快一点帮我寄出!', '106', '小丸子', '2019-03-07 18:34');
INSERT INTO `mailingtb` VALUES ('9', '电子设备', '小多多', '15249248888', '西安市莲湖区', '上海市浦东新区', '我的东西需要寄件', '106', '小丸子', '2019-03-08 16:57');

-- ----------------------------
-- Table structure for ordermsg
-- ----------------------------
DROP TABLE IF EXISTS `ordermsg`;
CREATE TABLE `ordermsg` (
  `orderId` int(50) NOT NULL AUTO_INCREMENT,
  `orderMessageId` varchar(50) DEFAULT NULL,
  `orderMessageName` varchar(255) DEFAULT NULL,
  `orderMessageMoney` varchar(255) DEFAULT NULL,
  `orderUserId` varchar(100) DEFAULT NULL,
  `orderUserName` varchar(255) DEFAULT NULL,
  `orderTime` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`orderId`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of ordermsg
-- ----------------------------

-- ----------------------------
-- Table structure for qiangdantb
-- ----------------------------
DROP TABLE IF EXISTS `qiangdantb`;
CREATE TABLE `qiangdantb` (
  `qiangdanId` int(50) NOT NULL AUTO_INCREMENT,
  `qiangdanUserId` varchar(100) DEFAULT NULL,
  `qiangdanMessgaeId` varchar(100) DEFAULT NULL,
  `qiangdanMessgaeUserId` varchar(11) DEFAULT NULL,
  `qiangdanType` varchar(255) DEFAULT NULL,
  `qiangdanTime` varchar(100) DEFAULT NULL,
  `qiangdanMoney` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`qiangdanId`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of qiangdantb
-- ----------------------------
INSERT INTO `qiangdantb` VALUES ('8', '99', '5', '106', '已取件', '2019-03-08 15:44', '21');
INSERT INTO `qiangdantb` VALUES ('10', '99', '4', '114', '已取件', '2019-03-08 15:52', '30');
INSERT INTO `qiangdantb` VALUES ('11', '99', '2', '106', '已取件', '2019-03-08 15:52', '33.0');
INSERT INTO `qiangdantb` VALUES ('12', '99', '9', '106', '已接单', '2019-03-08 16:58', '34.5');

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userId` int(255) NOT NULL AUTO_INCREMENT,
  `userName` varchar(200) CHARACTER SET utf8 NOT NULL,
  `userPhone` varchar(100) CHARACTER SET utf8 NOT NULL,
  `userPswd` varchar(200) CHARACTER SET utf8 NOT NULL,
  `userTime` varchar(300) CHARACTER SET utf8 NOT NULL,
  `userType` varchar(255) DEFAULT NULL,
  `userNo` varchar(100) DEFAULT NULL,
  `userCompanyName` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `userCompanyAddress` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `userCompanyMessage` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`userId`)
) ENGINE=InnoDB AUTO_INCREMENT=115 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('99', '小明', '15249241234', '123456', '2019-03-06 16:15', '1', 'NO20190214111540', '多多快递送', '西安市雁塔区', '快递员李元的车在蜿蜒的山路上穿行,一个又一个的急转弯,他嘱咐旁边的摄影师刘禹扬将之用宝丽来相机拍下来;');
INSERT INTO `user` VALUES ('106', '小丸子', '15249249696', '123456', '2019-03-06 17:03', '2', 'NO20190214111542', null, null, null);
INSERT INTO `user` VALUES ('113', 'daidai', '15249245656', '123456', '2019-03-06 16:01', '2', 'NO20190215160138', null, null, null);
INSERT INTO `user` VALUES ('114', '小花', '15249247878', '123456', '2019-03-07 15:09', '2', 'NO20190307150915', null, null, null);

五、部分代码

1:寄件详情界面


public class JieDanMessageActivity extends BaseActivity {
    MailingModel intersetModel;
    // title
    private TextView mTvTitle;
    // 返回
    private ImageView mIvBack;
    // 查询按钮
    private TextView mtvMessagetitle;
    private TextView mtvcontent;

    private Button mbtnPay;
    private TextView mtvShopPrice;
    private ImageView guide_image;

    private ScrollView mslView;
    private TextView mIvStu;

    private TextView mtv1,mtv2,mtv3,mtv4;


    private EditText jiedanMoney;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_jiedan);
        initWidget();
        initData();
    }

    @Override
    public void initWidget() {

        jiedanMoney= (EditText) findViewById(R.id.jiedanMoney);
        mtv1 = (TextView)findViewById(R.id.mtv1);
        mtv2 = (TextView)findViewById(R.id.mtv2);
        mtv3 = (TextView)findViewById(R.id.mtv3);
        mtv4 = (TextView)findViewById(R.id.mtv4);



        mIvStu = (TextView)findViewById(R.id.mIvStu);
        mslView = (ScrollView) findViewById(R.id.mslView);
        mbtnPay = (Button) findViewById(R.id.mbtnPay);
        mbtnPay.setOnClickListener(this);
        mtvShopPrice = (TextView) findViewById(R.id.mtvShopPrice);

        mtvShopPrice.setOnClickListener(this);
        guide_image = (ImageView) findViewById(R.id.guide_image);

        mtvMessagetitle = (TextView) findViewById(R.id.mtvMessagetitle);
        mtvcontent = (TextView) findViewById(R.id.mtvcontent);

        mIvBack = (ImageView) findViewById(R.id.mIvBack);
        mTvTitle = (TextView) findViewById(R.id.mTvTitle);
        mTvTitle.setText("寄件详情");
        mIvBack.setVisibility(View.VISIBLE);
        mIvBack.setOnClickListener(this);

        mIvStu.setVisibility(View.GONE);
        mIvStu.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {

        switch (v.getId()) {
            case R.id.mIvBack:
                JieDanMessageActivity.this.finish();
                break;

            case R.id.mbtnPay:
//                UserModel userModel = (UserModel) MemberUserUtils.getBean(this, "user_messgae");
//                if(userModel.getUserType().equals("2")){
//                    CustomToast.showToast(JieDanMessageActivity.this,"非快递代员不能接单!");
//                    return;
//                }

                if (TextUtils.isEmpty(jiedanMoney.getText().toString())) {
                    ToastUtil.ShowCentre(this, "请输入运费金额");
                    return;
                }

                addMessage(true);
                break;

        }
    }

    @SuppressLint("SetTextI18n")
    @Override
    public void initData() {

        intersetModel = (MailingModel) this.getIntent().getSerializableExtra("msg");
        mtvMessagetitle.setText(intersetModel.getMailingTitle());


        mtv1.setText("用户:" + intersetModel.getMailingSendUserName());
        mtv2.setText("手机:" + intersetModel.getMailingSendUserPhone());
        mtv3.setText("寄件地址:" + intersetModel.getMailingStartAddress());
        mtv4.setText("收件地址:" + intersetModel.getMailingEndAddress());

        mtvcontent.setText(intersetModel.getMailingMessage());
        mtvShopPrice.setText("时间:"+intersetModel.getMailingTime());

        if (intersetModel.isMailingState()) {
            mbtnPay.setBackgroundResource(R.drawable.btn_no_huimsg);
            mbtnPay.setFocusable(false);
            mbtnPay.setClickable(false);
            mbtnPay.setText("已接单");
        }
    }

    private void addMessage(boolean isShow) {
        AjaxParams params = new AjaxParams();
        params.put("action_flag", "addQiangDan");
        params.put("qiangdanUserId", MemberUserUtils.getUid(this));
        params.put("qiangdanMessgaeUserId", intersetModel.getMailingUserId());
        params.put("qiangdanMessgaeId", intersetModel.getMailingId()+"");
        params.put("qiangdanType", "已接单");
        params.put("qiangdanMoney", jiedanMoney.getText().toString());
        httpPost(Consts.URL + Consts.APP.MessageAction, params, Consts.actionId.resultFlag, isShow, "正在领养...");
    }

    @Override
    protected void callBackSuccess(ResponseEntry entry, int actionId) {
        super.callBackSuccess(entry, actionId);
        switch (actionId) {
            case Consts.actionId.resultFlag:
                MailAdminObservable.getInstance().notifyStepChange("ok");
                TipObservable.getInstance().notifyStepChange("ok");
                CustomToast.showToast(JieDanMessageActivity.this, entry.getRepMsg());
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        finish();
                    }
                }, 2000);
                break;
        }
    }

    @Override
    protected void callBackAllFailure(String strMsg, int actionId) {
        super.callBackAllFailure(strMsg, actionId);
        ToastUtil.show(JieDanMessageActivity.this, strMsg);

    }

}

六、浏览更多Android毕业设计

毕业设计-基于android的租房信息发布平台的APP_信息发布app源码_Android毕业设计源码的博客-CSDN博客

毕业设计-基于android选课系统的设计与实现_android学生选课系统_Android毕业设计源码的博客-CSDN博客

毕业设计之校园一卡通管理系统的设计与实现_一卡通管理系统实现_Android毕业设计源码的博客-CSDN博客

基于Android的校园二手闲置物品交易系统设计与实现_基于android的二手交易平台_Android毕业设计源码的博客-CSDN博客

基于androidstudio校园快递APP系统的设计与实现_android studio论文_Android毕业设计源码的博客-CSDN博客

基于android的商城购物定制APP_安卓开发购物app_Android毕业设计源码的博客-CSDN博客

更多毕业设计可以浏览我的个人主页哦!

七、源码下载

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻

https://download.csdn.net/download/u014388322/88192147

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android毕业设计源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值