大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
一、需求分析
由于大学上课教室分散,学生经常会忘记自己的课程或是上课的教室。这在一定程度上促进学生课表软件的开发。使其可以帮助学生记录自己的课程和对自己课程的掌握。因为手机相对笔记本电脑更加具有便携性,可以随时随地的打开并使用它。相对于笔记本电脑的开机并打开软件所用的时间,其需要的时间更短,所以手机端的学生课表备受学生用户的青睐。通过手机管理课表也是目前比较流行的方式,该款软件是基于Android Studio平台与SQLite数据库开发的一款学生课表软件。
UML需求用例图
二、系统设计
通过对Android技术的相关研究,了解Android源码实现原理以及过程,从而设计出一款能够使用的课程表。
这款课程表实现的相关内容如下:
简洁、实用的操作界面
课程的增加
课程的删除
课程的修改
课程的查看
三、系统测试
1、课程的增加
添加课程时,数据由用户输入,点击确定按钮,判断数据是否合法(及用户名是否为空),合法则插入到数据库;不合法,提示课程信息有误,让用户重新输入。
2、课程的删除
当用户选定一个课程时,单击课程菜单,点击删除按钮,则从数据库中删除此条记录。数据删除流程
3、课程的修改
编辑课程时,输入修改后的数据,点击确定按钮,判断数据是否合法,合法,则更新数据库;不合法,则返回错误信息。
4、课程的查看
四、系统实现
连立数据库,在数据库中创建表用来存储课程数据,其中包括课程名,星期几,课程开始结束时间,教师和教室。
数据库有关代码
//从数据库加载数据
private void loadData() {
//ArrayList<Course> coursesList = new ArrayList<>(); //课程列表
DbHelper helper = new DbHelper(this);
try {
Dao<Course,Integer> sdao = helper.getDao(Course.class);
List<Course> sl = sdao.queryForAll();
//使用从数据库读取出来的课程信息来加载课程表视图
for (Course course : sl) {
createCourseView(course);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//保存数据到数据库
private void saveData(Course course) {
try {
Dao<Course,Integer> sdao = helper.getDao(Course.class);
sdao.create(course);
} catch (SQLException e) {
e.printStackTrace();
}
}
//更新数据到数据库
private void updataData(Course course) {
try {
Dao<Course,Integer> sdao = helper.getDao(Course.class);
sdao.updateId(course,Integer.valueOf(course.getId()));
} catch (SQLException e) {
e.printStackTrace();
}
}
//删除数据到数据库
private void delData(Course course) {
try {
Dao<Course,Integer> sdao = helper.getDao(Course.class);
sdao.deleteById(Integer.valueOf(course.getId()));
} catch (SQLException e) {
e.printStackTrace();
}
}
五、总结
对于安卓,由于平时对手机这方面很感兴趣,所以在学习的时候,带着兴趣去学习的。当然,对一门新的android开发领域,在学习过程中,比想象要困难。为了在短时间内投入到开发,完成项目。需要花大量的时间去学习,动手编程。以最快的速度学习Android,掌握开发中的各种控件的使用,理解了Android开发框架,学习SQLite数据库的使用。
这次综合课程设计是对自己的一个挑战,对于安卓,在经过努力,最终一步步都解决了。完成综合课程设计设计,让我受益匪浅,我相信它会对我以后的人生和工作起到很好的促进。
附件1:
课设题目 基于Android的课程表应用软件
技术说明
序 号 |
技术名称 分类
|
应用与实现 |
1 |
UI设计 |
课程表布局,以及菜单界面,多种布局的嵌套及控件的使用, |
2 |
SQLite数据库 |
课表添加与删除修改 |
3 |
Activity组件的应用 |
添加课表单周双周课表添加与跳转 |
4 |
ListView的使用 |
使用listview加载数据库课表信息进行显示 |
UML类图
代码
清单文件:
<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
package=”com.example.lcu_kcb”>
<uses-permission android:name=”android.permission.CAMERA” />
<uses-permission android:name=”android.permission.MOUNT_UNMOUNT_FILESYSTEMS” />
<uses-permission android:name=”android.permission.INTERNET”/>
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE”/>
<application
android:allowBackup=”true”
android:icon=”@drawable/tb”
android:label=”阿健课程表”
android:supportsRtl=”true”
android:theme=”@style/AppTheme”
tools:ignore=”GoogleAppIndexingWarning”>
<activity android:name=”com.example.lcu_kcb.MainActivity”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
<activity
android:label=”新建课程”
android:name=”com.example.lcu_kcb.AddCourseActivity”
android:theme=”@style/Theme.AppCompat.Light.Dialog”/>
<activity
android:name=”com.example.lcu_kcb.Alter_Course”
android:label=”修改课程”
android:theme=”@style/Theme.AppCompat.Light.Dialog”/>
<activity
android:name=”com.example.lcu_kcb.AboutActivity”
android:label=”关于”
android:theme=”@style/Theme.AppCompat.Light.Dialog”/>
<activity
android:label=”课程详细信息”
android:name=”com.example.lcu_kcb.MessageCourseActivity”
android:theme=”@style/Theme.AppCompat.Light.Dialog”/>
<activity
android:name=”com.example.lcu_kcb.SingleWeek”
android:label=”单周课程”
/>
<activity
android:name=”com.example.lcu_kcb.DoubleWeek”
android:label=”双周课程”
/>
<meta-data
android:name=”com.google.android.gms.version”
android:value=”@integer/google_play_services_version” />
<provider
android:name=”android.support.v4.content.FileProvider”
android:authorities=”com.example.write.fileprovider”
android:exported=”false”
android:grantUriPermissions=”true”>
<meta-data
android:name=”android.support.FILE_PROVIDER_PATHS”
android:resource=”@xml/provider_paths”/>
</provider>
</application>
</manifest>
布局文件:
1. 截图 如上:
Java原码
……
类说明
类名 |
说明 |
AboutActivity |
实现关于页面类 |
AddcourseActivity |
实现增加课程类 |
Alter-course |
实现增加单周课程类 |
Course |
实现课程类 |
DbHelper |
数据库实现类 |
Doubleweek |
实现增加双周课程类 |
MainActivity |
实现主要页面类 |
MessageCourseActivity |
实现课程信息类 |
Singleweek |
实现课程视图类 |
SpinnerActivity |
实现选择周类 |
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168223.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...