当前位置:文档之家› 基于Android平台的魔幻手机铃声软件的实现最终版 - 百度百科专用

基于Android平台的魔幻手机铃声软件的实现最终版 - 百度百科专用

北京市高等教育自学考试毕业设计

基于Android平台的魔幻手机铃声

软件的实现

专业计算机及应用

学生

指导老师

日期 2012年04月

目录

第一章引言 (4)

1.1 项目概述 (4)

1.2 项目背景 (4)

1.3 项目实现的意义 (4)

小结 (5)

第二章Android系统相关介绍 (6)

2.1 Android简介 (6)

2.2 Android的特性 (6)

2.3 Android的优势 (7)

2.4 Java语言介绍 (8)

2.5 Java语言的特点 (8)

2.6 Android与Java的关系 (9)

小结 (9)

第三章系统需求分析 (10)

3.1 系统整体功能分析 (10)

3.2 系统结构分析 (11)

3.3 数据统计平台分析 (11)

3.3.1 友盟开发者服务平台 (11)

小结 (16)

第四章系统设计 (17)

4.1 类图 (17)

4.1.1 软件首页显示类 (17)

4.1.2 文件夹目录浏览类 (18)

4.1.3 文件目录列表装配类 (18)

4.1.4 接收消息触发更改铃声类 (19)

4.2 系统顺序图分析 (19)

4.2.1 铃声库选择模块顺序图 (19)

4.2.2 铃声刷新频率模块顺序图 (20)

4.2.3 铃声更换规则模块顺序图 (21)

4.2.4 铃声更换时机模块顺序图 (21)

4.3 文件结构设计 (22)

4.3.1 源代码结构设计 (22)

4.3.2 配置文件结构设计 (23)

4.3.3 XML结构设计 (23)

4.3.4 图片结构设计 (23)

4.3.5 字符串资源结构设计 (24)

小结 (24)

第五章系统实现 (25)

5.1 魔幻铃声主体功能实现 (25)

5.1.1 软件图标(magicring.jpg) (25)

5.1.2 应用界面 (25)

5.1.3 设置铃声库功能模块的实现 (27)

5.1.4 铃声库更新频率设置 (29)

5.1.5 铃声更换规则设置 (30)

5.1.6 铃声更换时机 (32)

5.2 系统运行环境 (34)

5.3系统的运行与测试 (34)

小结 (34)

第六章系统应用 (35)

6.1 应用界面 (35)

6.2 铃声库设置功能 (35)

6.3 铃声库刷新功能 (36)

6.4 铃声更换规则设定 (36)

6.5 铃声更换时机 (37)

小结 (38)

摘要

随着科学技术的飞速发展,手机也在不断的更新换代。从最初的大哥大,到后来的小巧玲珑的手机,再到现在的大屏幕智能手机,手机功能已经发生了很大改变,除了用来打电话,收发信息之外,还包含了PDA、游戏机、MP3、照相机、摄影、录音、GPS、上网等等更多的功能。但是有一个和我们息息相关的功能没有改变,那就是接听电话,很多时候一段时间内我们的来电铃声都是一成不变的,时间长了,听烦了听够了,才想起去手动去更换新的手机铃声,但是每次这样操作是不是觉得很麻烦呢?于是我们决定开发一款个性化的铃声自动换软件。

由于目前市面上比较流行的开源手机平台是Android,因此我们开发的这款软件也是运行在装有Android平台的手机终端上,通过这个软件,你可以去个性化设定铃声更换的指定目录,可以自动扫描手机或存储卡中存储的歌曲,可以设置多种多样的铃声更换规则,可以设置铃声自动换的时机等等。

本论文主要采用C/S架构,是一款手机本地化应用,软件运行于Android2.2及以上智能手机,适配主流WVGA分配率,采用Java开发语言,开发环境为Eclipse3.7,采用了Java中常用的MVC(Model、View、Controller)模式,结合Android中常用Activity、Service、BroadcastReceiver组件以及TextView、Button、等常用控件,采用Preferences等技术,数据库采用了Android平台集成的轻量级SQLite存储数据,软件可以在android2.2版本及以上的手机产品上使用。

