基于iOS娱乐幽默软件的设计与实现毕业设计(论文).doc_第1页
基于iOS娱乐幽默软件的设计与实现毕业设计(论文).doc_第2页
基于iOS娱乐幽默软件的设计与实现毕业设计(论文).doc_第3页
基于iOS娱乐幽默软件的设计与实现毕业设计(论文).doc_第4页
基于iOS娱乐幽默软件的设计与实现毕业设计(论文).doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连东软信息学院 毕业设计(论文)毕业设计(论文) 系系 所:所: 计算机科学与技术 专专 业:业: 软件技术 学生姓名:学生姓名: 于青池 学生学号:学生学号: 1211010432 指导教师:指导教师: 李琳 导师职称:导师职称: 讲师 论文题目论文题目:基于 ios 娱乐幽默软件的设计与实现 于青池 完成日期:完成日期: 年 月 日 大连东软信息学院 dalian neusoft university of information 大连东软信息学院毕业设计(论文) 摘要 i 基于 ios 娱乐幽默软件的 设计与实现 摘 要 在最近几年里,移动通信和互联网成为当今世界发展最快的两大产业。这一高速 增长现象反映了随着时代与技术的进步,人类对移动性和信息的需求急剧上升。出现 移动通信与互联网相结合的趋势是历史的必然。 随着 4g 技术的发展和移动终端各种多媒体功能的实现,手机电视 ,视频,彩铃, 4g 游戏等基于移动通信网络的无线娱乐业务的发展,受到国内外业界的一致看好。来 自市场研究机构的一份研究报告显示,未来几年,全球无线娱乐市场将体现出强劲增 势,到 2015 年音乐,游戏和移动电视的市场规模将达到 640 亿美元。另据预测,2009 年全球会有 6 亿人享用移动视频和手机电视服务,中国至少将占 20%。中国移动于今年 4 月 1 日开始启动的奥运会 8 城市 td-scdma 社会化业务测试和试商用,标志着 4g 网络 建设在我国拉开帷幕。试商用期间推出的可视电话,视频共享,视频留言,手机电视 等 4g 特色业务,也昭示在中国 4g 时代,无线娱乐产业将迎来高速发展期。 无线娱乐产业已经迎来了前所未有的发展机遇,基于北京奥运大环境,国家体制 改革“大部制”背景及新一代移动互联网的演进趋势,我国无线娱乐产业将迈入全新 发展时期。信息化,网络化,数字化趋势给网络娱乐文化产业发展带来革命化变化, 三网融合趋势,移动互联网技术及多元化经营必将有力推进中国无线娱乐市场的高速 发展。 关键词关键词:移动互联网,终端多媒体,无线娱乐 大连东软信息学院毕业设计(论文) abstract ii design and implementation of an amusement app based on ios abstract in recent years, mobile communications and the internet has become the worlds two fastest growing industries. this phenomenon reflects the rapid growth and technological progress with the times, the sharp rise in human demand for mobility and information. mobile communications and the internet combined with the trend is a historical necessity with the development of 4g technology and a variety of mobile terminals based on the development of wireless mobile communication network multimedia entertainment business functions are implemented, mobile tv, video, ring tones, 4g games, unanimously optimistic about the industry at home and abroad. a research report from market research firm revealed that the next few years, the global wireless entertainment market will reflect the strong growth, the market size in 2012 music, games and mobile tv will reach $ 64 billion. it was also predicted that in 2009 there will be 600 million people worldwide enjoy mobile video and mobile tv services, china will account for at least 20%. china mobile on april 1 of this years olympic games in eight cities started td-scdma social service testing and trial commercial, marking the 4g network construction in our country began. during the trial commercial launch of video telephony, video sharing, video messages, 4g mobile tv and other characteristics of business, also shows the chinese 4g era, wireless entertainment industry will usher in a period of rapid development. wireless entertainment industry has ushered in unprecedented opportunities for development, based on the evolution of trends in the beijing olympics environment, national reform, “most of the system,“ the background and the next generation of mobile internet, our wireless entertainment industry will enter a new period of development. information technology, networking, digital entertainment network trend to revolutionize the development of cultural industries to bring change, the triple play trend of mobile internet technology and diversification will effectively promote the rapid development of chinas wireless entertainment market. key words: mobile internet, multimedia terminal, wireless entertainment 大连东软信息学院毕业设计(论文) 目录 iii 目 录 摘 要.i abstractii 第 1 章 绪 论.1 1.1 论文研究主要内容1 1.1.1 娱乐软件的意义.1 1.2 国内外现状2 第 2 章 关键技术介绍.3 2.1 ios 概述3 2.2 objective-c 开发语言介绍3 2.3 核心操作系统层和核心服务层.4 2.4 json-framework 开源框架介绍5 2.5 sqlite 数据库介绍.5 2.6 git 介绍.6 第 3 章 系统分析7 3.1 娱乐幽默系统功能需求分析.7 3.1.1 功能构架.7 3.1.2 模块需求描述.7 3.2 系统开发环境.8 3.2.1 硬件环境.8 3.2.2 软件环境.8 3.3 娱乐幽默系统的可行性分析.9 3.3.1 技术可行性分析.9 3.3.2 系统安全性分析.9 3.4 系统用例分析.9 大连东软信息学院毕业设计(论文) 目录 iv 第 4 章 系统设计12 4.1 设计指导思想和原则.12 4.1.1 指导思想.12 4.1.2 软件设计原则.12 4.2 系统的功能结构设计.13 4.2.1 显示图片,段子.13 4.2.2 实现音频播放.13 4.2.3 查看收藏.13 4.2.4 新浪微博登陆.13 4.2.5 系统设置.13 第 5 章 系统实现14 5.1 环境配置14 5.1.1 导入 sqlite 数据库.14 5.1.2 导入第三方类库.14 5.2 主要功能的实现15 5.2.1 主界面的实现.16 5.2.2 音频播放界面的实现17 5.2.3 视频界面的实现.20 5.2.4 新浪微博登陆界面的实现.24 第 6 章 系统测试27 6.1 功能模块测试27 6.2 功能整体测试.27 第 7 章 结 论.28 参考文献.29 致 谢.30 附 录.31 大连东软信息学院毕业设计(论文) -1- 第 1 章 绪 论 随着计算机网络通信技术和 internet 的飞速发展,基于因特网的手机移动移动应用 已经开始成为一种全新的功能需求,并且越来越受人们的关注。由于移动应用具有简 单性,随时随地性等很多特点,因此它有着传统计算机所无法比拟的优点,这样一来, 手机移动应用的开发工作就显得尤为重要了,而我国无线娱乐产业将迈入全新发展时 期,开发出一款娱乐幽默的软件就更有必要了。 1.1 论文研究主要内容论文研究主要内容 此软件是基于 ios 开发系统的一款娱乐幽默的软件,包含了各种幽默段子,视频, 音频等搞笑的 app,内容幽默风趣,集结全国各地的有趣事,让你在繁忙的工作中轻松 一笑,时刻充满欢乐,以一种乐观向上的态度对面对生活中的压力。 使用 mvc 的设计模式,让项目结构看起来很清晰,使用 sdwebimage 对图片进行异 步加载,使用属性传值,delegate 等完成类之间的通信,此项目的亮点是通过 afaudiorouter 第三方实现的音频播放和通过系统自带的 avfoundation 实现的视频播 放,可以浏览各种搞笑人士拍摄的幽默视频,此软件也采用了对象归档进行数据持久 化管理,实现本地收藏的功能,更可以实现新浪微博的登录,查看好友圈微博。 .1 娱乐软件的意义娱乐软件的意义 在手机应用普及发展的今天,人们益智和娱乐休闲的重要途径或许是游戏,可是 娱乐消息也是人们在精神生活等各个方面发挥着重要的作用。随着社会的发展,现在的 媒体关于娱乐新闻的报道题材丰富,表现手法更灵活,翻开报纸或打开新闻网页,我们不 难发现对于新闻的报道越来越多的呈现出娱乐性,娱乐消息所派生出来的娱乐性给人们 带来更多的轻松与休闲,是人们茶余饭后的消遣。本文认为只要娱乐性软件能正确运用 语言艺术呈现出娱乐性、娱乐功能,达到寓教于乐、寓乐于教的效果,那么段子的娱乐 价值是值得肯定的,它的发展前景也是美好的。 1.21.2 国内外现状国内外现状 从整个产业来看,移动互联网发展的大幕才刚刚拉开,在过去的一年当中移动数 据流量,智能终端,用户,应用程序均高速发展,单看业务,终端,软件,移动互联 网似乎已经逐步进入普及期,但整个产业的水平化趋势并未确定,垂直一体化趋势甚 至在加强,产业处于发展早期的迹象其实更为显著-各个生态系统的垂直整合愈演愈 烈,软件与硬件版本的短周期升级,用户需求的不断变化,移动智能终端边界的持续 大连东软信息学院毕业设计(论文) -2- 延伸都表明移动互联网尚处于发展初期。业界对移动互联网有诸多矛盾观点,移动互 联网发展初期就具备的产业体系的相对完整性和跨界融合的空前复杂性是这些矛盾的 根源。正因为如此,应用程序的开放式创新和应用商店掌控者对应用生态的独裁控制, 核心芯片,知识产权(大部分来自 arm 授权)来源的同一性与芯片解决方案的巨大差 异性,系统软件的开源开放性与知识产权的不断纷争等看似矛盾的特征交相辉映,移 动互联网在冲突,竞争,替代和融合当中不断向前发展。 科学技术的发展将人类从繁重的体力劳动中解放出来,使人有了充裕的休闲时间。 不言而喻,休闲娱乐是一个国家生产力水平高低的标志,是衡量社会文明的标尺,是 人类物质文明与精神文明的结晶,是人的一种崭新的生活方式、生命状态,是与每个 人的生存质量息息相关的领域。 大连东软信息学院毕业设计(论文) -3- 第 2 章 关键技术介绍 2.1 关键性开发技术的介绍关键性开发技术的介绍 2.1 ios 概述概述 苹果 ios 是由苹果公司开发的手持设备操作系统。苹果公司最早于 2007 年 1 月 9 日的 macworld 大会上公布这个系统,最初是设计给 iphone 使用的,后来陆续套用到 ipod touch、ipad 以及 apple tv 等苹果产品上。ios 与苹果的 mac os x 操作系统一样, 它也是以 darwin 为基础的,因此同样属于类 unix 的商业操作系统。原本这个系统名 为 iphone os,直到 2010 年 6 月 7 日 wwdc 大会上宣布改名为 ios。截止至 2011 年 11 月,根据 canalys 的数据显示,ios 已经占据了全球智能手机系统市场份额的 30%,在美国的市场占有率为 43%。 ios 的系统架构和其操作系统一样,采用了分层的架构,ios 分为四层,分别为核 心操作系统(the core os layer),核心服务层(the core services layer),媒体层(the media layer), cocoa 触摸架构层(the cocoa touch layer)。 2.2 objective-c 开发语言介绍开发语言介绍 objective-c 是非常实际的语法,它使用一个用 c 语言写成的运行库,只会令应用 程序的大小增加很小,和大部分系统使用极大地 vm 执行时间会取代了整个系统的运行 相反。objective-c 写成的程序通常不会比其源代码大很多,而函数库(通常附在软件发 行本)亦和 smalltalk 系统要使用极大地内存来开启一个窗口的情况相反。 objective-c 的最初版本本不支持垃圾回收,在当时这是争论的焦点之一,很多人 考虑到 smalltalk 回收时有漫长的“死亡时间”,令整个系统失去功能,objective-c 为 避免此问题才不拥有这个功能,虽然某些第三方版本已经加入这个功能(尤其是 gnustep),再起 mac os x 10.3 中仍未引入这个功能。不过令人欣慰的是在 apple 发 布的 xcode4 中已经支持自动释放了,我不敢冒昧的说那是垃圾回收,因为两者机制不 同,在 xode4 中的自动释放,也就是 arc(automatic reference counting)机制,是 不需要用户手动去 release 一个对象,而是在编译期间,编译器会自动帮你添加那些 以前你经常写的nsobject release 另一个问题是 objc 不包括命名空间机制(namespace mechanism),取而代之的是 程序设计师必须在其类别名称加上前缀,时常引致冲突,在 2004 年,在 cocoa 编程环 境中,所有 mac os x 类别和函式均有“ns”作为前缀,例如 nsobject 和 uibutton 来 大连东软信息学院毕业设计(论文) -4- 清楚分别他们属于 mac os x 核心:使用“ns”是由于这些类别的名称在 nextstep 开发时定下。 由于 obj-c 使用动态运行时类型,而且所有的办法都是函数调用(有时甚至连系 统调用(syscalls)也如此),很多常见的编译时性能优化办法都不能应用于 obj-c(例 如:内联函数,常数传播,交互式优化,纯量取代与聚集等)。这使得 obj-c 性能劣 于类似的对象抽象语言(如 c+)。不过 obj-c 拥护者认为既然 obj-c 运行时消耗较 大,obj-c 本来就不应应用于 c+或 java 常见的底层抽象。 2.32.3 核心操作系统层和核心服务层核心操作系统层和核心服务层 位于 ios 系统架构最下面的一层是核心操作层,它包括内存管理,文件管理,电 源管理以及一些其他的操作系统业务,它可以直接和硬件设备交互。核心操作系统层 包括以下这些组件:os x kernel,mach 3.0,bsd,sockets,power mgmt,file system keychain,certificates,security,bonjour 等。 开发人员也可以完全访问核心服务层来方问 ios 的一些服务,包括数据库连接, url 学习等等,它主要包括以下这些组件:collections,address book,networking,file access,sqlite,core location,net services,threading,preferences,url utilities 等。 sqlite 是嵌入式的和轻量级的 sql 数据库,广泛用于 ios 应用。ios 系统内置 sqlite 数据库减小了开发人员的负担,是系统的一部分。 net servicer 主要负责网络服务,在开发过程中,承担应用程序与服务器之间连接 的角色,有很强的交互性。 媒体层,通过它可以在应用程序中使用各种媒体文件,进行音频与视频的录制, 图形的绘制,以及制作基础的动画效果。它包括以下这些组件:core audio,opengl,audo mixing,audio recording,video playback,jpg,pbg,tiff,pdf,quartz,core animation,opengl es。最上面一 层是可触摸层,这一层为应用开发提供了各种有用的框架,并且大部分与用户界面有 关,本质上来说它负责用户在 ios 设备上的触摸交互操作。它包括以下这些组件: multi-touch events,core motion,camera,view hierarchy,localization,alerts,web views,image picker,multi-touch controls。 在 cocoa touch 层中的很多技术都是基于 objective-c 语言的。objective-c 语言为 大连东软信息学院毕业设计(论文) -5- ios 提供了相机集合,文件管理,网络操作等支持。例如 uikit 框架,它为应用程序提 供了各种可视化组件,窗口(window),视图(view)和按钮组件(uibutton)。cocoa touch 层中的其他框架,对我们在应用程序中的开发来说也是非常有用的,如访问用 户通信录功能框架,获取照片信息功能的框架,负责加速感应器和三维陀螺仪等硬件 支持的框架等等。 2.42.4 json-frameworkjson-framework 开源框架介绍开源框架介绍 json 是一种新的用于在互联网上进行数据交换的标准格式。由于它的冗余、可读 性和可解析性都比 xml 要好,因此 json 这种数据交换格式越来越广泛地运用于 web 应用,尤其是 ajax 应用中。 在 cocoa 中使用 json 也很简单,目前有两个 json 的框架,都很容易使用,而 且都对 nsdictionary 进行了扩展,您可以选择其一将 json“揉”到您的 cocoa 应用程 序里。 一个叫做 bsjsonadditions, 由 blake seely 开发。将 nsdictionary 对象转成 json 字符串只需要进行如下转换: dict jsonstringvalue; 就可以返回一个 nsstring 的 json 格式。 反过来如果希望将 json 字符串转成 nsdictionary,只需要进行如下转换: nsdictionarydictionarywithjsonstring:jsonstring 就可以返回 nsdictionary 的对象了。 2.52.5 sqlitesqlite 数据库介绍数据库介绍 sqlite, 是一款轻型的数据库,是遵守 acid 的关联式数据库管理系统,它的设 计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的 低,在嵌入式设备中,可能只需要几百 k 的内存就够了。它能够支持 windows/linux/unix 等等主流的操作系统,同时能够跟很多程序语言相结合,比如 tcl、c#、php、java 等,还有 odbc 接口,同样比起 mysql、postgresql 这两款开源 世界著名的数据库管理系统来讲,它的处理速度比他们都快。sqlite 第一个 alpha 版 本诞生于 2000 年 5 月. 至今已经有 10 个年头,sqlite 也迎来了一个版本 sqlite 3 已 经发布。 2.62.6 gitgit 介绍介绍 大连东软信息学院毕业设计(论文) -6- git 是一个快速,开源,分布式的版本控制系统。因此,它在(开源)和(协作编 程社区)很快取代了 svn。 版本控制系统 首先,git 是一个版本控制系统,用来保留工程源代码历史状态的命令行工具。类 似于 svn,cvs 或者 perforce 等工具。 当你需要得到以前的一个保存点时,你可以利用它来追踪项目中的文件,并且得 到某些时间点提交的项目状态。你可以和合作伙伴共享这些历史状态,将他们的工作 和你的工作进行合并,可以对整个工程或某些文件跟历史版本进行比较或者恢复到早 期的某个版本。 因为 git 根本上说是一个命令行工具,所以大部分示例都会用命令行的方式给出。 如果使用早期版本的话,我们也建议您升级到 1.6 系列。当然,现在已经有很多 git ui 的工具,使得 git 变得更加简单易用。 大连东软信息学院毕业设计(论文) -7- 第 3 章 系统分析 根据第一章所定义的课题研究方向及目标,本章将对系统功能进行具体的需求分析, 具体分析音乐播放娱乐系统所要实现的功能以及欲达到的效果。 3.13.1 娱乐幽默系统功能需求分析娱乐幽默系统功能需求分析 .1 功能构架功能构架 本系统是基于 ios 平台开发的一款娱乐幽默系统,将要应用在 ios 移动通讯设备上,能够尽可能的 满足用户更方便更快捷的娱乐需求,对于娱乐软件,首先能够浏览有趣的段子和音频。用户可以在 段子的信息界面看到所有的文件。 在浏览段子的过程中,会让用户感觉枯燥无味。本系统自带的音频视频可以有效的避免用户单调, 有趣的视频体验,可以有效缓解疲劳。 根据需求调研结果确定本系统主要包括以下功能模块,如图 3.1.1 所示 图 3.1.1 .2 模块需求描述模块需求描述 根据系统功能划分,本系统详细需求描述如下: 1图片需求 为了给用户最好的用户体验,图片附上文字的娱乐效果会给用户更清晰的欢乐感 大连东软信息学院毕业设计(论文) -8- 觉,如果喜欢可以加入收藏。 2段子需求 该模块实现的是所有纯文字的冷笑话大全,可以看详细信息,分享自己的心情, 查看网友们的评论。 3音频功能需求 该模块实现的是听各种幽默人士发来的音频。 4视频功能需求 该模块实现的是观看幽默视频。 5微博登陆功能需求 该模块实现的是实现微博登陆,查看自己好友最新更新的微博,和自己好友列表 和他的主页。 6.设置功能需求 本模块实现了本人收藏,清除缓存,夜间模式等小功能。 3.2 系统开发环境系统开发环境 3.2.1 硬件环境硬件环境 内存:8g 1600mhz ddr3; cpu:2.6ghz intel core i5; 硬盘:256g。 3.2.2 软件环境软件环境 操作系统:mac os x 10.10.2; 开发工具:xcode 6.1 , sqlite 3.0 3.3 娱乐幽默系统的可行性分析娱乐幽默系统的可行性分析 3.3.1 技术可行性分析技术可行性分析 本系统采用 unix 系统的底层架构,采用 object-c 作为开发语言,数据库采用 sqlite。对于功能相似的界面,把相同功能的代码提取出来,进行封装,减少代码的冗 余,使代码界面变得更加整洁与规范,便于后期的更新与维护。 3.3.2 系统安全性分析系统安全性分析 apple 在 ios 中采取了四层安全性机制,用来保护使用者及其资料安全,四层安全 性机制 如下: 1.装置安全性:防止未经授权的个体来使用装置的相关技术。 大连东软信息学院毕业设计(论文) -9- 2.资料安全性:保护装置上所储存的资料的相关技术。 3.网络安全性:在资料透过网络交易期间进行加密的相关工具。 4.应用程序安全性:强化作业系统安全性,以及隔离应用程序执行的相关机制。 3.4 系统用例系统用例分析分析 如今社会发展迅速,每个人都不再满足于其他的娱乐方式,越来越多地倾向于娱 乐性能完备的幽默系统。用户在浏览时会来更大的享受。 按照目前市场情形,越来越多的移动开发者涌进 ios 开发领域。ios 平台上应用软 件,app store 的支付模式更为成熟而且有监管,另外 ios 的兼容性问题小,开发人员 不用考虑太多的配置兼容问题,美观大方的外形,更是吸引了大量的用户。而且其良 好的用户体验,都为 ios 的发展奠定了良好的基础。该娱乐幽默系统,可以在听歌的 同时浏览幽默的段子,给用户极好的娱乐效果。 打开本软件,显示软件主界面,由于软件采用的是本地数据存储,所以不需要用 户进行登录。用户的主页面会显示图片段子的内容,用户可以根据下面的菜单进行选 择,段子,音频还是视频的页面,可以查看我的收藏,个人主页,详细信息等,设置 功能:用户可以在登陆新浪微博,清除缓存和设置夜间模式,便于用户使用。 用户用例图如图 3.4 所示。 大连东软信息学院毕业设计(论文) -10- 图 3.4 用户用例图 大连东软信息学院毕业设计(论文) -11- 大连东软信息学院毕业设计(论文) -12- 第 4 章 系统设计 4.1 设计指导思想和原则设计指导思想和原则 4.1.1 指导思想指导思想 (1)充分运用目前所学的编程技术,尤其是利用软件领域中先进、合理、科学的 开发方法,以实现系统性能的优越性。 (2)充分考虑到现在社会娱乐的重要性。 (3)充分运用娱乐幽默的效果来减轻用户心理的压力。 4.1.2 软件设计原则软件设计原则 系统采用为 mvc 设计模式。分为数据区,控制器,视图区。数据区可以比作硬盘, 用来储存数据, 数据区负责从网络获取相关数据,通过通知机制等告知控制器数据获取 情况; 控制器可以比作是螺丝,控制两头视图,数据, 控制器负责获取何种类型的数据, 发送相关信息给数据区,并把数据内容传送给视图区;视图区则是界面,根据数据内 容展现数据,传送用户的反馈给控制区。 mvc 的设计要点是数据区不能有对视图区和控制器的访问,控制区需要读写权限 到视图区和数据区,视图区通过委托方法从控制器得到数据,数据区和视图区则没有 交互,降低耦合度。 4.2 系统的功能结构设计系统的功能结构设计 4.2.1 显示图片,段子显示图片,段子 在系统的主页面显示带图片的幽默段子,让用户更直观的体验。 4.2.2 实现音频播放实现音频播放 实现音频视频的播放,查看好友上传的音频和搞笑视频,给用户不仅视觉的体验, 加强幽默放松的感觉,视频更给人一种微电影的感觉,更好的达到幽默的效果。 4.2.3 查看收藏查看收藏 每个部分都有添加收藏的按钮,当用户遇到自己特别喜欢的段子,就可以加入自 己的收藏,随时查看,更方便,更快捷。 4.2.4 新浪微博登陆新浪微博登陆 用新浪微博登陆的方式来实现登陆系统,让用户在查看搞笑段子的同时还可以更 新微博的好友动态,时刻关注最新动态,就不用再次打开程序,用户体验更好。 大连东软信息学院毕业设计(论文) -13- 4.2.5 系统设置系统设置 进入系统设置,可以更改字体大小,颜色,背景亮度调节等,会用户在使用程序 时避免疲劳,颜色的单调,增强系统的完美性。 4.2.6 系统功能结构图系统功能结构图 系统功能结构图如图 4.2 所示: 如图 4.2 大连东软信息学院毕业设计(论文) -14- 第 5 章 系统实现 5.1 环境配置环境配置 5.1.1 导入导入 sqlite 数据库数据库 直接将数据库文件拖入到 supporting files 文件夹内即可。 5.1.2 导入第三方类库导入第三方类库 将第三方类库拖入到相应的文件夹后,重新编译即可 5.2 主要功能的实现主要功能的实现 5.2.1 主界面主界面的实现的实现 主界面主要显示带图片的段子内容,主要代码实现如下: - (void)viewdidload super viewdidload; / do any additional setup after loading the view. self loadingdata; self.navigationitem.rightbarbuttonitem = uibarbuttonitem alloc initwithimage:uiimage imagenamed: “iconfont-shuaxin.png“ style:uibarbuttonitemstyledone target:self action:selector(refreshclicked:); self.navigationitem.rightbarbuttonitem.tintcolor = uicolor lightgraycolor; self.navigationitem.leftbarbuttonitem = uibarbuttonitem alloc initwithimage:uiimage imagenamed: “iconfont- weibiaoti1.png“ style:uibarbuttonitemstylebordered target:self action:selector(editclicked:); self.navigationitem.leftbarbuttonitem.tintcolor = uicolor lightgraycolor; uisegmentedcontrol *seg = uisegmentedcontrol alloc initwithitems:“精华“, “最新“, “穿越“; seg.backgroundcolor = uicolor whitecolor; seg.tintcolor = uicolor graycolor; seg.frame = cgrectmake(13, 0, 235, 35); /seg.segmentedcontrolstyle = uisegmentedcontrolstylebordered; self.navigationitem.titleview = seg; seg addtarget:self action:selector(segmentaction:) forcontrolevents:uicontroleventvaluechange d; seg release; uicollectionviewflowlayout *flowlayout = uicollectionviewflowlayout alloc init; flowlayout.itemsize = cgsizemake(300, 400); flowlayout.scrolldirection = uicollectionviewscrolldirectionvertical; 大连东软信息学院毕业设计(论文) -15- self.collectview = uicollectionview alloc initwithframe:cgrectmake(0, 10, self.view.frame.size. width, self.view.frame.size.height) collectionviewlayout:flowlayout; self.collectview.backgroundcolor = uicolor colorwithred:230/255.0 green:230/255.0 blue:230/255.0 alpha:1; self.collectview.delegate = self; self.collectview.datasource = self; self.collectview registerclass:picture_cell class forcellwithreuseidentifier:“reuse“; self setuprefresh; self.view addsubview:self.collectview; 主界面实现如图 5.1 所示。 大连东软信息学院毕业设计(论文) -16- 图 5.1 主界面 大连东软信息学院毕业设计(论文) -17- 5.2.3 音频播放的实现音频播放的实现 - (void)startbuttonaction:(audio_cell *)cell audio_model *model = self.bigarrcell.tag - 1000; nslog(“voice : %“, model.voiceuri); afsoundmanager *manger = afsoundmanager sharedmanager; manger startstreamingremoteaudiofromurl:model.voiceuri andblock:(int percentage, cgfloat elap sedtime, cgfloat timeremaining, nserror *error, bool finished) ; if (cell.bofang.currentbackgroundimage isequal:uiimage imagenamed:“iconfont-bofang.png“) audio_model *model = self.bigarrcell.tag - 1000; nslog(“voice : %“, model.voiceuri); afsoundmanager *manger = afsoundmanager sharedmanager; manger startstreamingremoteaudiofromurl:model.voiceuri andblock:(int percentage, cgfloat e lapsedtime, cgfloat timeremaining, nserror *error, bool finished) ; cell.bofang setbackgroundimage:uiimage imagenamed:“iconfont- zantinganniu.png“ forstate:uicontrolstatenormal; else if (cell.bofang.currentbackgroundimage isequal:uiimage imagenamed:“iconfont- zantinganniu.png“) afsoundmanager *manger = afsoundmanager sharedmanager; cell.bofang setbackgroundimage:uiimage imagenamed:“iconfont- bofang.png“ forstate:uicontrolstatenormal; manger pause; 音频播放实现如图 5.2 所示。 大连东软信息学院毕业设计(论文) -18- 大连东软信息学院毕业设计(论文) -19- 大连东软信息学院毕业设计(论文) -20- 图 5.2 音频播放界面 5.2.4 视频播放的实现视频播放的实现 - (void)viewdidload super viewdidload; / do any additional setup after loading the view. / 创建 webview self.webview = uiwebview alloc initwithframe:self.view.bounds; nsurlrequest *request = nsurlrequest requestwithurl:nsurl urlwithstring:self.videouri.vi deouri cachepolicy:nsurlrequestuseprotocolcachepolicy timeoutinterval:60; _webview.delegate = self; _webview loadrequest:request; self.view addsubview:_webview; nslog(“%“, self.videouri.videouri); 视频播放界面实现如图 5.3 所示。 大连东软信息学院毕业设计(论文) -21- 大连东软信息学院毕业设计(论文) -22- 图 5.2 视频播放界面 5.2.5 新浪微博登陆的实现新浪微博登陆的实现 - (void)loginbtnclickhandler:(id)sender sharesdk getuserinfowithtype:sharetypesinaweibo authoptions:nil result:(bool result, id userinfo, id error) nsarray *path = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsu serdomainmask, yes); nsstring *documentpath = path lastobject; nsstring *strpath = documentpath stringbyappendingstring:“/nickname.txt“; nsstring *strpathimage = documentpath stringbyappendingstring:“/profileimage.t xt“; / 将 button的名字改为博客的昵称 / self.denglu settitle:userinfo.nickname forstate:uicontrolstatenormal; / 显示新浪微博的头像 self.touxiang setimagewithurl:nsurl urlwithstring:us erifileimage; self.zan settitle:nsstring stringwithformat:“粉丝:%d“, userinfo.followercount forstate:uicontrolstatenormal; self.guanzhu settitle:nsstring stringwithformat:“关注: %d“, userinfo.friendcount forstate:uicontrolstatenormal; self.dengji settitle:nsstring stringwithformat:“等级:%ld“, userinfo.level forstate:uicontrolstatenormal; nslog(“%“, userifileimage); if (result) 大连东软信息学院毕业设计(论文) -23- self.usertoken = userinfo.credential.token ; pfquery *query = pfquery querywithclassname:“userinfo“; query wherekey:“uid“ equalto:userinfo uid; query findobjectsinbackgroundwithblock:(nsarray *objects, nserror *error) if (objects count = 0) pfobject *newuser = pfobject objectwithclassname:“userinfo“; newuser setobject:userinfo uid forkey:“ uid“; newuser setobject:userinfo nickname forkey:“name“; newuser setobject:userinfo profileimage forkey:“icon“; newuser setobject:userinfo sourcedata forkey:“access_token“; newuser saveinbackground; uialertview *alertview = uialertview alloc initwithtitle:“hello“ messag e:“欢迎注册“ delegate:nil cancelbuttontitle:“知道了“ otherbuttontitles: nil; alertview show; alertview release; nslog(“%“,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论