基于Android的教室预约系统(Android studio毕业设计,Android课程设计)

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

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

一、项目介绍

主要功能:学生通过系统实现网上选座功能,预约晚自习期间计算机教室座位进行自主学习

具体功能

一、预约功能:

1.学生通过网页进入自主选座系统预约自习室,不可通过网站直接预订具体座位,确定选座后后台会收到预约并减少教室内的可预约座位数量,教室预约人数满该教室则不可再次进行预约(一个教室内的可预约数量为40,共20个教室)

2.预约系统的开放预约时间为早7点到下午6点,预约期限仅限当日的晚自习时间(18.30-20.30)

二、签到功能:

1.学生到达教室后要通过网页进行签到,并记录自己的机器号(为了出现机器故障等问题找到对应学生进行处理),后台存储记录学生的预约过往记录,学生个人主页也可看到

2.如果预约教室后的学生未到达教室进行自习,则对该学生进行违规处罚,一周内不可预约自习室

3。如果学生在自习期间破坏了计算机设备由管理员备注记录,则该学生不可再次预约计算机教室

三、网站开放人员

1.学生(登录帐号为学号,密码最低限制6位),教室管理员

四、主页内容

(1)、学生

1.预约自习室

2.进行签到界面(签到时间,签到机器)

3.修改个人信息(专业 、入学时间、姓名、学号、班级、辅导员)

4.查看历史预约记录

(2)、管理人员

1.修改个人信息(密码)

2.查看学生信息

3.查看学生历史预约记录      

4.修改学生违规栏信息并选择处罚措施(未签到、破坏教学设施)

二、运行环境

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接口的编写以及以及数据的回调

四:部分代码

1:查看教室信息

public class RoomMessageActivity extends BaseActivity {
    RoomModel intersetModel;
    // title
    private TextView mTvTitle;
    // 返回
    private ImageView mIvBack;

    private TextView mtv1, mtv2, mtv3, mtv4, mtvMessagetitle;
    private Button mbtnPay;

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

    @Override
    public void initWidget() {

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

        mbtnPay = (Button) findViewById(R.id.mbtnPay);
        mbtnPay.setOnClickListener(this);

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


    }

    @Override
    public void onClick(View v) {

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

            case R.id.mbtnPay:
                Intent intent = new Intent(this, PayMessageActivity.class);
                intent.putExtra("msg",intersetModel);
                startActivity(intent);
                break;

        }
    }

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

        intersetModel = (RoomModel) this.getIntent().getSerializableExtra("msg");
        mtvMessagetitle.setText(intersetModel.getRoomName());
        mtv1.setText(intersetModel.getRoomAddress());
        mtv2.setText(intersetModel.getRoomNumber() + "人");
        mtv3.setText(intersetModel.getRoomMessage());
        mtv4.setText(intersetModel.getRoomTime());


    }


}
 

2:预约信息

public class ApplyMessageActivity extends BaseActivity {
    ApplyModel intersetModel;
    // title
    private TextView mTvTitle;
    // 返回
    private ImageView mIvBack;

    private TextView mtv1, mtv2, mtv3, mtv4,mtvMessagetitle,mtv5;
    private Button mbtnPay;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_applyessage);
        initWidget();
        initData();
    }

    @Override
    public void initWidget() {

        mtv1 = (TextView) findViewById(R.id.mtv1);
        mtv2 = (TextView) findViewById(R.id.mtv2);
        mtv3 = (TextView) findViewById(R.id.mtv3);
        mtv4 = (TextView) findViewById(R.id.mtv4);
        mtvMessagetitle = (TextView) findViewById(R.id.mtvMessagetitle);
        mtv5 = (TextView) findViewById(R.id.mtv5);

        mIvBack = (ImageView) findViewById(R.id.mIvBack);
        mTvTitle = (TextView) findViewById(R.id.mTvTitle);
        mTvTitle.setText("预约信息");
        mIvBack.setVisibility(View.VISIBLE);
        mIvBack.setOnClickListener(this);

        mbtnPay = (Button) findViewById(R.id.mbtnPay);
        mbtnPay.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {

        switch (v.getId()) {
            case R.id.mIvBack:
                ApplyMessageActivity.this.finish();
                break;
            case R.id.mbtnPay:
                deleteApply(false);
                break;
        }
    }

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

        intersetModel = (ApplyModel) this.getIntent().getSerializableExtra("msg");
        mtvMessagetitle.setText(intersetModel.getApplyMessageName());
        mtv1.setText(intersetModel.getApplyStartMsg()+"至"+intersetModel.getApplyEndMsg());
        mtv2.setText(intersetModel.getApplyTheme() + "人");
        mtv3.setText(intersetModel.getApplyPerson());
        mtv5.setText(intersetModel.getApplyUserName());
        if(intersetModel.getApplyState().equals("1")){
            mtv4.setText("预约状态:待审核");
        }else if(intersetModel.getApplyState().equals("2")){
            mtv4.setText("预约状态:已批准");
        }else if(intersetModel.getApplyState().equals("3")){
            mtv4.setText("预约状态:已拒绝");
        }

    }

    private void deleteApply(boolean isShow) {
        AjaxParams params = new AjaxParams();
        params.put("action_flag", "deleteApply");
        params.put("applyId", intersetModel.getApplyId()+"");
        httpPost(Consts.URL + Consts.APP.MessageAction, params, Consts.actionId.resultFlag, isShow, "正在更新...");
    }

    @Override
    protected void callBackSuccess(ResponseEntry entry, int actionId) {
        super.callBackSuccess(entry, actionId);
        CustomToast.showToast(ApplyMessageActivity.this, entry.getRepMsg());
        ApplyObservable.getInstance().notifyStepChange("ok");
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                ApplyMessageActivity.this.finish();
            }
        }, 1000);
    }

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

    }
}
 

五、更多Android课程设计

AndroidStudio课程设计-通讯录系统(高分毕设,Android期末作业,Android课设,AndroidStudio资源-CSDN文库https://download.csdn.net/download/u014388322/88063330?spm=1001.2014.3001.5503
AndroidStudio的智慧校园系统(高分毕设,Android期末作业,Android课设)资源-CSDN文库https://download.csdn.net/download/u014388322/88062241?spm=1001.2014.3001.5503
AndroidStudio实现的天气预报系统(高分毕设,Android期末作业,Android课设)_android期末资源-CSDN文库https://download.csdn.net/download/u014388322/87938777?spm=1001.2014.3001.5503
AndroidStudio期末大作业校园快递领取系统(Android课设,新手小白必看)_androidstudio期末大作业资源-CSDN文库https://download.csdn.net/download/u014388322/87929440?spm=1001.2014.3001.5503

七、源码获取

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

1:V信搜索“毕业设计小码哥”,也可以关注下方公众号,然后点击菜单栏“源码说明-源码下载”

2:点击小程序下面截图​

3:选择Android就可以看到下载源码

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Android毕业设计源码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值