Android日程管理系统实训报告.doc_第1页
Android日程管理系统实训报告.doc_第2页
Android日程管理系统实训报告.doc_第3页
Android日程管理系统实训报告.doc_第4页
Android日程管理系统实训报告.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安卓项目演习开发实训 基于 Android的日程管理系统设计与开发( 2016/6/6 2016/6/23 )项目名称基于 Android 日程管理系统 纳米生活院系计算机与软件学院班级学号专业资料南京工业职业技术学院实训报告学生姓名课程老师目录第 1 章 绪论41.1项目背景41.2 项目目标4第 2 章 系统开发环境及技术52.1 系统开发环境52.1.1 硬件环境52.1.2 软件支持62.2 系统开发技术62.2.1 Java 简介62.2.2 Android Studio简介62.2.3 SQLite 简介7第 3 章 “日程管理”的需求分析83.1 用户需求83.2 功能分析82南

2、京工业职业技术学院实训报告3.3 开发环境 .83.3.1难点 .83.3.2易点 .8第 4 章 概要设计 .104.1 设计目标 .104.2系统角色 .104.3系统流程图 .10第 5 章 详细设计 .125.1 设计目标 .125.2编码设计 .125.2.1 splash 界面 .125.2.2日历界面 .135.2.3编辑日程界面 .145.2.4查看日程界面 .155.2.5删除日程界面 .165.2.6闹钟提醒界面 .175.2.7倒计时界面 .185.2.8日程提醒界面 .195.2.9通知栏提醒界面 .20第 6 章 测试216.1闹钟提醒测试用例213南京工业职业技术学

3、院实训报告6.2备忘录测试用例22第 7 章 小结23第 8 章 参考文献24第1章绪论1.1 项目背景随着计算机技术的飞速发展, 计算机应用的迅速推广, 计算机及技术给人们的日常生活、工作、学习带来了十分巨大的影响,计算机改变了人们的生活,工作的方式。而在使用计算机时有一些好的、实用的软件,将会给使用者提供非常便利的环境。因此我们采用Android 技术开发一个实用的个人日程管理系统, 以便提醒大家一些重要的事情不要忘记,比如开会,生日什么的事情,有了这款APP,它会按时的提醒你去做该事情,你可以设置提醒一次,每天提醒,每周提醒。4南京工业职业技术学院实训报告1.1 日程管理的起源在没有手机

4、功能齐全的时代,我们的日程安排只能通过手写记录,经常会因为没有及时翻阅记录而错过了重要的日程,随着手机技术的飞速发展,手机应用的迅速推广,手机改变了人们的生活,工作的方式。日程管理就是将每天的工作和事务安排在日期中,并做一个有效的记录,方便管理日程的工作和事务,达到工作备份的目的。同时也具有对日常工作进行指导、监督的作用。1.2 项目目标1.通过关于本系统管理系统的实现,使个人的日程管理更加完善。2. 可以编辑日程事务,了解行程。3. 可以提醒备忘事项,大大提高了办事效率。4. 完善的日程查询功能,方便使用者的生活第 2 章 系统开发环境及技术2.1 系统开发环境2.1.1 硬件环境处理器 P

5、entium IV 及以上;内存容量4G 以上;存储容量50G 以上;5南京工业职业技术学院实训报告2.1.2 软件支持操作系统 : Mac OS X 10.11.5编程语言: JAVA数据库:SQLite开发工具:Android Studio2.2系统开发技术2.2.1 java 简介背景:Java 是一种应用分布式网络环境中的程序设计语言,由sun 公司开发, Java语言广为人知,得益于Internet 的迅猛发展。人们开始了解并使用这种神奇的语言,一般的应用程序、 Applet 、 web 服务器乃至手机的嵌入式系统,Java 都足以胜任。 Java 对网络提供了强有力的支持,这也是这

6、种奇妙语言的魅力所在。特点:(1) 面对对象(2)可移植性 (universality)(3)安全性 (security)(4)多线程 (thread)(5)多态(6)解释执行(7)分布性6南京工业职业技术学院实训报告2.2.2 Android Studio简介Android Studio是一个 Android开发环境,基于 IntelliJ IDEA.类似 EclipseADT ,Android Studio提供了集成的Android开发工具用于开发和调试。2013 年 5 月 16 日,在 I/O 大会上,谷歌推出新的Android 开发环境 Android Studio ,并对开发者控制

7、台进行了改进,增加了五个新的功能。Android Studio是谷歌推出了新的Android 开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。谷歌对开发者控制台进行了改进,增加了五个新的功能,包括优化小贴士、应用翻译服务、推荐跟踪、营收曲线图、用版测试和阶段性展示。1、优化小贴士:在主体中打开你的应用,点击小贴士,会得到这样的建议:为你的应用开发平板电脑版本。2 、应用翻译服务:允许开发者直接在开发主体中获得专业的翻译。上传你的需求,选择翻译,其会显示翻译方和价格,并在一周内发回译本。3 、推荐跟踪:允许开发者找出最有效的广告4 、营收曲线图:向开发者展示其应用营收,