本次论文将遵从软件开发的一般流程,从需求分析,设计,实现以及应用来叙述。

关键词Android、智能终端、随机更换、手机铃声、SharedPreferences

第一章引言

1.1 项目概述

魔幻手机铃声软件是一款手机铃声自动更换的工具软件,软件主要应用于采用Android 系统的智能手机中,通过设置铃声的歌曲库,设置铃声的更换模式,设置铃声的更换时机,设置铃声库刷新的频率,可以达到随时随地,随心所欲的更换自己手机铃声的目的,不用再为天天重复乏味的来电铃声而烦恼。与此同时,还可以指定一个或多个铃声库;可以从指定铃声库顺序更换铃声、倒序更换铃声、随机更换铃声;可以在通话后更换铃声,可以在收到信息后更换铃声,可以通过摇晃手机更换铃声,可以在通信基站更改后更换铃声等等;可以每周刷新一次铃声库,可以每个月自动刷新一次铃声库,也可以两个月刷新一次铃声库,总之有很多可以个性化设置的特性来满足不同人群的不同需要。

1.2 项目背景

移动互联网时代,智能终端市场商机无限,全球各大知名厂商间的竞争已经趋于白热化,纷纷以强势的姿态抢攻市场。近两年,国内智能手机的发展势头也颇为强劲,市场份额得到了较大提升。市场调研机构Gartner发布报告称,2011年第二季度全球智能手机销量同比增长74%,占该季度手机总销量25%。据统计,2011年全球智能手机销量约为4.873亿部,其中Android手机所占份额为48.8%,出货量约为2.378亿部。与此相比,2010年Android手机在智能手机中所占份额仅为23.9%,出货量仅为6910万部,这意味着Android的年度增长率高达244%,这些数据足以说明Android手机的发展速度之惊人。与此同时,中国智能手机呈现猛烈增长趋势,由2010年12%的用户市场占比,增长到2011年第三季度的19.5%,2011年第四季度则达到了24%。

无论是Android、iPhone、Symbian、BlackBerry还是WindowsPhone,每个系统平台的手机都有一些自己的特色,这就导致了智能手机市场的多系统共存局面。虽然每个智能手机操作系统都有自己的一些优势,但是手机的一些基本功能都大同小异,没有太大的区别。就拿手机通话的来电铃声来说,很多都是固定不变的,有一个出厂的默认铃声,有一个出厂的铃声库。大家可以从自带铃声库中选择自己比较喜欢的铃声,也可以从扩展的存储卡中存储的铃声中选择,无论使用我们自己下载的歌曲用作铃声,还是从手机自带的铃声库去选择铃声,每一次都需要我们人为手动设置,并且每个铃声更改后不会自动更改,因为我们不可能也没有精力每天或每周去更改一次手机铃声,甚至平均下来一个月都不能更改一次,长时间使用同一个手机铃声之后,每次听到同样的铃声,我们都感觉到厌烦,感觉到麻木,时间久了很多用手机的人都懒得去设置这些东西。可能一开始手机刚买回来的一段时间,对这部手机还比较新鲜、稀奇,还会去摆弄一下,时间长了就没人去经常更改这些设置,我们开发的这款应用就是为了解决铃声长期一成不变使人感觉乏味的问题,只要手机上安装了这款软件,就可以按照自己的需求去设置如何自动更换铃声。

1.3 项目实现的意义

目前在全球范围内使用的手机从类型上分为两种,智能手机和非智能手机,无论是智能

