听书软件喜马拉雅的设计与开发毕业设计文档格式.docx

上传人:wj 文档编号:845161 上传时间:2023-04-29 格式:DOCX 页数:22 大小:1.97MB
下载 相关 举报
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第1页
第1页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第2页
第2页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第3页
第3页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第4页
第4页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第5页
第5页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第6页
第6页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第7页
第7页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第8页
第8页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第9页
第9页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第10页
第10页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第11页
第11页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第12页
第12页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第13页
第13页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第14页
第14页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第15页
第15页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第16页
第16页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第17页
第17页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第18页
第18页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第19页
第19页 / 共22页
听书软件喜马拉雅的设计与开发毕业设计文档格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

听书软件喜马拉雅的设计与开发毕业设计文档格式.docx

《听书软件喜马拉雅的设计与开发毕业设计文档格式.docx》由会员分享,可在线阅读,更多相关《听书软件喜马拉雅的设计与开发毕业设计文档格式.docx(22页珍藏版)》请在冰点文库上搜索。

听书软件喜马拉雅的设计与开发毕业设计文档格式.docx

SQLite数据库

ComputerScienceandTechnologyMajor YangFuyu

Abstract:

AlongwiththepopularityofApple'

ssmartphone,moreandmorepeopleuseApple'

ssmartphone,andpeople'

srequirementofmobilephoneisnolongersimplysendtextmessages,phonecalls,thephoneanytime,anywheretolistentoabook,listentomusic,listentotheradiohasbecomenowadaysthemostcommon,thetrendofleisureentertainmentway.Inviewofthisphenomenon,usingthesoftwareengineeringprinciple,usingSQLitedatabase,commonlyusediPhonecontroltechnology,inordertomakethelowcouplingbetweenmodulesandmoduleandhighcohesion,theuseofmodularprogrammingmethod,completedtheaudiobooksoftware-Himalayandesignanddevelopment.Thedevelopmentofthesoftwarebringspeopletoenjoythesoundeffectandthevisualenjoymentofthesoundeffectandthepictureeffect,sothatpeoplecangetthepleasureinthefastrhythmlife..

Keywords:

Listentothesoftware;

iPhone;

SQLitedatabase

目录

1引言 1

1.1课题背景 1

1.2论文研究的目的和意义 1

2系统分析 2

2.1技术需求分析 2

2.2功能需求分析 3

2.3相关技术 3

2.3.1IOS简介 3

2.3.2OBJECTIVE-C语言 4

2.3.3XCODE环境 4

2.3.4JSON数据解析 5

2.4现行系统详细分析 5

2.4.1业务流程分析 5

2.4.2系统用例图 6

3数据库设计 7

3.1数据库需求分析 7

3.2数据库表结构设计 8

4系统的详细设计与实现 11

4.1首页面 11

4.2分类界面 11

4.3博主详情界面 13

4.4播放界面 13

4.5下载界面 14

4.6手机用户注册或登录界面 15

5程序运行环境 15

5.1IOS模拟测试器 15

.2IOS真机测试 16

总结 17

参考文献 18

致谢 19

1引言

音乐、书籍大大的丰富了人类的物质生活和精神追求,是我们对美的一种追求形式,是人类娱乐生活的重要组成元素。

音乐影响着人们的生活,我们在繁忙之余用音乐来舒缓情绪、排解压力。

音乐还可以开发人的形象思维能力和逻辑思维能力。

尤其是随着经济的发展和生活水平的提高,我们更加注重精神的享受,听书、听音乐也就尤为收到推崇。

另一方面,移动信息时代的来临,使得手机作为移动信息服务终端逐渐取代了电脑、平板等个人信息终端。

手机给人们的日常生活带来的便利日益受到追捧并逐渐成为流行。

苹果手机iphone至面世以来就受到我国人民的喜爱和大力追捧,冲击着整个智能手机市场。

由此可见,基于ios操作系统的喜马拉雅音乐软件的设计与开发具有广阔的前景。

1.1课题背景

手机的大众化,智能手机成为现在的主流通讯工具。

与此相对应的对的对手机软件的需求也就越来越多。

手机的一个重要的功能就是听书,听音乐,一款好的手机听书软件可以更好的体现智能手机的强大。

苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于iOS的手机软件需求量也就相应的越来越强。

市场上的听书软件品牌繁多,定位不一,基本满足了各层次消费者的需求。

伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来。