8、以国家进行划分5 、试用版测试和阶段性展示:开发者可以对应用进行测试,然后向测试用户推出,测试结果不会对外公布。当一个版本的测试结束,开发者可以向特定比例用户推出。Android Studio这款开发工具被首次公布,这也是为了方便开发者基于Android 开发。首先解决的一个问题是多分辨率。Android 设备拥有大量不同尺寸的屏幕和7南京工业职业技术学院实训报告分辨率,根据新的Studio ,开发者可以很方便的调整在各个分辨率设备上的应用。同时 Studio 还解决语言问题,多语言版本(但是没有中文版本)、支持翻译都让开发者更适应全球开发环境。Studio 还提供收入记录功能。最大的改变在于

9、Beta 测试的功能。 Studio 提供了 Beta Testing,可以让开发者很方便试运行。2015 年 5 月 29 日,在谷歌 I/O 开发者大会上,谷歌发布AndroidStudio 1.3版,支持 C+ 编辑和查错功能。 Android Studio 1.3 版开发码代码变得更加容易,速度提升,而且支持C+ 编辑和查错功能。2.2.3 Sqlite 简介SQLite,是一款轻型的数据库,是遵守ACID 的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K 的内存就够了。它能够支持Windows

10、/Linux/Unix等等主流的操作系统, 同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java 等,还有 ODBC 接口,同样比起 Mysql 、PostgreSQL 这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite 第一个 Alpha 版本诞生于 2000 年 5 月。 至今已经有 13 个年头, SQLite 也迎来了一个版本SQLite 已经发布。SQLite 是遵守 ACID 的关系型数据库管理系统,它包含在一个相对小的C 库中。它是 D.RichardHipp建立的公有领域项目。不像常见的客户 -服务器范例, SQLite 引擎不是个程序与

11、之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接 API 调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个8南京工业职业技术学院实训报告数据库 ( 定义、表、索引和数据本身 )都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。9南京工业职业技术学院实训报告第 3 章 “日程管理”设计与分析3.1 用户需求(1)功能需求:本系统完成对自己昨天的日程进行记录,今天、明天的日程安排以及查看修改工作。(2 )权限需求:用户管理员拥有最高的权限,可以对系统中所有的数据进行查看、添加、修改和删除

12、等操作;普通用户只可以对自己的行程进行查看、修改、删除和删除等操作。(3 )系统安全性需求:一是用户进入系统时必须进行口令校验;二是连接数据库是使用 windows 身份验证。3.2 功能分析(1)用户登录、用户注册:用户通过登录的方式进行口令校验安全进入在线日程管理系统:用户注册是用户为进入该系统时将个人信息提交到数据库中。(2 )人员管理:系统管理员可以对用户进行修改,其中对用户密码进行修改,对一些长期没有用的人员进行删除操作,以减少系统压力。(3 )个人日程管理:其中使用TabControl控件,对某一天或某段时间的日程进行查看,和对某个日程的地点、开始时间、重要性及联系电话进行修改,更

13、新等操作。10南京工业职业技术学院实训报告3.3 难易点分析3.3.1 、难点本程序在设计方面存在很大困难,这与我们目前所学习到的知识有关,用个可能不太恰当的比喻就是:刚刚学习了一点什么是空气动力学的概念知识,就让我们去造一架会飞的飞机出来。困难是存在的,但是实训的成果和报告是要交的,所以我们要从多方面入手,尽自己的最大努力完成本次实训的目的和效果。3.3.2 、易点本程序的很多设计可以从各种日程管理的APP 中得到相关参考,程序中的用法有之前上课做的范例作为参照,退一步而言,所以在遇到某些问题时,可以小组讨论解决。也可以通过翻阅不同的资料来得到一定的经验。11南京工业职业技术学院实训报告12