手机还是非智能手机都具有传统的手机铃声功能,而且大部分手机都有自带的铃声库,但是非智能手机只有一部分能安装Java版的软件,所以一般情况下我们只能去手动选择铃声;而智能手机由于能安装第三方软件,因此可以方便的定制开发铃声应用。目前智能手机阵营中发展最迅速的就是采用Android系统的手机,由于Android系统本身是开源的,我们可以方便的去开发应用,个性化定制铃声的设置方式,从而打破手机铃声设置的常规,同时也可以提高我们的生活质量,甚至在将来通过和手机厂商合作,让大部分Android手机在出厂就可以安装上这款应用,就如同手机本身的一项常规功能一样,给手机用户带来极大的便利。解决了手机铃声一成不变的难题。

小结

本章主要讲述了项目的概述、项目的开发背景、开发此项目的意义等主要内容。从软件的功能角度大概的描述该项目大概包含哪些模块,每个模块包含哪些功能,每个功能参数的具体可选模式以及该软件项目的运行平台。基于手机的发展史,以前大部分手机都是功能手机,没有操作系统,最初的各个智能手机厂商也没有对外开放自家的智能手机系统,不利于开发者开发应用;由于近几年智能手机的发展以及开源手机操作系统的出现,很多手机功能允许开发者自己定制,于是出现了很多第三方应用开发商和个人开发者。开发此款软件的初衷是为了迎合很多手机用户对于铃声个性化的迫切需求,有了它用户不用再去每次手动更改铃声,也避免了铃声一成不变带给用户不必要的烦恼,也为用户提供了更具有创意性的服务,改善用户使用手机的体验。

第二章Android系统相关介绍

2.1 Android简介

Android最初是一家公司的名称,这家公司的创始人名叫Andy Rubin。Andy Rubin原来是苹果公司的一名工程师,后来创办过几家公司,在创建Android公司时,Andy Rubin准备打造一个移动终端平台并将其对开发人员开放,后来Google收购了该公司,于是就有了今天如日中天的Android。Android是一种以Linux为基础的开放源码操作系统,最初设计时主要支持手机,2005年被Google公司收购并进行开发改良,逐渐扩展到平板电脑、电视以及其他领域.在2007年11月5日这天,Google公司正式向外界展示了这款名为Android的操作系统,并且在这天Google宣布建立了一个全球性的开放手机联盟(Open Handset Allliance),该组织由包括中国移动、中兴通讯、华为、三星、摩托罗拉、高通等在内的手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,这一联盟将支持Google发布的手机操作系统以及应用软件,将共同开发Android系统的开放源代码。Android的主要竞争对手是苹果公司的iOS以及RIM公司的BlackBerry OS。

2008年09月23日,Google发布Android 1.0。

2009年04月30日,Android 1.5正式发布。

2009年09月25日,Android 1.6正式发布。

2009年10月28日,Android 2.0智能手机操作系统正式发布。

2010年05月19日,Google正式对外发布Android 2.2智能操作系统。

2010年12月07日,Google正式发布Android 2.3操作系统。

2011年02月02日,Android 3.0正式发布。

2011年10月19日,Android 4.0正式发布。

2012年01月20日,谷歌发布报告显示,通过谷歌服务器激活的Android设备用户总数已经超过2.5亿,距离2011年11月的数量,在短短两个月时间内全球共卖出5000万台Android 设备,平均每秒钟就卖出10台Android设备.2012年02月04日,comScore等多家数据市场研究机构的数据都一致显示,Android在美国手机市场以47.3%的占有率巩固了自己的霸主地位。

Android是一个开放的手机操作系统平台,为移动设备提供给了一个包含操作系统,中间件以及应用程序的软件叠层架构。Android SDK为开发人员使用Java语言编写Android平台下的应用程序提供了必要的工具和API。

2.2 Android的特性

Android自推出以来如此受追捧不仅仅是因为网络巨头Google的大力支持,Android自身所具有的特性才是吸引全球经营开发者的更重要原因,其主要特性如下:

应用程序框架:可以方便地重用和替换手机组件。