而对于开发苹果应用的语言——Object-C[1],也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,隐隐有超过C语言的现象。

对于其他的开发语言,例如java、javascripe,Object-C以其强大的优势遥遥领先于这些其他的编程语言。

1.2论文研究的目的和意义

基于iOS操作系统以Objective-C语言开发的3G移动互联应用的集娱乐休闲和听书、听歌手机软件系统,通过手机听音乐已经成为大多数人习惯和爱好,手机操作系统有很多,而苹果系统的软件具有的特点就是美观、简洁、易操作。

根据这些信息,学着去设计一款基于iOS的音乐App在以后的社会竞争中更加具有优势,而且一法通万法,学会了制作一看APP,其他差别不大的APP的制作也能手到擒来,同时本人从去年开始接触iOS,在学习了几个月后,又经过差不多半年的实习经验,对iOS开发有了一定理解,所以对于这次毕业设计,我就选择了基于iOS系统开发一款产品。

希望通过这次毕业设计来进一步巩固自己的iOS开发水平,同时提升自己的开发设计和编程的能力。

2系统分析

2.1技术需求分析

1.运用流媒体第三方库播放在线音乐[10]。

2.使用单例管理播放音乐。

单例的几种写法(以MyAudioPlay类为例)

1.直接在Appdelegate里定义个属性@property(strong,nonatomic)MyAudioPlay,然后用(AppDelegate*)[[UIApplicationsharedApplication]delegate],用点语法调用MyAudioPlay即可。

2.在.h文件里写个+(id)sharedInstance,在.m文件里shareInstance的实现如下,

+(id)sharedInstance{

staticMyAudioPlay*audio=nil;

if(audio==nil){

audio=[[MyAudioPlayalloc]init];

}

returnaudio;

},每次使用即可用MyAudioPlay类调用shareInstance方法。

3..h文件里写个+(id)sharedInstance,在.m文件里shareInstance实现如下,

+(id)sharedInstance{

staticMyAudioPlay*audio=nil;

staticdispatch_once_tonceToken;

dispatch_once(&

onceToken,^{

});

returnaudio;

}

3.用coreData把数据模型存入本地。

4.使用AFNetworking异步下载歌曲(AFNetworking是大名鼎鼎的网络开发框架,几乎所有APP的开发都有它的身影)。

5.实现了下载音乐的进度条的百分比显示(通过监控下载回传的数据与总大小相比较,得到下载的进度)。

6.实现了多个cell在一个tableview上的动态显示,每个cell上可以响应多种事件。

2.2功能需求分析

本APP是基于iOS平台的一款类似音乐播放的娱乐工具,但是所有的声乐都是在线播放,所有音乐格式都是流媒体,用户也可以下载音乐,可以在下载听界面看到下载的音乐。

根据系统功能划分,本系统详细需求描述如下:

(1)音乐播放功能

由于网络接口的原因,APP播放的全是流媒体格式,但是基本实现了在线播放、歌曲切换、暂停与开始、上一曲与下一曲、歌曲图片的显示、音量调节,随意拖动滚动条来播放音乐等。

(2)界面展示功能

所有的页面展示都是自己搭建UI,从网络获取数据,加载图片或者文字,是所有APP通用的逻辑。

(3)音乐下载功能

用第三方框架AFNetworking实现了基本的下载功能,下载显示功能,下载到本地播放功能。

2.3相关技术

2.3.1ios简介

iOS最初是设计在iPhone上的操作系统,苹果公司于2007年1月9日的Macworld大会上公布了这个系统,并命名为iPhoneOS,但随着此系统在iPodtouch、iPad以及AppleTV等苹果产品上的广泛应用,苹果公司于2010年6月7日WWDC大会上将其改名为IOS。

据Canalys的数据显示,截止到2011年11月,iOS占据了全球智能手机系统市场份额的30%,在美国的市场占有率更是达到了43%。

随着Andriod开源操作系统的异军突起以及WindowsPhone的发力,iOS市场份额正被一点点的蚕食,但是iOS设备的利润率高的惊人,以智能手机为例,iphone的利润额占到整个智能手机利润额的80%,受益于此,苹果的市值也达到了5000亿美元。

iOS操作采用的是多点触控直接操作,控制方法包括滑动、轻触屏幕和图标及按键。

操作有:

滑动、轻按、缩小及放大。

此外,iOS移动设备中还内置了加速器,使得旋转iOS设备时,界面也可以得到旋转,这也使得iPhone等便携设备更便于使用[2]。