14、南京工业职业技术学院实训报告第4章概要设计4.1 设计目标个人日程管理系统是对已完成的工作进行记录,对未完成的工作进行有效、 合理的安排,提高工作效率。每天可以自己安排自己的日程以及查看和修改。通过关于本系统的实现,个人的日程管理更加完善,可以通过笔记日程事务,了解行程,还可以提醒备忘录事项,大大提高了办事效率。4.2 系统角色本系统的角色主要包括有:系统管理员(拥有整个系统的访问权限,可以对本系统的所有数据进行查看、添加、修改、删除的操作),普通用户:进入日程管理系统,查看制定自己的日程安排;查看日程的详细内容,对日程安排提出疑问,通过网络与管理员沟通(拥有次级管理权限,可以进行本人日程管理

15、)。管理人员:进入日程管理系统,查看所有用户日程安排;查看日程的详细内容;对日程安排进行调整,制定统一日程的制定;对系统进行维护和管理。13南京工业职业技术学院实训报告4.3 系统流程图如图所示:用户注册系统简介所有日程登 录用户信息找回密码日程管理已完成日程未完成日程图 4.3 系统流程图日历部分设有三个模块:年份模块,月份模块,日期模块。具体如图所示:图为日历部分流程:系统界面14南京工业职业技术学院实训报告日历部分备忘录部分图 4.4 日历部分流程图第5章详细设计5.1设计目标个人日程管理系统是对已完成的工作进行记录,对未完成的工作进行有效、合理的安排,提高工作效率。5.2编码设计5.2

