目录
一、测试环境说明
电脑环境
Windows 11
编写语言
JAVA
开发软件
Android Studio (2020)
开发软件只要大于等于测试版本即可(近几年官网直接下载也可以),若是版本低于测试版本请自行测试。项目需要根据你的软件自行适配
二、项目简介
该项目简介来自网络,具体内容需要自行测试
本课程信息管理系统是基于Android平台开发的一款应用程序,采用Java编程语言和SQLite数据库技术实现。系统主要功能包括用户注册与登录、课程信息的增删改查等核心操作。
在系统架构上,采用了典型的三层架构模式,包括表现层、业务逻辑层和数据访问层,通过MySQLiteOpenHelper和SuccessSQLiteOpenHelper两个数据库辅助类分别管理用户数据和课程数据。
系统界面设计遵循Material Design规范,使用Google提供的Material组件库构建用户界面,确保良好的用户体验和操作流畅性。
在功能实现方面,系统通过Intent实现不同Activity间的跳转,利用ContentValues和Cursor等Android数据库操作类完成数据的持久化存储与检索。系统测试结果表明,各功能模块运行稳定,能够满足基本的课程信息管理需求,为学校教务管理提供了便捷的移动端解决方案。
该项目由编程乐学团队介入,优化布局完善功能
三、项目演示
网络资源模板--基于Android studio 课程管理App
四、部设计详情(部分)
登录页
1. 页面的结构
该页面采用典型的线性垂直布局,整体分为四个主要部分。顶部是应用标题区域,包含一个居中显示的大标题和装饰横线。
中间部分是表单输入区,包含两个带外边框的文本输入框,分别用于输入账号和密码,并配有浮动标签提示。底部是操作按钮区,包含一个蓝色背景的登录按钮和一个白色边框的注册按钮。
整个页面采用统一的蓝色主题色,背景设置了自定义的图片资源,四周留有适当的边距使内容不会紧贴屏幕边缘。
2. 使用到的技术
该页面运用了Material Design组件库实现现代化UI效果,特别是使用了TextInputLayout和TextInputEditText组合来实现带浮动标签的输入框,取代了传统的EditText。
按钮采用了MaterialButton组件,支持圆角、边框等高级样式。布局使用LinearLayout作为根容器,通过权重和边距控制元素间距。
页面背景通过android:background属性引用drawable资源实现。交互方面采用setOnClickListener实现按钮点击事件,并使用Intent进行页面跳转,通过Toast显示操作反馈。
3. 页面详细介绍
这是一个课程信息管理系统的登录页面,设计简洁专业。顶部醒目的"课程信息管理APP"标题点明应用用途,蓝色主题色营造专业感。
账号密码输入框采用Material Design风格,获得焦点时标签会浮动并有颜色变化,提升用户体验。登录按钮采用实心蓝色设计,注册按钮则使用空心边框,形成视觉对比。
页面跳转逻辑清晰,成功登录后会进入课程管理主页并关闭当前页面,注册则跳转到注册页面。整个界面布局层次分明,色彩统一,符合现代Android应用设计规范,既保证了功能性又不失美观性。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical"
android:padding="24dp"
tools:context=".Login.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:layout_marginBottom="40dp"
android:gravity="center"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="课程信息管理APP"
android:textColor="#3F51B5"
android:textSize="28sp"
android:textStyle="bold" />
<View
android:layout_width="80dp"
android:layout_height="4dp"
android:layout_marginTop="8dp"
android:background="#3F51B5" />
</LinearLayout>
<!-- 使用标准样式替代boxCornerRadius -->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/usernameLayout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="70dp"
android:layout_marginBottom="16dp"
android:hint="账号"
app:boxStrokeColor="#3F51B5"
app:hintTextColor="#3F51B5">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/edname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:textSize="16sp" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/passwordLayout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:hint="密码"
app:boxStrokeColor="#3F51B5"
app:hintTextColor="#3F51B5">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/edpassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:textSize="16sp" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/login"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginBottom="16dp"
android:backgroundTint="#3F51B5"
android:onClick="login"
android:text="登录"
android:textAllCaps="false"
android:textColor="#FFFFFF"
android:textSize="16sp"
app:cornerRadius="8dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/register"
android:layout_width="match_parent"
android:layout_height="48dp"
android:backgroundTint="#FFFFFF"
android:text="注册"
android:textAllCaps="false"
android:textColor="#3F51B5"
android:textSize="16sp"
app:cornerRadius="8dp"
app:strokeColor="#3F51B5"
app:strokeWidth="1dp" />
</LinearLayout>
首页
1. 页面的结构
该页面采用垂直线性布局,整体设计简洁直观。顶部居中显示"功能菜单"标题,使用深蓝色加粗字体突出显示。
下方排列四个功能按钮,分别对应课程的增删改查操作。所有按钮采用统一的Material Design风格,蓝色背景搭配白色文字,高度一致且保持相同间距。
按钮从上到下依次为添加、删除、修改和查询课程,布局层次分明。整体页面四周留有适当内边距,避免内容紧贴屏幕边缘,背景使用自定义图片增强视觉效果。
2. 使用到的技术
页面核心采用Material Design组件库,所有按钮均使用MaterialButton实现标准化样式。通过设置统一的背景色、文字颜色和边距保证界面一致性。
页面跳转采用Intent机制,通过实现View.OnClickListener接口统一处理按钮点击事件。每个按钮点击后会启动对应的功能页面,如创建课程或查询课程界面。
背景通过引用drawable资源实现,整体风格延续了登录页的蓝色主题,保持应用视觉统一性。
3. 页面详细介绍
这是课程管理系统的功能菜单主页,设计简洁实用。醒目的标题下方整齐排列四个核心功能入口,采用相同样式的按钮降低用户学习成本。
深蓝色按钮与白色文字形成高对比度,提升可读性和点击感。每个按钮对应课程管理的一项基本操作,包括新增、删除、修改和查询,覆盖了课程管理的全生命周期。
点击任一按钮将跳转到相应功能页面,交互逻辑清晰直观。整体界面延续了应用的蓝色主题,风格统一专业,适合教育管理类应用的使用场景。
package com.example.coursemanagement.CourseManage; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import com.example.coursemanagement.R; public class success extends AppCompatActivity implements View.OnClickListener { private Button create, delete, update, read; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_success); find(); } private void find() { create = findViewById(R.id.create); delete = findViewById(R.id.delete); update = findViewById(R.id.update); read = findViewById(R.id.read); create.setOnClickListener(this); delete.setOnClickListener(this); update.setOnClickListener(this); read.setOnClickListener(this); } @Override public void onClick(View view) { int id = view.getId(); if (id == R.id.create) { Intent cre = new Intent(this, CreateActivity.class); startActivity(cre); } if (id == R.id.delete) { Intent reg = new Intent(this, DeleteActivity.class); startActivity(reg); } if (id == R.id.update) { Intent upd = new Intent(this, UpdateActivity.class); startActivity(upd); } if (id == R.id.read) { Intent red = new Intent(this, ReadActivity.class); startActivity(red); } } }
五、项目源码
👇👇👇👇👇快捷方式👇👇👇👇👇