自3GS开始,iphone装备有陀螺仪,这使得iphone有了重力感应,游戏效果更加的突出。

屏幕的下方是home键,点按回到主界面。

底部是dock,可安放四个使用者最经常使用的程序的图标。

屏幕最上方是状态栏,显示一些有关资讯:

如时间、电池电量和讯号强度等。

其余的屏幕用于显示当前的应用程序。

启动程序,只需点按该程序的图标,点按屏幕下方的home键即退出应用程序。

在iPhone3.0及后续版本中,及时应用程序退出,当第三方软件收到了新的讯息时,苹果公司的服务器将把这些通知推送至iPhone或iPodTouch上[3](不管它是否正在运行中)。

2.3.2Objective-C语言

Objective-C,通常写作ObjC和较少用的ObjectiveC或Obj-C,是扩充C的面向对象编程语言。

它主要使用于MacOSX和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。

Objective-C可以在GCC以及Clang运作的系统上编写和编译,因为GCC与Clang含Objective-C的编译器。

1980年代初布莱德·

确斯(BradCox)在其公司Stepstone发明Objective-C[3]。

Objective-C是非常实际的语言。

它是一个用C写成、很小的运行库,只会令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。

Objective-C写成的程序通常不会比其原始码大很多。

而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。

因此,Objective-C它完全兼容标准C语言.

Objective-C的优缺点:

由于Obj-C使用动态运行时类型,而且所有的方法都是函数调用(有时甚至连系统调用(syscalls)也如此),很多常见的编译时性能优化方法都不能应用于Obj-C(例如:

内联函数、常数传播、交互式优化、纯量取代与聚集等)。

这使得Obj-C性能劣于类似的对象抽象语言(如C++)。

不过Obj-C拥护者认为既然Obj-C运行时消耗较大,Obj-C本来就不应应用于C++或Java常见的底层抽象[4]。

Objective-C是动态定型(dynamicalytyped)所以它的类库比C++要容易操作。

Objective-C在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。

2.3.3Xcode环境

Xcode是开发苹果应用程序的必备开发环境,自4.0开始,开发人员就可以利用Xcode开发基于iOS的iPad、iPhone、iPodTouch设备应用程序,只要你有MacOSXSnowLeopard10.6.2以上版本MacOS操作系统,便可安装iossdk,如果你有iOS设备,便可让Xcode把应用程序部署到你的iOS设备上。

另外,你还可以使用iPhone仿真器进行调试。

Xcode提供了友好而方便的应用程序开发环境,这样你就可以开发出好的iOS应用程序了。

Xcode支持多种语言,如:

C、C++、Objective-C、Java。

另外,Xcode的编译速度也极快。

Xcode还具有自由撤消的强大功能,同时,从Xcode5.0开始具有虚拟模型和设计功能的storyBoard更完善了,这可以让你更轻松的开发和维护应用程序。

2.3.4JSon数据解析

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。

它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。

JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。

这些特性使JSON成为理想的数据交换语言。

易于人阅读和编写,同时也易于机器解析和生成[5](网络传输速度)。

比如下面的Json数据,在OC(Objective-C)中,最外层是一个字典A,A有三个键值对,键”programmers”,”authors”,”musicians”,相应的键对应的值是数组B,C,D,三个数组分别有3、3、2个元素,每个元素又都是一个字典E,这个字典E又有三个键值对,”fristName”,”lastName”,”email”/”genre”/”instrument”,比如我想取到musicians的piano的值(假设最外层字典为JSon),则可以这样取NSString*instrument=[[[JSonobjectForKey:

@"

musicians"

]objectAtIndex:

1]objectForKey:

instrument"

];

instrument的值就是piano。

2.4现行系统详细分析

2.4.1业务流程分析

手机用户使用此软件时,首页面可以看到可以收听的节目的分类,可以看到最新的可收听的节目,也可以随时播放,具体流程如图2-1。

图2-1系统流程图

2.4.2系统用例图

系统的用例为手机用户。

具体用例图如图2-2所示。

图2-2系统用例图

3数据库设计

3.1数据库需求分析

根据各个页面的信息的多寡,考虑到手机内存空间是有限的,故对数据量较大的界面进行缓存,运用苹果官方封装的CoreData框架,将OC对象转换成数据,保存在SQLite数据库文件中,也能将保存在数据库中的数据还原成OC对象,所以我们最终存储在数据库文件中的是继承于NSManagedObject的OC对象模型,。