16、.1 splash 界面该界面只有在开启本APP 时才会出现,起到美观、缓冲的作用。15南京工业职业技术学院实训报告图 5.2.1 欢迎界面核心代码如下:handler.sendEmptyMessageDelayed( 1,2500);Boolean isLogin =SharedPreferencesUtils.getValue(SplashActivity. this ,"Login","isLogin",false);if (isLogin = true )startActivity( new Intent(SplashActivity. this

17、 ,MainActivity. class);finish();5.2.2日期选择界面本界面主要是编辑界面进行选择事件日期。16南京工业职业技术学院实训报告图 5.2.2日期选择界面核心代码如下:Calendar calendar = Calendar.getInstance();int year = calendar.get(Calendar.YEAR );int monthOfYear = calendar.get(Calendar. MONTH );int dayOfMonth = calendar.get(Calendar. DAY_OF_MONTH);datePicker.init(

18、year, monthOfYear, dayOfMonth,new DatePicker.OnDateChangedListener() Overridepublic voidonDateChanged(DatePicker view, final intyear,final intmonthOfYear, final intdayOfMonth) if (year < currentYear| monthOfYear < currentMonthOfYear| dayOfMonth <currentDayOfMonth) Toast.makeText(EditActivit

19、y. this , " 选择日期不能小于当前" ,Toast.LENGTH_SHORT).show(); else 5.2.3添加日程界面本界面主要实现日程系统的填写与添加操作。17南京工业职业技术学院实训报告图 5.2.3添加日程界面核心代码如下:public static Boolean insertLog(Context context, String title, String content, String time) Boolean isSuccess = false;DBHelper dbHelper = new DBHelper(context);SQLit

20、eDatabase dbWrite = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();values.put("title", title);values.put("time" , time);values.put("content", content);values.put("state" ,0);if (dbWrite.insert( "info", null , values) != - 1

21、) isSuccess = true ;dbWrite.close();dbHelper.close();return isSuccess;18南京工业职业技术学院实训报告5.2.4查看日程界面本界面主要实现已存在日程的信息查看。图 5.2.4日程查看界面核心代码如下:private voidgetInfo() Intent intent = getIntent();id = intent.getIntExtra( "id" , -1);mList = DataBaseUtil. queryLogById (this , id );tvTitle .setText(mLis

22、t .get(0).getTitle();tvContent .setText(mList .get(0).getContent();tvTime .setText(mList .get(0).getTime();5.2.5删19南京工业职业技术学院实训报告除日程界面本界面主要实现的功能是建好后的日程的删除操作。图 5.2.5日程删除界面核心代码如下:public static voiddeleteInfoById(Context context,int id) DBHelper dbHelper = new DBHelper(context); SQLiteDatabase dbWrite

23、= dbHelper.getWritableDatabase(); dbWrite.delete( "info" , "_id = ?" , new StringString. valueOf (id);dbWrite.close();dbHelper.close();20南京工业职业技术学院实训报告5.2.6闹钟设置界面本界面主要实现的功能是添加日程时时间的选择。图 5.2.6闹钟设置界面核心代码如下:21南京工业职业技术学院实训报告int currentMinute = Integer. valueOf(format1.format(date1);i

24、f (year = currentYear&& month = currentMonthOfYear&& day =currentDayOfMonth) if (hourOfDay<= currentHour && minute <= currentMinute) Toast.makeText(EditActivity. this , " 选择时间必须大于当前时间" , Toast.LENGTH_SHORT ).show();return ; elsedateStr += "" + hourOf

25、Day+ ":" + minute;tvDate .setText(dateStr );dialog .dismiss(); elsedateStr += ""+ hourOfDay + ":"+ minute ;5.2.7tvDate .setText(dateStr );dialog .dismiss();时界倒 计面主界面主要实现的是倒计时的功能,输入倒计时的时间后点击确定按钮,下方的方块即会显示倒计时时间,时间到后手机会震动及振铃。点击方块后取消提醒。22南京工业职业技术学院实训报告图 5.2.7倒计时界面核心代码如下:int

26、 hour = 0, minute = 0, second = 0;if (!TextUtils. isEmpty(etHour .getText().toString() hour = Integer. valueOf(etHour .getText().toString();if (!TextUtils. isEmpty(etMinute .getText().toString() minute = Integer. valueOf(etMinute .getText().toString();if (!TextUtils. isEmpty(etSecond.getText().toStr

27、ing() second = Integer.valueOf(etSecond.getText().toString();int sum = hour * 1000 * 3600 + minute * 1000 * 60 + second * 1000; if (sum = 0) Toast.makeText(getActivity()," 请输入倒计时时间!" ,Toast.LENGTH_SHORT).show(); else mc = new MyCount(sum, 1000);5.2.8 日程提醒界面主界面主要实现的是“正在提醒”,此时便是日程所设定的时间已到,系统

28、正在提醒。23南京工业职业技术学院实训报告图 5.2.8日程提醒界面核心代码如下:int state = mList .get(position).getState();if (state = 0)holder.tvState .setText( " 待办 " ); else if (state = 1)holder.tvState .setText( " 已完成 " );holder.tvState .setTextColor(getResources().getColor(R.color. purple ); elseholder.tvState .

29、setText( " 正在提醒 " );holder.tvState .setTextColor(getResources().getColor(R.color. red );5.2.24南京工业职业技术学院实训报告9 通知栏提醒界面主界面主要实现的是在日程提醒的状态下通知栏展示提醒的日程,点击该通知栏后可进入日程查看界面。图5.2.9通知栏提醒界面核心代码如下:Notification.Builder builder =new Notification.Builder(this );notificationManager= (NotificationManager)thi

30、s.getSystemService(NOTIFICATION_SERVICE);Intent clickIntent = new Intent(NotificationService. this , MyReceiver. class); clickIntent.putExtra( "id" , id);PendingIntent pendingIntent = PendingIntent. getBroadcast(NotificationService. this , 1, clickIntent, PendingIntent. FLAG_CANCEL_CURRENT

31、 );builder.setTicker( " 您有设定日程已到时间" ).setDefaults(Notification. DEFAULT_VIBRATE ).setContentIntent(pendingIntent).setSmallIcon(R.mipmap. android ).setContentTitle( " 日程提示 " ).setContentText( " 点击查看日程: " + title);25Notification notification = builder.build();notification

32、Manager.notify( 1, notification);南京工业职业技术学院实训报告第6章 测试6.1闹钟提醒测试用例用例名称日程提醒用例编号01设计人:梁新宇测试目标基本功能:测试铃声是否正常响起前置条件将铃声响起时间设定为 17:00步骤操作描述期望结果1提醒时间到下拉通知栏显示提醒,并且铃声响起2点击关闭铃声点击下拉提醒显示是否关闭铃声对话框3点击是铃声关闭4点击否铃声继续响用例名称日程提醒用例编号02设计人:梁新宇26南京工业职业技术学院实训报告测试目标基本功能:浏览网页时,铃声可以正常响起前置条件将铃声响起时间设定为 17:00步骤操作描述期望结果1浏览网页是,铃声响主界面

33、出现闹铃界面,铃声响起2点击关闭铃声闹铃关闭,停留在网页页面6.2备忘录测试用例用例名称日程提醒用例编号03设计人:梁新宇测试目标基本功能:测试备忘录能否正常新建前置条件出厂默认状态步骤操作描述期望结果11、在编辑备忘录界面,选中“开1、显示为 2017/01/01始时间 _日期”项2、日期显示为 1970/01/012、输入 1970/01/013、日期显示不正常3、输入当天日期4、日期显示为 2026/06/154、输入 2026/06/1521、在编辑备忘录界面,选中“开1、显示为 2016/01/01始时间 _日期”项2、警告提示,显示为 1979/01/012、输入 1969/00/003、警告提示,显示为 2016/06/053、输入 2016/06/174、警告提示,显示为 2035/16/162734南京工业职业技术学院实训报告4 、输入 2036/16/171、在备注编辑界面1、进入选项列表界面2 、按键“选项”2、进入常用短语列表界面,内容3 、选中“常用短语” ,按 OK键“确显示正常定”3、返回编辑界面,显示常用短语内容1、新增一个备忘1、可以新增2 、方式设置为每月2、编辑正常3 、保存完成后3、时间到响铃,按OK 键“确定”后,每个月的 1号备忘录响起第7章小结通过本次的实训,我感受颇多,尽管平时上课也认真听了老师的讲课,但是一开始面对这个实训题目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论