1、 本 科 毕 业 设 计 ( 论 文 )题目:基于 android 平台的便签管理系统 学 院 软件学院 专 业 软件工程 学生姓名 学生学号 指导教师 提交日期 I摘 要近年来,由于移动社交网络的快速发展,基于图片与文字处理的移动社交应用络绎不绝,比如美图秀秀、Instagram 等。对当前移动社交网络现状及相关竞品进行了大量分析后,发现这类应用的关注点普遍倾向于图片处理美化,而不是图签制作。因此,本文设计和实现了一款基于 android 平台的图形标注系统。该系统的主要功能为:1.选取多张图片;2.图签制作,包括图片编辑、标注编辑、合成并拼接图签等功能;3.分享图签到第三方社交平台。用户可
2、以在图片上标注文字来快速记录身边发生的趣事,并分享到社交平台。首先,对本应用进行需求分析,包括功能需求分析和非功能需求分析,并使用 UML工具进行建模;其次,采用 MVC 分层架构模式设计架构,采用位图技术实现图片编辑功能,采用图片合成拼接技术实现图签合成和拼接图签功能,调用 ShareSDK 第三方类库方法实现分享功能;之后,使用 Eclipse 集成化开发工具进行代码编写和调试,为确保软件的稳定性,使用 V 字测试模型全面测试系统,使用 Emmagee 工具进行性能测试,并以“2-5-8”原则为性能标准。测试结果表明,本应用具有良好的易用性、美观性、社交性、可扩展性、和性能。关键词:社交网
3、络;图签制作;图片拼接;Android- IIAbstractIn recent years, due to the rapid development of mobile social networks, there are so many mobile social applications which are based on pictures and text processing, such as Mito Xiu Xiu, Instagram and so on. From analysis of mobile social networking and a lot of comp
4、eting products, I found such applications tend to beautify the image rather than product signed picture.Therefore, we designed and implemented a graphical annotation system based on an android platform. The main features of this system are:Select multiple images; product signed picture, including im
5、age editing, tag editing, compositing and combining signed picture; share the result to third-party social sharing platform.Users can mark text on the picture to record interesting things happening around quickly, and sharing to social networking platforms.First, I need analyze the application, incl
6、uding functional and non-functional requirements analysis,and using UML tools to make a model;Secondly, I designed architecture framework based on the MVC pattern, and using bitmap technology to achieve image editing functions, using compositing and combining technology of image to achieve compositi
7、ng and combining signed picture, calling ShareSDKs methods to achieve third-party social platform sharing; then, I used the Eclipse integrated development tools for coding and debugging. To ensure the stability of the software, using the V test model fully tested system, using Emmagee for performanc
8、e testing, and “2-5-8“ principle as performance standards. The test results show that the application has good usability, aesthetics, sociability, scalability, and performance.Keyword: Social networks; product signed picture; combine signed picture; Android- III目 录(各章题序及标题:小四号,宋体,加粗,居左;其余用小四号,宋体)摘 要
9、 IAbstract II第一章 引言 11.1 课题背景和意义 11.2 国内外研究现状 21.2.1 Android 的发展状况 21.2.2 Android 社交应用特点 21.2.3 相关竞品 21.3 本课题主要研究内容 31.3.1 术语表 31.3.2 研究内容 41.4 论文组织结构 4第二章 基础知识概述 52.1 Android 手机平台 52.1.1 Android 的起源与优势 52.1.2 Android 平台架构 62.1.3 Android 平台特性 72.2 系统开发运行环境 82.2.1 Eclipse 集成开发环境 82.2.2 Android SDK 介绍
10、 82.2.3 相关插件介绍 82.3 MVC 分层架构模式 112.4 本章小结 11第三章 系统需求分析 123.1 系统需求定义 123.1.1 需求概述 123.1.2 相对于竞品的优势 133.2 功能性需求 133.2.1 功能需求分析 133.2.2 首页模块建模 143.2.3 编辑模块建模 17- IV3.2.4 分享模块建模 243.3 非功能性需求 263.3.1 性能需求 263.3.2 可用性需求 273.4 本章小结 27第四章 系统设计 284.1 图形标注系统架构设计 284.2 类图设计 304.3 图形标注系统各功能模块设计 314.3.1 首页模块设计 3
11、14.3.2 编辑模块设计 324.3.3 分享模块设计 334.4 本章小结 34第五章 系统实现 355.1 首页模块 355.2 编辑模块 395.3 分享模块 485.4 本章小结 54第六章 系统测试 556.1 测试模型及方法 556.2 系统测试计划 566.3 测试用例 576.3.1 首页模块测试用例 576.3.2 编辑模块测试用例 586.3.3 分享模块测试用例 626.4 性能测试 636.5 测试结果分析与评价 676.6 本章小结 67结 论 68参考文献 69致谢 711第一章 引言1.1 课题背景和意义随着社交网络的快速发展与普及,人们的生产、工作、学习和生活
12、方式已经开始并将继续发生深刻的变化。基于真实的社交关系,人们逐渐恋上使用社交平台交流,将自己周边发生的事情分享到朋友圈、微博、豆瓣、QQ 空间、轻博客、博客等社交平台。为了应对这种需求,许多社交平台纷纷设计了便于人们分享内容的功能,这些功能纷繁多样,究其根源,离不开对网民分享的图片与文字的处理。随着移动互联时代的来临,用户已不满足于使用 PC 展开网络上的社交,在移动设备上的社交功能更能满足用户的喜好,既能记录用户生活点滴又能分享到社交平台的移动应用也络绎不绝,比如微博客户端、SNS 客户端、图像处理工具等。一种快速的分享模式就是,用户可以简单地加工图片,添加较少的描述,并分享到相应的社交平台
13、,然后你的粉丝就会看到你分享的图片。你可以在任何的时间碎片中分享和查看图片,比如坐公车、聚会的时候。为此,本课题设计和实现了基于 android 平台的图形标注系统,它实际上是一款图签制作应用,用户可以通过在图片上标注文字的方式记录身边发生的趣事,并分享到第三方社交平台。对于移动终端的标注功能,最早可以追溯到 instagram 的圈人功能,但是 instagram只能圈你的好友,类似人人网和 QQ 空间的圈人,输入错误的话是圈不上的。而另一个具有图签制作功能的应用 nice,却不能分享到国人所喜爱的大部分社交平台。而国内图片处理功能最为丰富的美图秀秀却给人一种功能繁多复杂的感觉,无法满足用户
14、简便操作的需求。此外,还有 Snapchat、Camera360 、芝士先生、图钉等。每个软件都有自己的特色,有的关注对象不同,如面向大众、面向显示好友等;有的对图片处理不同,如丰富的滤镜;有的关注时间和地点。真正关注于图签制作的应用却极少,可见关注于图签制作的应用有着较为广阔的前景。而相较于其他软件,本应用主要有以下特点:分拆出图签制作功能,让用户可以制作出多样化图签,使图签制作功能更为突出;简化内容创造过程,遵从了移动终端的时间片化使用方式的特点;减少内容消费,突出图片特性,增加了图片的趣味性;增强沟通属性和添加更多社交特性,让更多的社交平台好友了解到用户的生活。- 21.2 国内外研究现
15、状1.2.1 Android 的发展状况2013 年数据显示,全球智能手机出货量创新高达到 9.9 亿台,比上年增长 41%,安卓占有 79%的市场份额,拉开了与苹果 iOS、微软 Windows Phone 和其他操作系统竞争对手的差距。Android 的良好发展势头充分显示了这一操作系统的魅力和潜力,而且拥有不少活跃的开发者社区,为学习 Android 开发技术和运用相关技术进行开发提供了充分的保障。1.2.2 Android 社交应用特点1、从内容创造上来看简化创造过程传统的博客服务或者复杂精细的图片工具则要求用户付出多得多的精力来做出成品。但是随着移动终端的使用时间碎片化、休闲化的发展
16、,用户倾向于使用短时间内能否创作成品的应用。按键创作抵达限制点结束,用户不必再花费心思去编辑内容。经过简化的功能和产品界面使得用户和产品之间的互动形式更接近于面对面的对话。2、内容消费限制140 字的微博已经让不少人养成了碎片式、浅阅读的习惯,能够让用户短时间内获取内容已成为移动应用发展的趋势。3、增强沟通属性和添加更多社交特性在简化内容创造的基础上,把交互方式的重心放在用户与用户之间的沟通上,更能满足用户之间交流的需求。1.2.3 相关竞品1、Instagram ,一款移动应用,最初运行在 iOS 平台上,以一种快速、有趣的方式将你抓拍下来图片分享彼此。它是图片社交化成功的典范,专注于精美图
17、片的分享。但是其图片美化效果少,而在图签方面,仅有对好友的圈人功能,并没有具体的在图片做文字便签的功能。2、Nice,一种以“品牌滤镜 ”为核心功能的图片分享类社交应用。与传统的图片社交服务不同,nice 可以在用户上传照片之后,通过独特的品牌滤镜,来标记出图片中出现的品牌,向大家分享出自己有品质的生活。它拥有强社交性,也具有制作图签的功能,趋向于品牌、地点的标注,但对于标注样式以及图片处理较少,每次只能处理和- 3分享一张图片,且页面不够美观。3、Snapchat,一款“阅后即焚”照片分享应用。用户可以拍照、录制视频、添加文字和图画,然后将他们发送到自己的好友列表。该应用最主要的特点是用户拍
18、了照片发送给好友后,这些照片会根据预先设定的时间自动销毁,避免了分享背后的不安全和隐私失控问题。但是由于政策法律原因,国内用户无法正常使用。4、Camera360,一款功能较多的手机照相软件,提供了 20 多种拍摄效果和 6 种拍摄模式供用户选择,用户可以在不同模式下设置不同参数达到想要的效果,可以方便地美化图片。它是较早的手机图片美化产品,受到广泛好评,但是缺乏社交性和更深入的图片处理功能,也不具有制作图签的功能。5、美图秀秀,一款国内很受欢迎的图片处理软件。它拥有 2000 多万用户,其中主要为女性,有特殊的美化效果,如美白、祛痘等。它是一款成功的特定人群量身化定制软件,其社交性主要体现在
19、分享到第三方社交平台,它的最大缺点是功能繁多,操作不简便。6、芝士先生,一款有新意的前景美图软件,如大头贴的形式,相较于其他美图工具,给图片带来了更多活力。它的社交性和美图秀秀类似,是属于轻社交性。7、图钉,国内著名的 LBS 图片交友工具,它将 LBS 概念融入了图片处理,用户可以使用签到模式拍摄图片,美化后分享给朋友。但是它在图片处理上并不到位,美化功能较弱。1.3 本课题主要研究内容1.3.1 术语表表 1-1 本文术语表中文名字 对应英文名 说明安卓 Android “机器人” ,Google 公司发布的一个基于Linux 平台的开源手机操作系统便签管理系统 即图形标注系统,可以在图片
20、上标注便签的系统,本文中均使用图形标注系统来进行描述。图签 Signed picture 指图片和标注合成后的图片标注 Tag 指标注在图片上的文字标签标准建模语言 Unified Modeling Language(UML) 支持模型化和软件系统开发的图形化语言 ShareSDK ShareSDK 社会化分享组件,第三方类库MVC MVC Model-View-Controller,一个经典的设- 4计模式Emmagee Emmagee 一款 Android 性能测试工具1.3.2 研究内容本次课题主要基于 android 的智能手机平台,进行图形标注系统的设计和实现。为此,首先需要对 an
21、droid 平台、图片编辑、图签制作及其他涉及到的技术进行介绍,并对 android 平台上相关应用进行分析和介绍;其次分析图形标注系统的需求,继而进行概要设计和详细设计,以期实现和完善一个基于 android 平台图形标注系统,使产品具有轻社交性、灵活性、易用性、高效、美观等特点,并在性能、时间、成本上占有优势。本课题需要研究实现的内容:1、研究 android 平台体系结构,熟悉 android 开发语言及开发流程。2、针对目前基于图片和文字双重处理的移动社交应用发展行情,对图形标注系统的需求进行分析,包括功能性需求及非功能性需求,并输出相关的 uml 图。3、对图形标注系统进行设计,包括
22、总体设计和各模块的详细设计。采用 MVC 分层架构模式设计软件体系结构,采用位图方法实现图片编辑功能,采用图片合成拼接技术实现制作连续图签功能,采用 ShareSDK 第三方类库实现第三方社交平台的分享功能。4、实现图形标注系统,包括开发环境的配置、各功能模块的开发等,并给出最终效果图。5、对图形标注系统进行全面的测试,包括高覆盖率的功能和性能测试,其中功能测试采用黑盒测试,性能测试使用 Emmagee 工具,并对对缺陷进行跟踪管理,及时修复缺陷,并给出最终测试结果。1.4 论文组织结构第 1 章:引言。简要地介绍了本课题开发的背景和意义,相关移动社交应用在国内外的发展现状,以及本课题的研究内
23、容。第二章:基础知识概述。从整体上介绍了本系统的开发环境,运行环境,并介绍了相关技术。第三章:图形标注系统的需求分析。讲述对系统的需求分析过程,该过程主要通过功能划分,详细用例分析来展现。第四章:图形标注系统的设计。讲述了图形标注系统的设计过程,采用 MVC 分- 5层模式设计系统架构。针对各功能模块,从类图设计等方面给出详细描述。第五章:图形标注系统的实现。针对各个功能模块,以用户界面,时序图的方式给出说明,并附上实现的关键代码。第六章:图形标注系统的测试,介绍相关的测试方法和工具,针对各个模块进行功能测试和性能测试,并分析测试结果。- 6第 2 章 基础知识概述2.1 Android 手机
24、平台2.1.1 Android 的起源与优势Android 是“机器人”的意思,是 Google 公司于 2007 年 11 月 5 日发布的一个基于 Linux 平台的开源手机操作系统,该系统由底层的 Linux 操作系统、中间件和核心应用程序组成。Android 应用程序由强大的 JAVA 语言来编写,也支持其他一些语言如C、Perl 等。 1Android 软件推出后,版本升级很快,从 2007 年 11 月 5 日的 1.0 版本都现在,已发展为 Android4.4。同时,Android 平台的如下优势使得 Android 闪耀着耀眼的光芒:1)Android 平台是一个开放的平台,
25、任何厂商均可加入 Open Handset Alliance(Google 组建的一个全球性联盟组织,称为开放手机联盟) ,使其拥有更多的开发人员,开发富有创意的应用功能。同时 Android 是开源免费的任何人都可以开发应用并放到 Android Market(Android 应用市场) 。2)硬件的多选性, 不同的硬件制造商可以使用不同的硬件制作同一平台的手机,为消费者提供了更多的选择。3) 应用程序是基于 Java 开发的,Java 的跨平台性实现了应用程序在所有Android 设备中运行的期望,硬件的无关性适当降低了开发者的负担。4)提供了标准 API 和 SDK 开发包,手机厂商可以
26、在原有的基础上自行开发创造富有特色的 Android 平台。5)云计算的发展。谷歌有很多产品和服务,而 Android 可以无缝地集成与谷歌的产品,在这方面,没有其他手机操作系统都可以比 Android 好。在未来,机器人必须是一个流行的移动操作系统。- 72.1.2 Android 平台架构从图 2-1 中可以看出 Android 操作系统体系结构分为 4 层,由上而下依次是:应用程序和小部件、应用程序框架、核心类库和 Linux 内核。其核心类库层还包括 Android运行时环境。1、应用程序和小部件包含了应用程序和窗口小部件。应用程序实现与用户的交互行为,通常占据整个屏幕。窗口小部件在用
27、户的主屏幕中只控制小矩形区域。此外,还拥有一个应用程序包,该应用程序包包括日历、浏览器、SMS 短消息程序、地图、联系人管理程序等,都是由 Java 编写的。2、应用程序框架应用程序框架层位于应用程序和小部件下方。它能够控制应用程序的生命周期、共享应用程序间的数据、使用全球定位系统(GPS)提供位置信息和管理通知等。开发者可以访问核心应用程序所使用的 API 框架,以简化组件软件的重用。视图系统:用于创建应用程序,包括列表、网格、文本框、按钮等。内容管理器:访问另一个应用程序的数据,或者共享它们自己的数据。资源管理器:提供非代码资源的访问,如字符串、图形和文件。图 2-1 Android 操作
28、系统的体系结构- 8通知管理器:在状态栏中显示客户通知消息。活动管理器:提供常用的导航回退功能并管理应用程序生命周期。3、Android 程序库由 C 或 C+编写的,并为移动手机所使用的特定硬件体系结构编译。该库被应用于 Android 系统的各种组件中,通过 Android 应用框架为开发者提供服务。这些库包括libc(标准 C 系统函数库) 、媒体库、界面管理器、 SGL、SQLite 数据库和浏览器引擎等。4、Android 运行库它包括 Dalvik 虚拟机(VM)和核心库,所有的代码由 JAVA 编写。核心库一部分为 Java 编程语言核心库的大多数功能函数,另一部分为 Andro
29、id 核心库,如 、android.os 等。每一个 Android 应用程序都拥有一个独立 Dalvik 虚拟机实例。Dalvik 是基于寄存器的 Java 虚拟机,是专门为低内存需求设计的虚拟机,它允许多个虚拟机实例在同一时间运行。5、Linux 内核Android 操作系统的核心系统服务依赖于 Linux2.6 内核,如安全性、内存管理、进程管理、网络协议和其他操作系统服务。Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。 12.1.3 Android 平台特性Android 平台特性如下:1、应用程序框架:支持组件的重用与替换,可以用喜欢的应用程序替换不喜欢的系统应用程序,如
30、文件管理器等。2、优化的 Dalvik 虚拟机:DX 工具将 Android 应用程序中由 Java 编写、编译的类文件转换为后缀名为.dex 的文件并执行。该虚拟机基于寄存器,速度快于 Java 虚拟机。3、基于开源 Webkit 的内部集成浏览器:内置浏览器,代表着移动互联网时代的来临。4、优化的图形库:包括 2D 和 3D 图形库,给游戏开发带来福音。5、SQLite 数据库:提供结构化的数据存取,占用资源低。相比于Mysql、PostgreSQL ,处理速度快,无需安装和管理配置,支持事务功能和并发处理,更适合在手机上使用。6、多媒体:支持常见的视频、音频(如 MP3 等)和静态印象文
31、件格式(如jpg、png、gif 等) 。7、GSM 电话: Global System for Mobile Communication(全球移动通讯系统)俗称- 9“全球通” ,依赖于硬件实现。8、蓝牙、EDGE 、3G、WiFi :这些通讯能力都依赖于手机硬件。9、照相机、GPS、指南针和加速度计:同样依赖于手机硬件。10、丰富的开发环境:包括调试工具、设备虚拟器、内存及性能分析图表和 Eclipse 集成开发环境插件。Android 开发包 SDK 包含了大量的类库和开发工具。2.2 系统开发运行环境2.2.1 Eclipse 集成开发环境Eclipse 一个开放源代码的、基于 Jav
32、a 的可扩展开发平台。它包括一个集成开发环境(IDE)和一个可扩展的插件系统。最初的 Eclipse 代码基础由 IBM 提供,包括 Platform、JDT 和 PDE。目前由 IBM牵头,有 150 多家软件公司参与到 Eclipse 项目中,发展成为了一个庞大的 Eclipse 联盟,其中包括 Borland、Rational Software、Red Hat 等。Eclipse 是一个开发源码项目,并允许开发者在此基础上开发各自的插件,因此很受开发商关注。Eclipse 的设计思想是:一切皆插件。Eclipse 核心很小,其它所有功能都以插件的形式附加于 Eclipse 核心之上。Ec
33、lipse 基本内核包括:图形 API (SWT/Jface), Java 开发环境插件(JDT ) ,插件开发环境 (PDE)等。Eclipse 集成开发环境(IDE)是用于 Android 开发的唯一的集成开发环境,以这种方式它使开发更加快速和直截了当。当然,集成开发环境对 Android 开发人员来说是没有必要的,但仍被大多数开发人员建议使用,是因为它的简单性。2.2.2 Android SDK 介绍Android SDK 是 Android 手机操作系统运行的平台支撑,它由开发文档、实例、编程 API、开发工具集等组成。 2 示例包含 NotePad、APEDemos、Snake 等,
34、开发工具集包括开发、编译和调试工具。Adb.exe 是 Android 的一个调试工具,ddms 是 adb 基础上的图形化工具,Emulator.exe 能启动 Android 模拟器运行应用程序。启动一个模拟器,相当于启动了一个 Android 操作系统,使用 Android adb 连接到这个操作系统运行系统命令,像访问远程 linux 服务器一样,使用 adb shell 命令,在shell 下,可以运行常用的 linux 命令。- 102.2.3 相关插件介绍1、ADT 插件Eclipse 中的用于 Android 移动应用开发的最流行插件在是 Android 开发工具(ADT )插
35、件,由谷歌开发的。这个插件的主要目的是为了提高 Android 开发者在Eclipse 环境中工作的便易性。有了这个插件,开发人员可以快速轻松地创建新的Android 项目,调试他们的应用程序,添加一个基于 Android 框架应用平台接口(API)的组件等。2、Check Style PluginCheck Style Plugin 是另一个开源开发工具,以确保 Java 代码奉行一套编码标准。有了这个插件,代码可以被不断地检查。通过 Eclipse Problems View 和源代码标注发现问题。使用这个插件,可以显著提高代码的质量,在开发周期的早期阶段,它对发现源代码中潜在的缺陷有很大
36、的影响。3、Find Bug State Analyzer with Aware PluginFind Bug State Analyzer with Aware Plugin 是用来在我们的代码中避免愚蠢错误的强大分析工具。它配备了 Aware 插件,为开发人员显示警报。Aware 是一个 Eclipse 插件,收集静态分析报告并生成一份静态分析的警示排名列表,它是基于 Find Bugs 插件。从 Find Bugs 插件中收集警报,并将它们显示给用户,包括排名和严重性。Aware 还能够收集有关用户如何使用 Eclipse 的信息,比如点击了在 Eclipse 中他想要使用的区域等。用户
37、可以筛选他不认为重要警报,例如,如果用户看到他想要除去的警报,他可以简单地用鼠标右键单击警报,然后选择抑制警报。在此之后,该警报从警报视图移动到抑制警报视图。此外,还有一个选项,通过右键单击抑制警报视图上的警报,可以选择解除压制警报。这个插件对编程非常有帮助。在大多数情况下,错误有一个正常优先级类型:比如我们的类名没有用大写字母开头,失误排名是 0,和严重程度为 1。例子列于表 2-1。表 2-1 Find Bug State Analyzer 的例子4、Robotium描述 来源 排名/严重程度 位置类名 android.test3.R$sttr 没有以大写字母开头 R.java 0/1 1
38、1 行类名 android.test3.R$color 没有以大写字母开头 R.java 0/1 13 行类名 android.test3.R$drawable 没有以大写字母开头 R.java 0/1 13 行- 11主应用程序的开发之后,下一个任务是模拟真实用户的互动。因此一个测试框架,将有助于写出功能强大的测试用例,将模拟实际用户的交互。Robotium 是一个测试框架,可以很容易为 Android 应用程序编写功能强大的测试用例。有了这个插件测试用例,开发人员可以编写多种类型的测试场景,它能够生成横跨进行多个 Android 活动的测试用例。Robotium 测试用例是能够模仿真正的用
39、户行为:会自动地从一个活动移动到另一个,然后单击应用程序窗口中任何可点击的区域。Robotium 的主要优点是能够用最少的测试应用程序知识开发功能强大的测试用例。5、Eclipse Metrics Plugin使用 Metrics 插件,我们可以随时注意我们的代码库的健康。可以将度量导出为可扩展标记语言(XML)或逗号分隔值(CSV)格式,还有一个功能是导出到超文本标记语言(HTML)格式。Metrics 可以被视为指标不健康的代码,也就是有许多表明代码需要重构的范围违规警告的代码库,但没有范围违规警告并不总是意味着代码是很好的。要在代码库运行指标,需要至少在运行 JDK1.5下安装 Ecli
40、pse。它可以毫无问题地运行在 Linux 上。为了显示有关项目的指标,有必要启用工程计算指标。需要确保在Java Perspective 中,已经在 Package Explorer 中打开。下一个任务是右键点击项目,并在属性窗口中的左侧选择 Metrics,并选中 Enable Metrics 复选框。有关此插件的更多信息,请访问官方网站。表2-2显示了很多使用的 Metrics 标准插件获得的有用信息。可以看到应用程序中有多少类,代码行或覆盖的方法。322行代码得到了应用程序并不复杂的结论。例如,如果一个方法是超过50行的代码,为了可读性和可维护性,该方法应被打破。大多Metrics 插
41、件是警告我们,类名不以一个大写字母开头,但这个警告有低范围违规。表 2-2 Eclipse Metrics Plugin 中的度量列表度量 总数覆盖方法的数量 0属性数量 20子类数量 0类的数量 13代码的方法行数 322方法的数量 22包的数量 2- 12代码总行数 507静态方法的数量 0每个类的加权方法 66静态属性的数量 442.3 MVC 分层架构模式MVC (Model-View-Controller):M 是指逻辑模型,V 是指视图模型,C 则是控制器。它是一个经典的设计模式,它关注的是应用程序的整体架构,根据对象在应用程序中的作用进行分类。使用 MVC 的目的是将 M 和 V
42、 的实现代码分离,而 C 存在的目的则是确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。Android 中界面部分也采用了当前比较流行的 MVC 框架,在 Android 中: 1) 视图层(View):一般采用 XML 文件进行界面的描述,使用的时候可以非常方便的引入2) 控制层(Controller):负责对外部事件的响应。Android 的控制层的重任通常落在了众多的 Acitvity 的肩上,要通过 Activity 交割 Model 业务逻辑层处理。3) 模型层(Model):对数据库的操作、对网络等的操作都应该在 Model 里面处理,当然对业务计算等操作也是必须放在的
43、该层的。这就是应用程序中二进制的数据。2.4 本章小结本章介绍了图片标注系统的设计与开发所需的基本知识,包括 android 应用开发基础知识、开发运行环境、软件体系结构设计方法等。- 13第 3 章 系统需求分析3.1 系统需求定义3.1.1 需求概述图形标注系统是一款用户可以通过在图片上标注文字的方式快速记录身边发生的趣事,并分享到社交平台。不管是游记食记宠物记还是身边的一些恶作剧或小事,都可以用图形标注系统制作成故事。此外,该系统还具备良好的易用性、美观性、社交性、可扩展性、和性能等。用户首先在手机相册中选取多张照片或直接拍照获取照片,接着通过对每一张照片添加标签对照片中的内容进行描述,
44、完成标签添加后,用户可以选择保存到本地或选择社交平台,在分享到相应社交平台前,用户可以浏览拼接完成的各张图片标签。为此,图形标注系统设置了 5 个使用场景,并通过对标签样式的多样化(瓷片、气泡、标签、字幕等)实现各场景:1、食记篇当用户在晒自己吃的什么时候,其实心里不在乎自己吃的什么自己爱不爱吃,只在乎别人知道我吃了什么。所以我们的工具的主要目的是帮助用户消除心理负担,一般直接发会担心别人以为是炫富,但是以食记的形式。适用人群,美食爱好者。2、风景篇用户在晒风景的时候,表达的不是风景美,只是“我来了”。我们的工具就是让用户表达出“我来了”的感觉。这里的风景分为旅行的风景和生活环境旅游风景,用户可以制作一个好玩