Dalvik虚拟机:专为移动设备优化的虚拟机。

内部集成WebKit浏览器:基于开源的WebKit引擎。

优化的图形处理系统:其中自定义了2D图形库,3D图形库基于OpenGL ES 1.0,可选硬件加速。

SQLite:集成了轻量级数据库管理系统。

多媒体支持:支持常见的音频和视频,以及各种图片格式,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等。

GSM技术、蓝牙、EDGE、3G和WiFi。

摄像头、GPS、罗盘、加速度计。

完备的开发环境:包括设备模拟器、调试工具、内存和性能分析工具、以及用于Eclipse 开发环境的插件。

2.3 Android的优势

目前市场上的主流手机操作系统除了Android还有Symbian、iOS、WindowsPhone、BlackBerry等,与这些手机操作系统相比,Android的优势如下:

(1)真正的开源

Android开放平台允许任何移动终端厂商加入到Android联盟中,可以吸引更多的开发者加入其中,积累人气,既有消费者、开发者,还有终端厂商,对于消费者来讲,最大受益正是丰富的软件资源,开发的平台也会带来更大竞争,如此一来,消费者可以用更低的价格购买心仪的手机。

(2)运行商限制

在过去很长一段时间,特别是在欧美地区,手机应用往往受到运营商的限制,使用什么功能接入什么网络,几乎都受到运营商的控制。自带iPhone上市,用户可以更加方便的连接网络,运营商制约减少,随着HSDPA、EDGE这些2G至3G移动网络逐步过渡和提升,手机随意接入网络已不是运行商口中的笑谈。

(3)丰富的硬件选择

由于Android的开放性,众多厂商会推出千奇百怪、功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步,甚至软件的兼容。好比从诺基亚Symbian风格手机一下改用苹果iPhone,同事还可将Symbian中优秀的软件带到iPhone上使用,联系人更是可以方便转移。

(4)应用程序之间沟通无界限

在Android平台下开发应用程序,可以方便的实现应用程序之间的数据共享,只需要经过简单的声明或操作,应用程序就可以访问或调用其他应用程序的功能,或者将自己的部分数据和功能提供给其他应用程序使用。

(5)无缝结合的Google应用

如今叱咤互联网的Google已经走过10年历史,从搜索巨人到全面的的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的纽带,而Android手机平台将无缝结合这些优秀的Google服务。

2.4 Java语言介绍

Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的,安全的,结构中立的,可移植的,性能很优异的多线程的,动态的,面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE、JavaEE、JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几乎失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。

Java编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口替代)等特性,增加了垃圾回收功能用于回收不再被应用的对象所占据的内存空间,使得程序员不用再为内存管理而烦恼。在Java SE 1.5版本中,Java又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java不同于一般的编译执行计算机语言,它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译,到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java的运行效率。但在J2SE1.4.2发布后,Java

的执行速度有了大幅提升。与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所涉及的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重经营和封闭式的模式完全不同。

2.5 Java语言的特点

平台无关性

平台无关性是指Java能运行于不同的平台,Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间,使用Java便携的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java 二进制代码的解释执行功能,提供于不同平台的接口的。

安全性

Java的编程类似于C++,学习过C++的开发者能很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。

面向对象

Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关于对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用,程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多一般对象的类,通过继承可使用父类的方法,在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类,Java提供的Object类及其子类的继承关系如果一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类

分布式

Java建立在扩展TCP/IP网络平台上。库函数提供了HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。

健壮性

Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数据边界检测、异常出口、Byte Code校验等功能。

2.6 Android与Java的关系

Android是一个手机操作系统,Java是一门开发语言,为了方便开发者入门写应用程序,Android系统开放了一些应用程序接口(API),这些API由形似于Java的语言提供。Java采用是JVM技术,而Android采用的是DVM技术。Android使用了一个相当大的Java SE APIs 子集,所有的Android的上层应用都是采用Java语言开发的。

小结

