听书软件—喜马拉雅的设计与开发毕业设计内容摘要:
应用的集娱乐休闲和听书、听歌手机软件系统,通过手机听音乐已经成为大多数人习惯和爱好,手机操作系统有很多,而苹果系统的软件具有的特点就是美观、简洁、易操作。 根据这些信息,学着去设计一款基于 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是动态定型(。听书软件—喜马拉雅的设计与开发毕业设计
相关推荐
并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态 HTML 页面,或执行用户查询,并将查询结果格式化成 HTML 页面,通过 Web 服务器返回给 Web 浏览器。 最基本的中间件技术有公共网关接口 CGI 和应用程序编程接口 API 两种。 Web 数据库技术采用三层或多层体系结构,前端采用基于瘦客 户机的浏览器技术,通过 Web
档表示应该标准化,所以它只使用了一个固定的元素类型集。 这就使得 HTML 仅仅是符合 SGML 语法的一种固定格式的超文本标记语言,不可扩展,用户不能在其中增加有意义的并且能提供他们使用的标记。 浏览器开发商发现,通过对 HTML 非兼容性的扩充可以获取更大的市场份额,于是大量非标准的 HTML 扩展出现了。 在这方面,两大浏览器生产商 Netscape 和Microsoft 就是 典型的代表
P 1 .5 / M O S I6P 1 .6 / M I S O7P 1 .7 / S C K8R E S T9P 3 .0 / R X D10P 3 .1 / T X D11P 3 .2 / IN T 012P 3 .3 / IN T 113P 3 .4 / T 014P 3 .5 / T 115P 3 .6 / W R16P 3 .7 / R D17X T A L 218X T A L
lim=1120Mpa;由图 8— 3— 9( d)中的 MQ 级质量指标查得 σ FE1=σ FE2=700Mpa, σ Flim1=σ Flim2=350 Mpa. 按接触强度进行初步设计 1. 确定中心距 a(按表 8— 3— 28公式进行设计 ) aCmAa(μ +1) 3 21HKT mC =1 483A K= mNT 16462 MPaH
行压缩,并加入一段解压的启动代码。 本实验采用make zImage。 make zImage 生成的 Linux 映像文件 zImage 保存在/home/cvtech/jx2410/linux/arch/arm/boot/目录下。 烧写 Linux 映像 zImage 图 Block device 配置选项 成功编 译 Linux 内核后,通过 JX2410 的 uboot 将核心下载到
、 RST 和 BLA 直接与 VCC 相连接。 但是在本设计中使用它的性价比不高,体积大,占用覆铜板面积 大,而且笨拙。 综上所述,在 LCD 液晶显示模块上,选择方案二中的 LCD1602 液晶显示器作为本设计的显示模块。 显示时间、温度、去向或者是回向的站号信息,方便司机和乘客读取其上面的信息值得目前的实时情况。 第二章 系统的硬件设计和方案对比选择 7 语音芯片的方案对比选择 方案一