听书软件—喜马拉雅的设计与开发毕业设计内容摘要:

应用的集娱乐休闲和听书、听歌手机软件系统,通过手机听音乐已经成为大多数人习惯和爱好,手机操作系统有很多,而苹果系统的软件具有的特点就是美观、简洁、易操作。 根据这些信息,学着去设计一款基于 iOS 的音乐 App 在以后的社会竞争中更加具有优势,而且一法通万法,学会了制作一看 APP,其他差别不大的 APP 的制作也能手到擒来,同时本人从去年开始接触 iOS,在学习了几个月后,又经过差不多半年的实习经验,对 iOS开发有了一定理解,所以对于这次毕业设计,我就选择了基于 iOS 系统开发一款产品。 希望通过这次毕业设计来进一步 巩固自己的 iOS 开发水平,同时提升自己的开发设计和编程的能力。 听书软件 — 喜马拉雅的设计与开发 2 2 系统分析 技术需求分析 [10]。 单例的几种写法(以 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]。 } return audio。 },每次使用即可用 MyAudioPlay类调用 shareInstance方法。 3. .h文件里写 个 + (id) sharedInstance,在 .m文件里 shareInstance实现如下 , + (id) sharedInstance{ staticMyAudioPlay * audio = nil。 staticdispatch_once_t onceToken。 dispatch_once(amp。 onceToken, ^{ audio = [[MyAudioPlayalloc] init]。 })。 return audio。 } coreData把数据模型存入本地。 AFNetworking异步下载歌曲( AFNetworking是大名鼎鼎的网络开发框架,几乎所有 APP的开发都有它的身影)。 (通过监控下载回传的数据与总大小相比较,得到下载的进度)。 听书软件 — 喜马拉雅的设计与开发 3 cell在一个 tableview上的动态显示 ,每个 cell上可以响应多种事件。 功能需求分析 本 APP 是基于 iOS 平台的一款类似音乐播放的娱乐工具,但是所有的声乐都是在线播放,所有音乐格式都是流媒体,用户也可以下载音乐,可以在下载听界面看到下载的音乐。 根据系统功能划分,本系统详细需求描述如下: ( 1)音乐播放功能 由于网络接口的原因, APP 播放的全是流媒体格式,但是基本实现了在线播放、歌曲切换、暂停与开始、上一曲与下一曲、歌曲图片的显示、音量调节,随意拖动滚动条来播放音乐等。 ( 2)界面展示功能 所有的页面展示都是自己搭建 UI,从网络获取数据,加载图片或者文字,是所有 APP 通用的逻辑。 ( 3)音乐下载功能 用第三方框架 AFNetworking 实现了基本的下载功能,下载显示功能,下载到本地播放功能。 相关技术 ios 简介 iOS最初是设计在 iPhone上的操作系统,苹果公司于 2020年 1月 9日的 Macworld大会上公布了这个系统,并命名为 iPhone OS,但随着此系统在 iPod touch、 iPad以及 Apple TV 等苹果产品上的广泛应用,苹果公司于 2020 年 6月 7日 WWDC 大会上将其改名为 IOS。 据 Canalys 的数据显示 , 截止到 2020 年 11月, iOS占据了全球智能手机系统市场份额的 30%,在美国的市场占有率更是达到了 43%。 随着 Andriod 开源操作系统的异军突起以及 Windows Phone 的发力, iOS 市场份额正被一点点的蚕食,但 是 iOS 设备的利润率高的惊人,以智能手机为例, iphone 的利润额占到整个智能手机利润额的 80%,受益于此,苹果的市值也达到了 5000 亿美元。 iOS 操作采用的是多点触控直接操作,控制方法包括滑动、轻触屏幕和图标及按键。 操作有:滑动、轻按、缩小及放大。 此外, iOS移动设备中还内置了加速器,使得旋转 iOS 设备时,界面也可以得 到旋转,这也使得 iPhone 等便携设备更便于使用[2]。 自 3GS 开始, iphone 装备有陀螺仪,这使得 iphone 有了重力感应,游戏效果更加的突出。 屏幕的下方是 home 键,点按回到主界面。 底部是 dock,可安放四个使用者最经常使用的程序的图标。 屏幕最上方是状态栏,显示一些有关资讯:如时间、电听书软件 — 喜马拉雅的设计与开发 4 池电量和讯号强度等。 其余的屏幕用于显示当前的应用程序。 启动程序,只需点按该程序的图标,点按屏幕下方的 home键即退出应用程序。 在 iPhone ,及时应用程序退出,当第三方软件收到了新的讯息时,苹果公司的服务器将把这些通知推送至 iPhone 或 iPod Touch 上 [3](不管它是否正在运行中)。 ObjectiveC 语言 ObjectiveC,通常写作 ObjC 和较少用的 Objective C 或 ObjC,是扩充 C的 面向对象 编程语言。 它主要使用于 Mac OS X 和 GNUstep 这两个使用 OpenStep 标准的系统,而在 NeXTSTEP和 OpenStep中它更是基本语言。 ObjectiveC可以在 GCC以及 Clang运作的系统上编写和编译,因为 GCC 与 Clang 含 ObjectiveC 的 编译器。 1980 年代初布莱德 确斯 (Brad Cox)在其公司 Stepstone 发明 ObjectiveC[3]。 ObjectiveC是非常实 际的语言。 它是一个用 C 写成、很小的运行库,只会令应用程序的尺寸增加很小,和大部分 OO系统使用极大的 VM执行时间会取代了整个系统的运作相反。 ObjectiveC 写成的程序通常不会比其原始码大很多。 而其函式库 (通常没附在软件发行本 )亦和 Smalltalk 系统要使用极大的内存来开启一个窗口的情况相反。 因此, ObjectiveC它完全兼容标准 C语言 . ObjectiveC的优缺点: 由于 ObjC 使用动态运 行时类型,而且所有的方法都是 函数调用 (有时甚至连 系统调用 ( syscalls)也如此),很多常见的编译时 性能优化 方法都不能应用于 ObjC(例如: 内联函数 、 常数传播 、交互式优化、纯量取代与聚集等)。 这使得 ObjC 性能劣于类似的对象抽象语言(如 C++)。 不过 ObjC 拥护者认为既然 ObjC 运行时消耗较大, ObjC 本来就不应应用于 C++或 Java 常见的底层抽象 [4]。 ObjectiveC是动态定型(。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。