在本章中,我们了解了Android的发展史,Android从发展的初期便吸引了很多电信运营商、芯片制造商、手机生产厂商以及软件厂商的加入,后来随着软件的丰富,Android越来越受到广大手机用户的青睐,Google也因此加快了Android系统的更新与完善,不断的发布新版本与新功能的支持。使得Android系统成为目前最为火热的手机操作系统。除此之外还介绍了一些Android不同于其他手机操作系统的新特性,和其他手机操作系统相比的一些优势;另外还介绍了开发此项目所采用的开发语言---Java语言,Java语言是一个跨平台的程序设计语言,一旦你的程序编译成字节码,可以运行在任何装有Java虚拟机的操作系统平台上,大大减轻了程序员在不同操作系统平台上重复开发的工作量,另外还介绍了Java语言的特点,以及Android和Java语言的密切关系,从某种程度上来讲,Android是一个基于Java 拓展出来的一个Java的子集。

第三章系统需求分析

需求分析在任何项目的开发中都是必不可少的一个环节,只有把需求了解清楚了,才能开发出符合用户需求的软件,那么什么是需求分析呢?需求分析是对应于需求的真正明确,是对要解决的问题的彻底理解。在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题。需求分析就是给系统分析、设计人员一个和用户交流来理解问题的机会-----了解用户究竟需要什么。如果投入大量的人力,物力,财力,时间,开发出的软件却不符合用户的要求,继而需要大量的返工甚至重新开发,这会带来很大的代价。给自己和企业带来不必要的损失。

需求分析之所以重要,就是因为它具有决策性,方向性,策略性的作用,它在软件开发过程中具有举足轻重的地位,在一个大型的软件系统的开发中,它的作用要远远大于程序设计。下面就魔幻手机铃声这个软件的需求做详细的分析。

3.1 系统整体功能分析

根据大部分人使用手机的习惯,以及从一些调查得知,大部分用户都有对铃声更换的要求,魔幻手机铃声软件主要实现以下五个功能:铃声库设置功能、铃声库刷新功能、铃声更换规则设置功能、铃声更换时机功能。

图3.1软件整体功能用例图

根据图3.1用例图的描述,每个模块具体功能分析如下:

1、设置铃声库功能:用于在使用魔幻手机铃声软件之前,进行铃声库的设置,设定铃声

库用于指定将哪些目录的歌曲添加到铃声库。用户可以从手机内存或外置存储卡中选择含有铃声(歌曲)的文件夹,指定一个或者多个铃声库的目录。只有指定了铃声库目录,才能更大范围的使用个性化的铃声,否则只能从手机自带的铃声库中按设定好的规则更换铃声。

铃声库设置:用户通过长按每个目录可以选定铃声库的文件目录,如果选择多个目录作为铃声来源,则需要多次进行添加铃声库操作。

2、铃声库刷新设置功能:铃声库由于用户的删除或者添加进新的歌曲,经过一般过段时

间会发生变化,可能有些歌曲听的次数多了,不想听了就删掉了,也有些新的歌曲是刚刚添加进来的,因此每隔一段时间就需要去刷新铃声库,铃声库刷新有两种方式:手动刷新和自动刷新。手动刷新就是通过点击按钮去实现刷新铃声库的操作;自动刷新是通过设置铃声库刷新的频率来实现定期自动刷新,可以设置每周刷新一次,每个月更新一次,或者两个月更新一次。

3、铃声更换规则设置:为了满足不同用户多样化的需求,铃声的更换有多种可以选择的

规则,可以选择顺序更换铃声,可以选择倒序更换铃声,可以选择随机更换铃声等等。

4、铃声更换时机设置:除了设置铃声更换规则以外,我们还要设置铃声的更换时机,就

是在什么时候去自动更换铃声,可以设定在什么场景下更换手机铃声,可以在挂断电话后更换铃声,也可以在收到短信后更换铃声,也可以在摇晃手机时更换铃声,也可以在通讯基站变化后更换铃声等等。

