资源描述
课程设计报告课程名称 移动互联网设备课程设计 设计题目 手机通讯录 专业班级 软件1241 姓 名 耿誉 学 号 1204431117 指导教师 柯洪昌、许琳 起止时间 2015.09.21至2015.10.10 成 绩 评 定考核内容设计表现设 计报 告答辩综合评定成 绩计算机技术与工程学院课程设计考核和成绩评定办法1 课程设计的考核由指导教师根据设计表现、设计报告、设计成果、答辩等几个方面,给出各项权重,综合评定。该设计考核教研室主任审核,主管院长审批备案。2 成绩评定采用五级分制,即优、良、中、及格、不及格。3 参加本次设计时间不足三分之二或旷课四天以上者,不得参加本次考核,按不及格处理。4 课程设计结束一周内,指导教师提交成绩和设计总结。5 设计过程考核和成绩在教师手册中有记载。课程设计报告内容 课程设计报告内容、格式各专业根据专业不同统一规范,经教研室主任审核、主管院长审批备案。注: 1. 课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。 2. 为了节省纸张,保护环境,便于保管实习报告,统一采用A4纸,实习报告建议双面打印(正文采用宋体五号字)或手写。移动互联网设备课程设计任务书院长(主任)专业责任人课程责任人一、实训任务1、 设计题目(任选一个或自定义)学生管理系统、手机通讯录、课程表、电子拍卖系统2、 需求分析(1) 设计UI界面(2) 添加Activity(3) 添加用户、包括姓名、电话、QQ号等信息(4) 修改和删除用户(5) 查询所有用户(6) 数据库使用MySQL或Oracle(7) 服务器使用Tomcat(8) 服务器和Android客户端采用JSON进行通信二、实训的要求1. 任务完成形式学生管理系统和电子拍卖系统项目2个人为一组进行设计,手机通讯录和课程表项目1个人为一组进行设计。2. 程度要求简单要求:对Android开发、Android SQLite数据库、JSON比较熟练的学生。中等要求:对Android开发、数据库操作、JSON、Servlet、DAO设计模式比较熟练的学生。较难要求:对Android开发、数据库操作、JSON、DAO设计模式、Android网络编程、Struts框架比较熟练的学生。3数据库对于学生管理系统和电子拍卖系统项目可以选择MySQL、Oracle,较差的学生用SQLite数据库。对于手机通讯录和课程表项目选择SQLite数据库。4编码及测试要求在编码过程中要求使用面向对象的思想,注释完整,并遵循编码规范。需要对部分代码进行测试,可用JUnit或Android JUnit。5.文档目录系统源代码设计报告三、设计成果文档(字数、页数、图纸)附表等。文字字数不能少于10000字设计文档(按照模板格式正文不少于14页)计算机学院2015年9月2一、 前言一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程。?采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找功能,备份等功能。根据手机功能调查显示,近十成消费者都会使用手机通讯录功能,随着手机通讯录功能的不断加强与完善,手机通讯录的意义,已不仅仅像电话薄一样显示电话号码,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个联系人之下有手机号码、固话号码、公司、住址、邮箱、备注等内容。手机通讯录扮演着与用户直接交互并且提供服务的重要角色,它需要提供良好的用户体验,方便用户操作,接收用户的操作并把这些操作转换成相应的命令,采用用户活动的方式完成各个服务的逻辑流程。其功能主要包括增加、删除、编辑联系人,查找联系人,通讯功能,菜单功能,导入导出功能。随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,WindowsMobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软件平台Android。Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。Android(Google公司)是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。(1)优点:具备触摸屏、高级图形显示和上网功能,界面强大,可以说是一种融入全部Web应用的单一平台(2)缺点:由于时时刻刻都需要和网络进行连接,因此在手机的能耗方面控制就较差,导致待机能力不足;又由于其开源性,过分依赖开发商,缺少标准配置。Android操作系统是google最具杀伤力的武器之一.苹果以其天才的创新,是的iphone在全球迅速拥有了数百万忠实的”粉丝”,而android作为第一个完整,开放,免费的手机平台,使开发者在为其开发程序时拥有更大的自由.与windowsmobile,symbian等厂商不同的是,android操作系统是免费向开发人员提供,这样可节省近三层得成本.我们都知道,无论是产品还是技术,商业应用都是它最大的发展动力.android如此受到厂商与开发者的青睐,它的前景是一片光明的。国内对于安卓这方面的市场还没有完全开发出来。只要我们努力学习android,对理想,对生活都会有很大的补益。因此,开发这样一套很简单的日志软件对我们来讲是一件很有必要的事情,在下面的各章中我们将以开发安卓日志本软件为例,谈谈其开发过程和所涉及到的问题及解决方法。随着3G技术的成熟和智能手机的不断普及,移动应用的需求与日俱增,移动应用开发成为当下最热门的技术之一。在google和android手机联盟的共同推动下,android在众多移动应用开发平台中脱颖而出。根据手机功能调查显示,近十成消费者都会使用手机通讯录功能,随着手机通讯录功能的不断加强与完善,手机通讯录的意义,已不仅仅像电话薄一样显示电话号码,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个联系人之下有手机号码、固话号码、公司、住址、邮箱、备注等内容。手机通讯录扮演着与用户直接交互并且提供服务的重要角色,它需要提供良好的用户体验,方便用户操作,接收用户的操作并把这些操作转换成相应的命令,采用用户活动的方式完成各个服务的逻辑流程。其功能主要包括增加、删除、编辑联系人,查找联系人,通讯功能,菜单功能,导入导出功能。二、 设计主要功能主要功能描述如下。1、联系人添加该功能在进入通讯录后,会弹出一个新窗口,在主界面里显示联系人信息,使用添加功能时,通过点击左上角的菜单选择,添加联系人信息就可以弹出注册的小窗口,在里面输入联系人的相关信息,点击确定就可以添加成功,信息将会保存在通讯录的SQLite数据库中。2、联系人删除同上,使用删除功能时,通过点击左上角的菜单选择,删除联系人信息就可以弹出小窗口,在里面输入联系人的姓名,点击确定就可以删除成功,信息将会保存在通讯录的SQLite数据库中。3、联系人查询同上,使用查询功能时,通过点击左上角的菜单选择,查询联系人信息就可以弹出小窗口,在里面输入联系人的姓名后,这里有所不同,将会用一个新的对象去记录数据库的记录,然后会在主界面的表格里显示查询到的所有记录。4、联系人修改同上,使用修改功能时,通过点击左上角的菜单选择,修改联系人信息就可以弹出小窗口,在还没有输入联系人姓名时,其他输入框都是不可激活的,其中还有修改按钮也是不能点击的,只要在里面输入联系人的姓名,点击确定就会显示该联系人的相关信息,此时,所有的组件将被全部激活,修改后,点击修改就可以将信息保存在通讯录的SQLite数据库中。根据手机功能调查显示,近十成消费者都会使用手机通讯录功能,随着手机通讯录功能的不断加强与完善,手机通讯录的意义,已不仅仅像电话薄一样显示电话号码,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个联系人之下有手机号码、固话号码、公司、住址、邮箱、备注等内容。手机通讯录扮演着与用户直接交互并且提供服务的重要角色,它需要提供良好的用户体验,方便用户操作,接收用户的操作并把这些操作转换成相应的命令,采用用户活动的方式完成各个服务的逻辑流程。其功能主要包括以下几方面内容。1、增加、删除、编辑联系人点击通信录界面中的增加按钮,进入增加联系人界面。输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、地址、生日、邮箱、所属组、备注这些信息,单击确认返回主界面。点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回到主界面。对列表中联系人的标记,长按弹出功能界面上的删除按键也可进行删除。还可以在菜单上选择删除全部联系人来清空通讯录。在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。2、通讯功能用户在通讯录选择联系人进入联系人详细信息界面,这时点击右侧功能键打开通信功能框,选择打电话、发信息的功能进行操作。三、 技术设计Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java 应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。本软件用的是Java开发语言,在eclipse集成开发环境下,调试容易。当前的计算机硬件配置或则现有安卓手机的硬件配置也完全能满足开发的需求,因此技术上是绝对可行的。为了临时使用时分配一个大数字对象,显示释放那些对象所需的资源是宝贵的。约定的方法使用using关键字来new一个object,使用using子句来隐式释放目标的new object是有必要的。释放Mono端的包装的Java-VM收集的对象,从而来防止太多的临时对象关联在一起很长时间。四、 总体设计根据手机功能调查显示,近十成消费者都会使用手机通讯录功能,随着手机通讯录功能的不断加强与完善,手机通讯录的意义,已不仅仅像电话薄一样显示电话号码,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经历了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个联系人之下有手机号码、固话号码、公司、住址、邮箱、备注等内容。手机通讯录扮演着与用户直接交互并且提供服务的重要角色,它需要提供良好的用户体验,方便用户操作,接收用户的操作并把这些操作转换成相应的命令,采用用户活动的方式完成各个服务的逻辑流程。其功能主要包括增加、删除、编辑联系人,查找联系人,通讯功能,菜单功能,移动分组信息,添加分组信息。联系人列表退出删除增加菜单长按分组,显示推送消息、添加分组、删除分组、重命名、添加联系人。分组删除分组添加联系人重命名添加分组推送消息长按联系人显示删除联系人、编辑联系人、移动联系人。联系人移动联系人编辑联系人删除联系人五、 详细设计点击通信录界面中的增加按钮,进入增加联系人界面。输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办公室电话、家庭电话、职务职称、单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息,单击确认返回主界面。点击通信录中一个已存在的联系人,进入联系人编辑界面,可修改联系人的资料或进行删除联系人操作,完成后退回到主界面。对列表中联系人的标记,点击menu键弹出功能界面上的删除按键也可进行删除。还可以在菜单上选择删除全部联系人来清空通讯录。在删除联系人的过程中,系统将提示用户是否继续操作,若放弃操作,则联系人信息将继续保存。页面布局新建联系人,长按分组点击添加信息,进入添加信息页面,录入信息,点击确定按钮,对应代码长按分组,选择删除分组对应代码长按添加分组对应代码点击联系人有电话和短信的快捷方式短信和打电话调用系统功能六、 设计总结在本次开发过程中,我对开发环境进一步的熟悉,基本上可以熟练运用这个环境,也基本掌握了安卓的开发方法及基本流程。在本次开发过程中,主要用到的知识有Activity的使用,在程序中用到了多个窗口,因而需创建多个Activity。还用到了Intent,主要是用于多个Activity之间的跳转,对Intent的作用和用法有了更进一步的熟悉。在本次程序设计中,我也对用户界面设计有了更进一步的掌握,熟练运用Layout,本次用到的主要是LinearLayout和RelativeLayout。开发期间,我学会了有目的的去学习一些将要用到的东西,仔细地考虑工作流程的规律和步骤,充分利用手中的开发工具,利用其所具备的功能,尽量使自己的开发在代码上实现少而精确、让用户能够尽量简单地进行操作。但是在检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作中需要努力改进和完善的。在这次程序开发设计中,我也难免会遇到不少困难,这主要是由于我对所用的开发环境并不是很熟悉,开发软件的经验不足。安卓开发用的语言是java,但是我对java的学习并不多,这次开发对我来说可以算是一个全新的尝试,整个开发过程并不是很顺利,却使我从中充分体会到学习的快乐,开发的程序也在一步步得到完善。这次程序开发由于个人水平及时间有限等原因,只能完成一些基本的功能,好多设想并未完全实现,这不能不说是个遗憾,后期仍需努力。通过这次课程设计,让我更加深刻了解课本知识,和以往对知识的疏忽得以补充,在设计过程中遇到一些模糊的公式和专业用语,比如说经济刮板运输机及皮带运输的选择,在选择选择刮板皮带运输选型时,在使用手册时,有的数据很难查出,但是这些问题经过这次设计,都一一得以解决,我相信这本书中还有很多我为搞清楚的问题,但是这次的课程设计给我相当的基础知识,为我以后工作打下了严实的基础。虽然这次课程是那么短暂的2周时间,我感觉到这些天我的所学胜过我这一学期所学,这次任务原则上是设计,其实就是一次大的作业,使我做事的耐心和仔细程度得以提高。课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决实际问题的重要教学环节,是对三年所学知识的复习和巩固。同样,也促使了同学们的相互探讨,相互学习。因此,我们必须认真、谨慎、踏实、一步一步的完成设计。如果时间可以重来,我可能会认真的去学习和研究,也可能会自己独立的完成一个项目,我相信无论是谁看到自己做出的成果时心里一定会很兴奋。此次设计让我明白了一个很深刻的道理:团队精神固然很重要,担人往往还是要靠自己的努力,自己亲身去经历,这样自己的心里才会踏实,学到的东西才会更多。课程设计是一个重要的教学环节,通过课程设计使我们了解到一些实际与理论之间的差异。通过课程设计不仅可以巩固专业知识,为以后的工作打下了坚实的基础,而其还可以培养和熟练使用资料,运用工具书的能力,把我们所学的课本知识与实践结合起来,起到温故而知新的作用。课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门设计课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。在课程设计过程中。以设计任务书的指导思想为中心,参照有关资料,有计划有头绪、有逻辑地把这次设计搞好!总之,这次课程设计使我收获很多、学会很多、比以往更有耐心很多。感谢学校及老师给我们这次课程设计的机会,最真挚的感谢我们的辅导老师,在设计过程中,老师精心的辅导和不厌其烦地的态度才使得我们以顺利的完成这次设计,他那无私的奉献的精神照耀着我们对学习的热爱,同时也增加我们对知识的追求和欲望度。参考文献1 Android A Programmers Guide . Jerome (J.F.) DiMarzio DOI:10.1036、00715998862 林城. Android 2.3 应用开发实战J . 机械工业出版社,2011:17-321.3 韩超. Android经典应用程序开发J . 人力资源出版社,2011:5-18.4 (美)Cay S. Horstmann,Gary Cornell. Java核心技术J. 机械工业出版社,2008:15-17.5 刘卫国,姚昱禹. Android与J2ME平台间即时通信的研究与实现J. 中南大学 信息科学与工程学院. 2008年12期:118-120.6 刘平. Android手机访问服务器的一种数据交互方法J . 西安财经学院 网络与现在教育技术中心,2010-09:96-102.7 刘玉平. Java输入输出流及在网站开发中的应用探讨J. 郴州市科技局,2009,(18):35-49.8 赵亮,张维. 基于Android技术的界面设计与研究D . 徐州:徐州建筑职业技术学院, 2001.9 陈璟,陈平华,李文亮. Android内核分析J . 广东工业大学计算机学院 实践与经验,2009:112-115.10 刘卫国,姚昱禹. Android的架构与应用开发研究J . 中南大学:信息科学与工程学院 计算机系统应用 2008-11:110-112.11 张海藩. 软件工程导论(第4版)J. 北京:清华大学出版社,2006:34-38.12 邝孔无,王晓敏. 信息系统分析与设计(第三版)M. 清华大学出版社,2006:23-26.13 亢勇,陈自力,李鹏,路平. 面向对象的软件测试J. 测试技术学报,1999,(02):15-23.14 何玉洁. 数据库原理与应用教程M. 机械工业出版社,2005.1215 KEN ARNOLD,JAMES GOSLING,DAVID HOLMES: JAVA PROGRAMMING LANGUAGE M,POSTS & TELECOM PRESS,2006:231-235.16 JOHN LEWIS: JAVA SOFTWARE SOLUTIONSM. PUBLISHING HOUSE OF ELECTRONICS INDUSTRY,2007:134-14017 Android基础教程(第3版Ed Burnette 著,田俊静 译 人民邮电出版社18 疯狂 Android讲义) 李刚 著, 电子工业出版社 19 Google Android开发入门指南(第2版)盖索林 著,王世江 译 人民邮电出版社
展开阅读全文