Android课程设计报告.docx
- 文档编号:7379967
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:10
- 大小:171.68KB
Android课程设计报告.docx
《Android课程设计报告.docx》由会员分享,可在线阅读,更多相关《Android课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。
Android课程设计报告
河南城建学院
课程设计报告书
专业:
计算机科学与技术
课程设计名称:
《Java高级应用》
题目:
基于Android平台的记事本软件
班级:
0814131班
学
设计者:
付明玉
同组人员:
李志军、翟帅星
指导老师:
张妍琰景伟娜陈红军
完成时间:
2016年06月04
一、设计目的
设计目的
《Java高级应用》课程设计是我们实践性学习环节之一,通过课程设计:
(1)、巩固本学期所学的理论知识,熟悉androidstutio工具及相关java组件的灵活应用。
(2)、编制出完整的应用程序,锻炼我们的分析解决实际问题的能力,为以后完成大型项目的开发打下基础。
(3)、把理论与实验课所学内容做一个综合,并在此基础上强化我们的实践意识、提高实际动手能力和创新能力。
设计要求
设计一款基于Android平台的记事本软件。
功能要求:
具有记事本的基本功能,可以实现记录,批量处理。
具备在线备份和分享功能。
在线备份能备份各种编辑中或者编辑完成的文章。
二、需求分析
需求分析
(1)用户进入系统后可以设置个人信息:
设置页面颜色、姓名、电话、及锁定密码,设置标记;
(2)查看记录:
查看以前的记录;
(3)添加记录:
添加新的记录;
(4)删除记录:
删除已有的记录;
(5)垃圾箱:
删除的信息会被放到垃圾箱里,并可以进行还原操作,若确定是没有信息,则可以清空垃圾箱,实现批量删除;
(6)日历:
可以显示当前日期,与手机时间,会根据信息修改的时间,自动改变信息记录时间;而且可以再日历中的某一天添加标记信息;
(7)排序:
可以对信息进行排序(按时间、字母表、颜色)
(8)视图:
在代码中添加了listView和gridView两种显示视图,用户可以自由选择;
(9)简介:
对软件和开发的简单介绍
软件逻辑
逻辑图
图2-1
功能模块图
软件功能模块图如图2-2所示
图2-2-1
图2-2-2
图2-2-3
图2-2-4
数据存储实现
依据系统功能设计的要求及功能模块的划分,对数据库进行了设计。
本系统主要涉及到记事本信息的存储表notes,如表2-1所示。
数据库中表notes信息
列名
对应变量
数据类型
属性
功能说明
_id
COLUMN_ID
String
主键
title
COLUMN_TITLE
Text
Notnull
信息标题
color
COLUMN_COLOR
integer
Notnull
主题颜色
modified_time
COLUMN_MODIFIED_TIME
integer
Notnull
修改时间
reminder_json
COLUMN_REMINDER
Text
设置提醒
locked
COLUMN_LOCKED
Integer
Default0
锁定状态
checked
COLUMN_CHECKED
Integer
Default0
设置标记
trashed
COLUMN_TRASHED
integer
Default0
垃圾箱
deleted_time
COLUMN_DELETED_TIME
integer
Default0
calendar_day
COLUMN_CALENDAR_DAY
integer
Default-1
日历日期(日)
calendar_month
COLUMN_CALENDAR_MONTH
integer
Default-1
日历日期(月)
calendar_year
COLUMN_CALENDAR_YEAR
integer
Default-1
日历日期(年)
三、模块分析及设计
首页面
进入页面的效果如图3-1所示
图3-1-1
在系统主页面,我们采用了简单明了的方式直观向用户展示了这个软件的用途,直接点击就可以记录事件,在这个页面我们添加了:
setupActionBar();setupNavigationDrawer();由actionbar实现左滑动菜单;
此外,在Activity中使用了Fragment,可以使设计适用于不同的手机屏幕大小,提供更加灵活的UI支持。
通过对Activity布局进行分片,更加方便的对每块进行独立控制。
主菜单
首页面左滑动菜单即为系统主菜单,采用了drawerlayout布局,里面包含了线性布局、相对布局,和FrameLayout布局,用listViw在菜单中显示各个功能的小图标,图标包含TextView和CircularImageView,显示效果如图所示:
图3-2-1
添加代码激活actionBar按钮,使它能够滑动,使用了方法setupActionBar(),并且在菜单中的每项都增加了点击滑动页面,点击后可以进行相应操作。
查看模块
该页面可以查看之前添加过的记录,删除,显示方式(listviw,gridviw),设置提醒时间(remindr),进行标记(check),锁定(locked),设置信息的排序方式(按时间顺序,按颜色,按字母表)
当长按某条信息时就会出现这个上下文菜单,来对记录进行一些设置,具体显示效果如图所示:
图3-3-1
在这一模块定义了方法OnLongClickNoteListener来实现长按出现上下文菜单功能,在布局中设置了上下文菜单中每项的含义,在类文件中进行定义Option方法实现它的菜单项功能。
在主页面点击Android图标时会出现对话框,来设置记录的显示方式,效果如图3-3-2所示:
图3-3-2
下面是ListView类型的显示方式如图3-3-3所示:
图3-3-3图3-3-4
也可以在设置页面对记录显示方式设置一个默认的显示方式,如果不特别调整,则按默认方式显示。
GridView类型的显示方式如图3-3-4所示:
添加记录
用一个EditText输入框编辑事件标题,记录时间由系统提供,用按钮SquareButton实现颜色设置,用NoteEditor编辑框记录内容,效果显示如图3-4-1所示:
图3-4-1
代码实现:
我们用了一个颜色块按钮来进行颜色的设置,在类文件中,给这个按钮增加了监听事件实现点击更换颜色,引用来获得所点击的颜色,用;(color);将选择的颜色设置为编辑页面的背景色。
在重写onClick方法时使用了FragmentManager方法来对Activity进行管理。
垃圾箱
垃圾箱的功能可以让用户查看以前删除的记录,并提供还原操作,还原之后可以在记录里面看到此条记录,如果确定这些记录已经没有用,可以进行批量删除,效果如图3-5-1所示:
图3-5-1
该功能定义了方法TrashFragment,在记录页面删除时将container,false);中的true变为false,即将记录显示移到垃圾箱页面即可。
(原理:
删除记录时在垃圾箱类中获取该消息并在垃圾箱页面显示,而主页面不显示被删除的记录)在垃圾箱查找记录时用到了方法booleanonQueryTextSubmit()。
设置页面
该页面可以设置一些个人信息,如:
默认颜色,默认排序方式,默认显示视图,密码,姓名,用户头像等。
效果显示如图3-6-1所示:
图3-6-1
在这个页面用到了ScrollView、LinearLayout、RelativeLayout等布局,用TextView显示各个文本框,用Spinner设置下拉列表来进行排序选择,
用SquareButton按钮来显示颜色框,以及CircularImageView、ImageView等图片控件。
日历页面
该页面显示现在的日期,并且可以调整日期,用到了ViewFlipper
GridView等控件,效果显示如图3-7-1所示
图3-7-1
四、制作过程及要点
Setting页面的实现及制作
1、首先在主页面左滑动菜单中增加设置这一项,增加监听事件,点击之后滑动到设置页面,在布局页面总体用了scrollView布局方式,里面嵌套了LinearLayout和RelativeLayout子布局,用到的主要控件有SquareButton、TextView、view、spinner、ImageView、CircularImageview。
2、通过在java类中定义和设置监听事件setOnItemSelectedListener、setOnClickListener来进行点击设置相应属性,其中里面上传图片的功能需要用到本地图片,如果在手机上运行还可以进行拍照来上传头像。
在设置密码时需要调用到设置密码页面,NewPasswordActivity或ChangePasswordActivity文件来进行设置密码或修改密码,其次在这个页面所有的设置将作为默认设置保存在AppPreferences中,即如果用户不另外进行设置,将采用默认设置。
3、要点:
因为要用到数据所以要设置适配器SettingItemAdapter(Contextcontext,List
在设置颜色的时候,需要用到很多颜色。
所以需要一个values/color资源文件。
五、设计总结
心得体会
此次课程设计,我们组设计了一个记事本的软件,用到了Android和Java以及之前学到相关知识点,因为我们没有学过Java课程,所以在设计的时候我们需要自行补习相关Java的知识,虽然现在对它了解不很深入,但是通过课设我们也学到了许多东西。
对于课程设计来说,虽然需要实践但是最基本也最重要的还是书上的基础知识;此外,要设计这样一个软件,也需要很强的逻辑分析,需求分析,功能实现的构思,进行模块的划分也是很重要的;最后就是在我们原有掌握的基础上,进行网上查询,书籍查阅,来对设计进行扩充。
感谢这次课程设计,让我学到了很多,也感谢指导老师的辛勤付出。
经过2个星期的课程设计,我觉得最重要的还是活学活用,能将所学知识应用于实践,并学习如何开发完成一个完整的项目。
在此课程设计期间,我所学到的知识更加巩固,尤其是Adapter、ListView、Intent、Bunder,对一些视图及其监听方法的实现进行了深入的了解,对一些控件的属性有了更多的了解,熟悉了databaseHelper数据库的应用,尤其是对数据库表的创建,表中信息进行增、删、改、查的操作应用。
此次课程设计,不仅使我巩固和实践了android课程知识,同时使我体会到了团队合作的重要性,和队友一起进行课程设计的过程中,我们一起协商,探讨,虽然经历了很多困难,如功能无法实现,运行出错误,文件丢失等,但最后我们解决的时候,却是有很多收获的。
因此,此次课程设计对我的帮助不仅是在专业课程上更是影响以后的工作生活。
我相信以后我会更懂得团队合作和克服困难,解决问题。
最后,虽然课程设计结束了,但我们的学习还没结束,在这一部分还有很多东西等着我们去研究,探讨。
希望在明年可以学的更多的知识。
六、参考资料
[1]李刚.Android疯狂讲义(第二版):
清华大学出版社,2012
[2]李兴华.名师讲坛——Android开发实战经典.北京:
清华大学出版社,2012.
[3]韩超.Android经典应用程序开发[J].人力资源出版社,2011:
5-18
[4]林城.应用开发实战[J].机械工业出版社,2011:
17-321
[5]Android2高级编程(第2版)梅儿(RetoMeier)、王超清华大学出版社
[6]姚尚朗.Android开发入门实战;人民邮电出版社,2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)