5、软件使用帮助:通过点击使用帮助,用户可以获得使用本软件的一些详细说明以及

一些具体的操作步骤,每个模块的详细设置方法,以及一些使用技巧的说明,通过阅读使用帮助,用户可以一目了然的了解本软件的具体用途以及使用方式。

6、关于信息:关于信息主要是对本软件的版本信息、适用平台、安装要求、出品公司、

版权信息等进行说明,防止用户安装错误的版本或者安装了非官方提供的软件文件信息等。

3.2 系统结构分析

本软件是一款本地化只有客户端的软件,运行于搭载Android系统的智能手机上,旨在为广大手机用户提供个性化的铃声更换的功能。本软件为单机版客户端软件,不需要联网(软件在线升级时可能会产生数据流量),不会产生费用,不需要和任何服务器交互。

3.3 数据统计平台分析

作为个人开发者开发的产品,为了能用最少的资源达到最优的运营效果,必须借助一些第三方平台来管理自己的产品,有了这些第三方平台,我们能把更多的时间放在改进用户在使用过程中出现的bug以及用户体验等问题,同时也可以将用户反馈的好的意见和建议及时的处理,使得用户感觉他们的意见和建议能被软件开发者看到并且可以快速的响应他们。

3.3.1 友盟开发者服务平台

友盟开发者服务平台具有四大功能,可以有效的帮助开发者管理自己开发的应用,下面将分别介绍该平台的的各个功能。

1、趋势分析

可以帮助开发者总揽全局,可以查看实时的启动次数、启动用户、新用户,观察用户的累计增长趋势,了解不同版本的用户活跃程度

(1)实时统计

帮助您掌握应用的总体发展状况。包括当天的启动次数、启动用户、新用户等信

息,具体如图3.7所示。

图3.7基本启动统计信息

通过统计图表可以很清楚的看到每天启动次数,启动用户数,新用户书,新用户比例,以及用户平均使用时长,活跃率等信息。并可以和历史的记录进行比较,做出调整。

(2)时段分析

掌握用户使用时段的规律,及时发现问题并修正。统计信息如图3.8所示。

图3.8时段统计分析

通过这样图表,可以很清楚了解在什么时段使用的用户比较多,什么时段用户有更多的这种更换铃声的需求或者暂时取消铃声更换的需求。

(3)版本分析

可以掌握用户的版本分布情况,比较不同版本的用户活跃程度,可以从中统计得

出用户使用新版本的意愿率。如图3.9所示。

图3.9版本使用分析

2、用户分析

(1)用户分布的地理位置分析

通过该平台,可以方便的得到用户的分布区域,哪些城市的用户分布比较多,哪些城市分布比较少。如图3.10所示。

图3.10用户分布位置

(2)用户使用的手机硬件信息

通过友盟平台可以收集用户手机的Android系统版本、设备型号、屏幕分辨率等信息,如图3.11所示。

图3.11用户使用手机分布

3、渠道效果

(1)通过平台可以查看各个渠道的用户增长趋势,包括各个渠道的新用户、各个渠道

启动用户的趋势,以及各个渠道的用户占比情况,可以更加全面的了解各个渠道的价值。如图3.12所示。

图3.12渠道统计分析

(2)渠道变化趋势

横向比较全部渠道的用户增长趋势,随时监测各渠道的推广效果,如图3.13所示。

图3.13渠道变化趋势

4、行业数据比较

提供移动应用行业整体与您的应用所在类别全体应用的平均数据及您的排名。指标包括每日新增用户、每日启动用户、每日启动次数、平均使用时长、7天活跃用户、14天活跃用户。如图3.14所示。

图3.14行业数据对比

小结