在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,也就是说我们通过CoreData框架间接操控SQL,比直接编写SQL语句简单更容易理解。

最终得出需要进行数据持久化的页面如下所示:

●动态界面(HIMDynamicViewCtrl)的表:

包含图片的网址、当前日期、标题与副标题、个人昵称、内容简介等;

●详细分类界面(HIMDetailCateViewCtrl)的表:

包含标题、图片地址、上次更新时间、是否是最火/最近更新/经典内容、所属类别名称、播放次数等

●分类界面(HIMFindDetailViewCtrl)的表:

包含所属分类名称、是否有播主信息、图片地址、发布日期

●发现界面(HIMFindViewCtrl)的表:

包含图片地址、是否是滚动图数据等

●播放界面(HIMPlayViewCtrl)的表:

包含播放声音的地址、用户id、声音市场、播放次数、下载地址、声音大小、创建时间等

3.2数据库表结构设计

需求分析已经说了我们存储在数据库中的是OC对象,所以下面表结构也就是OC对象的设计,简单的说就是OC对象模型的设计,如果想用CoreData储存数据,类对象就必须继承NSManagedObject对象。

图3-1播放界面(HIMPlayViewCtrl)的数据模型

图3-2详细分类界面(HIMDetailCateViewCtrl)的数据模型

图3-3发现界面(HIMFindViewCtrl)的数据模型

图3-4分类界面(HIMFindDetailViewCtrl)的数据模型

图3-5动态界面(HIMDynamicViewCtrl)的数据模型

其中每个表都有的date用来判断再次进入程序时间是否超过一定时间,超过一定时间则删除缓存,重新缓存新数据。

4系统的详细设计与实现

4.1首页面

首页面如图4-1所示。

手机用户点击软件,进入首界面,界面上端出现热门、有声小说、音乐、综艺节目、相声评述等以及更多选项,以供用户选择收听内容,中部则是一些最火主播,热门声音的推荐,最下端是动态、发现、下载听以及我的选项。

图4-1首页面

4.2分类界面

点击首界面上端的任意选项,选择所要收听的内容,就会出现此选项的各种类型,例如如图4-2情感生活界面,手机用户选择了收听情感生活这一选项,会出现小清新,治愈系,爱情,心理等各种分类。

在情感生活界面的各种分类中,选择要收听的类型,即会出现如图4-3的小分类界面,界面上端会出现最火,最近更新,经典三个选项,在任一选项会出现可供选择的收听书籍,任选其一即可播放。

图4-2情感生活界面

图4-3小分类界面

4.3博主详情界面

当点击播放某一节目时,会出现该节目的一些基本信息,其中关于该博主的信息也可点击获取,如图4-4博主详情界面,可以显示博主的头像,关注的人数,粉丝数还有赞过的,以及发布的专辑。

图4-4博主详情届面

4.4播放界面

当手机用户选中一个节目后,就可以选择播放了,如图4-5所示,在此界面上可以实现了在线播放、歌曲切换、暂停与开始、上一曲与下一曲、歌曲图片的显示、音量调节,随意拖动滚动条来播放音乐等。

图4-5播放界面

4.5下载界面

手机用户对某一节目进行下载的话,就会跳转到下载界面,如图4-6所示。

图4-6下载界面

4.6手机用户注册或登录界面

手机用户可以在此界面进行新用户的注册,或者已有账号的用户在此页面登录,如图4-7所示。

图4-7注册或登陆界面

5程序运行环境

5.1iOS模拟测试器

iOSSimulator位于/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications文件夹中。

通常不需要直接启动iOSSimulator-它在Xcode运行(或是调试)应用程序时会自动启动。

Xcode会自动将应用程序安装到iOSSimulator上。

iOSSimulator是个模拟器,但并非仿真器。

这两者的区别是什么呢?

模拟器会模仿实际设备的行为。

iPhoneSimulator会模仿实际的iOS/iPad设备的真实行为。

但模拟器本身却使用了Mac上的各种库(如Quicktime)进行渲染以便效果与实际的iPhone保持一致。

此外,在模拟器上测试的应用程序会编译为x86代码,这是模拟器所能理解的字节码。

实际的iPhone设备使用的则是ARM代码。

5.2iOS真机测试

需要申请开发者账号,需要配置真机调试证书。

硬件环境:

iPhone5,iPhone5s,iPhone6,iTouch5;

系统环境:

iOS7.0及以上

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2