计算机毕业设计基于Android学生宿舍报修系统app双端

技术栈

本课题主要涉及的关键技术包括:Android移动端技术,使用Android Studio进行开发,Java作为开发语言。数据库选择mysql,轻量级,运行速度快,适合移动设备使用。使用MVVM模式将代码划分为Model、View、ViewModel三个部分,使用data Binding自动同步UI和data,使代码更简洁。需要运用安卓的四大组件和掌握它们的生命周期,用于和用户交互以及实现数据共享等作用
后端开发工具:eclipse
编程语言: java
Android开发工具:Android studio3.0
数据库: mysql5.7
数据库工具:Navicat/SQLyog都可以
(1)客户端使用Android stuido进行开发。
(2)服务端后台使用eclipse进行开发。
(3)数据库使用mysql进行数据存储。
(4)使用Android stuido自带的模拟器进行运行。

开发核心技术

Mysql简介:
数据库是学习开发过程中必不可少的一部分,有很多的企业也正在使用Mysql,平时的开发学习也离不开它,能节约很多成本,并且性能要求不高,是中小型企业的首选。
Android平台作为全球最流行的移动操作系统之一,不断演进并提供新的功能和技术。未来,随着硬件技术和软件创新的推动,Android将持续适应新的设备形态和用户需求,为开发者和用户带来更多可能性和便利性。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

具体实现截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Android项目结构解析

  1. .gradle和.idea
    这两个目录下放置的都是Android Studio自动生成的一些文件,大致是项目的配置信息,包括历史记录,版本控制信息等,无须关心,也不要去手动编辑(其实也可以将其隐藏起来)
    2.app
    项目中的代码、资源等内容都是放置在这个目录下的,我们后面的开发工作也基本是在这 个目录下进行的,待会儿还会对这个目录单独展开讲解。
    3.build
    这个目录主要包含了一些在编译时自动生成的文件,也不需要过多关心。
    4.gradle
    这个目录下包含了gradle wrapper的配置文件 ( 其实目前也不用过多的理解它,因为我也还在了解这个中,大概是帮忙配置每一个项目对应的radle版本的 )
    使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。Android Studio默认就是启用gradle wrapper方式的,如果需要更改成离线模式,可以点击Android Studio导航栏→File→Settings→Build, Execution,Deployment→Gradle,进行配置更改。
  2. .gitgnore
    这个文件是用来将指定的目录或文件排除在版本控制之外的。(git ignore嘛)
    6.build.gradle
    这是项目全局的gradle构建脚本,通常这个文件中的内容是不需要修改的。稍后我们将会详细分析gradle构建脚本中的具体内容。
    7.gradle.properties
    这个文件是全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本。
    8.gradlew和gradlew.bat
    这两个文件是用来在命令行界面中执行gradle命令的,其中gradlew是在Linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用的。

核心代码部分展示

public class LoginActivity extends BaseActivity  {
    // title
    private TextView mTvTitle;
    // 登录用户名称
    private EditText mLoginNumber;
    // 登录密码
    private EditText mLoginPswd;
    // 登录按钮
    private Button mLogin;
    private Button mEnterpriseQuery;
    private LinearLayout mllTop;
    private UserModel userModel;
    String[] permissions = new String[]{
            Manifest.permission.ACCESS_FINE_LOCATION,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
    };
    private static final int ACCESS_FINE_LOCATION = 1;
    private static final int WRITE_EXTERNAL_STORAGE = 2;
    List<String> mPermissionList = new ArrayList<String>();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loginnew);
        initWidget();
        checkPermission();
    }
    /**
     * 控件初始化
     */
    @Override
    public void initWidget() {

        mdialog = new LoadingDialog(this, "正在登录");
        mLoginNumber = (EditText) findViewById(R.id.mLoginNumber);
        mLoginPswd = (EditText) findViewById(R.id.mLoginPswd);
        mLogin = (Button) findViewById(R.id.mLogin);
        mEnterpriseQuery = (Button) findViewById(R.id.mEnterpriseQuery);
        // 事件的监听
        mLogin.setOnClickListener(this);
        mEnterpriseQuery.setOnClickListener(this);
        // 给输入框设置默认的测试数据
        mLoginNumber.setSelection(mLoginNumber.getText().length());

        mLoginNumber.setText("15249245001");
        mLoginPswd.setText("123456");

    }

代码解析

首先可以看到,MainActivity是继承自AppCompatActivity的。AppCompatActivity是AndroidX中提供的一种向下兼容的Activity,可以使Activity在不同系统版本中的功能保持一致性。
而Activity类是Android系统提供的一个基类,我们项目中所有自定义的Activity都必须继承它或者它的子类才能拥有Activity的特性(AppCompatActivity是Activity的子类)。
然后可以看到MainActivity中有一个onCreate()方法,这个方法是一个Activity被创建时必定要执行的方法,其中只有两行代码,并且没有“Hello World! ”的字样那么虚拟机中显示的“Hello World! ”是在哪里定义的呢?
其实Android程序的设计讲究逻辑和视图分离,因此是不推荐在Activity中直接编写界面的。一种更加通用的做法是,在布局文件中编写界面,然后在Activity中引入进来。
可以看到,在onCreate()方法的第二行调用了setContentView()方法,就是这个方法给当前的Activity引入了一个activity_main布局,那“Hello World!”一定就是在这里定义的了!我们快打开这个文件看一看。
布局文件都是定义在res/layout目录下的,当你展开layout目录,你会看到activity_main.xml这个文件

总体设计逻辑和思路:

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

Android移动端实现原理:

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

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

源码获取

文章最下方名片联系我即可~
✌💗大家点赞、收藏、关注、评论啦 、查看✌💗
👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

豆包程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值