通过本章,我们了解到该软件的一个整体需求的描述,包括软件中包含的几个模块,每个模块的功能说明,每个功能的具体操作使用说明,使得开发人员能够很清楚的理解软件各个模块的功能,便于进行概要设计和详细设计,另外还介绍了软件的结构信息,主要能为用户带来什么样的功能,另外还结合友盟开发者服务平台,可以方便统计到用户的使用情况和一些使用偏好,例如在哪个时段使用此软件的用户比较多,哪些机型使用此软件比较多,用户使用的版本分布情况如何,用户使用的Android版本都有哪些等等,也可以收集用户在使用该软件期间出现的一些bug以及一些意见反馈,帮助我们更好的去改进和增加一些更加实用贴心的功能,另外通过友盟平台也可以发布新版本,当用户在打开软件时,如果检测到有新版本,会提示用户是否下载最新版本,极大的方便了开发者对软件的修改和管理,友盟开发者服务平台是一个简单易用的帮助开发者的平台,为个人开发者的软件开发提供了非常大的帮助和技术支持,减轻了开发者的劳动量,使得开发者能有更多的精力去设计开发更具有创新性和创意点的产品。

第四章系统设计

系统设计是软件开发过程中一个非常重要的阶段,根据在需求分析阶段得出的需求说明书,结合类图等进行软件的系统设计以及详细设计工作。

4.1 类图

类图(Class Diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成,类图可以组织在包中,仅显示特定包中的相关内容。类图是最常用UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图最基本的元素是类或者接口。

类图通常包含类、接口、协作、关系。同其他的图一样,类图也可以包含注解和限制。类图中也可以包含包和子系统,这两者用来将元素分组。有时也可以将类的实例放到类图中。

下面针对软件中的一些主要类之间的关系画出类图并进行简要说明。

图4.1

通过图4.1可以看出,MagicRingActivity类通过调用SetRingLibraryActivity类打开铃声库目录选择界面,但是文件目录列表的显示是通过DirAdapter类去装配完成的,因此SetRingLibraryActivity通过DirAdapter来显示文件目录的显示。MessageReceive实际上是通过接收收到短信时发出的系统广播来处理更换铃声业务操作的。

4.1.1 软件首页显示类

MagicRingActivity.java的类图如右图所示。

图4.2

MagicRingActivity.java主要用于处理显示软件主界面的各个控件,是该软件的一个核心页面,通过点击该界面上的各个控件可以实现各个功能的设置。

4.1.2 文件夹目录浏览类

SetRingLibraryActivity.java的类图如图4.3所示

图4.3

该类主要用于从手机自身存储和内存卡中选取目录作为铃声库目录,并将选定铃声库中的歌曲过滤出来,如果铃声库中不存在该歌曲的话,将该歌曲添加到系统铃声库。

4.1.3 文件目录列表装配类

DirAdapter.java的类图如图4.4所示。

图4.4

DirAdapter.java重要用于装配每一条ListView的记录,将文件夹图标、文件夹名称、复选框装配成一行记录显示在ListView的结果集中。

4.1.4 接收消息触发更改铃声类

MessageReceiver.java的类图如图4.5所示。

图4.5

MessageReceiver.java主要用于在收到短信时,检查当前的铃声规则是否为收到短信后更换铃声,若是,则查看当前铃声更换规则,然后按规则获取下一个铃声的ID,然后设置新的手机铃声。

以上的类图描述了本系统对象之间的一些相互关系,是进行系统开发的重要依据。

4.2 系统顺序图分析

从上面对于各个模块的用例图分析,我们对于整个软件的分析有了初步的认识,但是只有这些用例图还是没办法进行系统的设计工作的,下面就针对每个功能剖析每个模块的用例图得到顺序图,在细节方面更加细致的对各个功能透彻的分析。

4.2.1 铃声库选择模块顺序图

通过用例图我们可以知道用户需要去设定铃声库,但是设定铃声库需要具体哪些步骤呢,我们通过顺序图4.6来具体看下:

相关主题
文本预览
相关文档 最新文档