Android课程设计报告文档格式.docx
《Android课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《Android课程设计报告文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
1.2设计要求 1
二、 需求分析 2
2.1需求分析 2
2.2软件逻辑 3
2.2.1软件逻辑图 3
2.2.2功能模块图 3
2.3数据存储实现 4
三、 模块分析及设计 6
3.1首页面 6
3.2主菜单 7
3.3查看模块 8
3.4添加记录 9
3.5垃圾箱 10
3.6设置页面 11
3.7日历页面 12
四、 制作过程及要点 14
五、 设计总结 14
六、 参考资料 14
一、设计目的
1.1设计目的
《Java高级应用》课程设计是我们实践性学习环节之一,通过课程设计:
(1)、巩固本学期所学的理论知识,熟悉androidstutio工具及相关java组件的灵活应用。
(2)、编制出完整的应用程序,锻炼我们的分析解决实际问题的能力,为以后完成大型项目的开发打下基础。
(3)、把理论与实验课所学内容做一个综合,并在此基础上强化我们的实践意识、提高实际动手能力和创新能力。
1.2设计要求
设计一款基于Android平台的记事本软件。
功能要求:
具有记事本的基本功能,可以实现记录,批量处理。
具备在线备份和分享功能。
在线备份能备份各种编辑中或者编辑完成的文章。
二、需求分析
2.1需求分析
(1)用户进入系统后可以设置个人信息:
设置页面颜色、姓名、电话、及锁定密码,设置标记;
(2)查看记录:
查看以前的记录;
(3)添加记录:
添加新的记录;
(4)删除记录:
删除已有的记录;
(5)垃圾箱:
删除的信息会被放到垃圾箱里,并可以进行还原操作,若确定是没有信息,则可以清空垃圾箱,实现批量删除;
(6)日历:
可以显示当前日期,与手机时间,会根据信息修改的时间,自动改变信息记录时间;
而且可以再日历中的某一天添加标记信息;
(7)排序:
可以对信息进行排序(按时间、字母表、颜色)
(8)视图:
在代码中添加了listView和gridView两种显示视图,用户可以自由选择;
(9)简介:
对软件和开发的简单介绍
2.2软件逻辑
开始
主页面
记录信息
编辑信息
显示信息
设置页面
显示日期页面
垃圾箱页面
添加信息
删除信息
修改信息
保存信息
2.2.1软件逻辑图
图2-1
2.2.2功能模块图
记事模块
查看记录
记录事情
从记录信息中查看
垃圾箱查看
从添加信息中记录
软件功能模块图如图2-2所示
图2-2-1删除模块
从保存信息中删除
从垃圾箱中删除
批量删除
图2-2-2
个人姓名
个人设置模块
主题颜色
锁定密码
标记
排序
视图
照片
简介
图2-2-3
日
历
模
块
显示日期
标记事件
调整日期
图2-2-4
2.3数据存储实现
依据系统功能设计的要求及功能模块的划分,对数据库进行了设计。
本系统主要涉及到记事本信息的存储表notes,如表2-1所示。
数据库中表notes信息
列名
对应变量
数据类型
属性
功能说明
_id
COLUMN_ID
String
主键
title
COLUMN_TITLE
Text
Notnull
信息标题
color
COLUMN_COLOR
integer
modified_time
COLUMN_MODIFIED_TIME
修改时间
reminder_json
COLUMN_REMINDER
设置提醒
locked
COLUMN_LOCKED
Integer
Default0
锁定状态
checked
COLUMN_CHECKED
设置标记
trashed
COLUMN_TRASHED
垃圾箱
deleted_time
COLUMN_DELETED_TIME
calendar_day
COLUMN_CALENDAR_DAY
Default-1
日历日期(日)
calendar_month
COLUMN_CALENDAR_MONTH
日历日期(月)
calendar_year
COLUMN_CALENDAR_YEAR
日历日期(年)
三、模块分析及设计
3.1首页面
进入页面的效果如图3-1所示
图3-1-1
在系统主页面,我们采用了简单明了的方式直观向用户展示了这个软件的用途,直接点击就可以记录事件,在这个页面我们添加了:
setupActionBar();
setupNavigationDrawer();
由actionbar实现左滑动菜单;
此外,在Activity中使用了Fragment,可以使设计适用于不同的手机屏幕大小,提供更加灵活的UI支持。
通过对Activity布局进行分片,更加方便的对每块进行独立控制。
3.2主菜单
首页面左滑动菜单即为系统主菜单,采用了drawerlayout布局,里面包含了线性布局、相对布局,和FrameLayout布局,用listViw在菜单中显示各个功能的小图标,图标包含TextView和CircularImageView,显示效果如图所示:
图3-2-1
添加代码激活actionBar按钮,使它能够滑动,使用了方法setupActionBar(),并且在菜单中的每项都增加了点击滑动页面,点击后可以进行相应操作。
3.3查看模块
该页面可以查看之前添加过的记录,删除,显示方式(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所示:
3.4添加记录
用一个EditText输入框编辑事件标题,记录时间由系统提供,用按钮SquareButton实现颜色设置,用NoteEditor编辑框记录内容,效果显示如图3-4-1所示:
图3-4-1
代码实现:
我们用了一个颜色块按钮来进行颜色的设置,在类文件中,给这个按钮增加了监听事件buttonPickColor.setOnClickListener实现点击更换颜色,引用layoutBorder.setBackgroundColor来获得所点击的颜色,用noteEditor.setLineColor(Color.BLACK);
noteEditor.setBackgroundColor(color);
将选择的颜色设置为编辑页面的背景色。
在重写onClick方法时使用了FragmentManager方法来对Activity进行管理。
3.5垃圾箱
垃圾箱的功能可以让用户查看以前删除的记录,并提供还原操作,还原之后可以在记录里面看到此条记录,如果确定这些记录已经没有用,可以进行批量删除,效果如图3-5-1所示:
图3-5-1
该功能定义了方法TrashFragment,在记录页面删除时将inflater.inflate(R.layout.trash,container,false);
中的true变为false,即将记录显示移到垃圾箱页面即可。
(原理:
删除记录时在垃圾箱类中获取该消息并在垃圾箱页面显示,而主页面不显示被删除的记录)在垃圾箱查找记录时用到了方法booleanonQueryTextSubmit()。
3.6设置页面
该页面可以设置一些个人信息,如:
默认颜色,默认排序方式,默认显示视图,密码,姓名,用户头像等。
效果显示如图3-6-1所示:
图3-6-1
在这个页面用到了ScrollView、LinearLayout、RelativeLayout等布局,用TextView显示各个文本框,用Spinner设置下拉列表来进行排序选择,
用SquareButton按钮来显示颜色框,以及CircularImageView、ImageView等图片控件。
3.7日历页面
该页面显示现在的日期,并且可以调整日期,用到了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<
String>
items)来获取数据;
ViewHolder可以为listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能。
在设置颜色的时候,需要用到很多颜色。
所以需要一个values/color资源文件。
五、设计总结
心得体会
此次课程设计,我们组设计了一个记事本的软件,用到了Android和Java以及之前学到相关知识点,因为我们没有学过Java课程,所以在设计的时候我们需要自行补习相关Java的知识,虽然现在对它了解不很深入,但是通过课设