
借鉴喜马拉雅 FM 的风格。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
作者HansRove,源码XiMaLaYa-by-HansRove-,为喜马拉雅的仿制作品,是对AVFoundation框架的一次探索性的软件开发尝试。软件环境设定为iOS 9.1,硬件环境为Mac OS X 10.11,并使用Xcode 7.1作为开发工具。项目描述旨在构建一个基于模板的“喜马拉雅FM”应用,受到该软件风格和内容的高度喜爱。然而,原版软件存在着过多的广告和推广元素,因此计划通过网络抓包并采用JSON解析技术提取数据,进而利用自行搭建的用户界面实现视听播放功能。UI设计力求高度仿制“喜马拉雅FM”。值得注意的是,部分内容在原有基础上进行了相应的调整和改进。
项目功能概述如下:首先,音频播放模块是基础功能之一,它能够让用户收听各类声音、专辑以及电台主播提供的节目。其次,“发现听”模块提供了一个实时动态的信息展示页,每日更新音频的热门信息和音频专辑集数统计数据;同时,它还向用户展示声音分类、电台以及网络主播的推荐页面,以方便用户进行交互选择。第三,“定制听”模块记录了用户关注的声音(专辑)、主播和电台等信息以及收听历史记录,并根据近几天的热门声音进行推荐。第四,“下载听”模块则记录了用户的下载历史记录并对已下载的声音进行分类展示。最后,“搜索功能”根据热词提供信息展示,允许用户搜索主播、电台、声音或专辑等内容。
本项目所采用的技术及框架包括【纯代码与故事板】相结合的方式。“纯代码”用于实现大部分布局和功能逻辑;“故事板”则用于处理一些UI元素的设计与交互细节。具体技术细节如下:首先,通过二次封装AFNetworking与MJExtension框架来完成数据请求与解析工作;其次,使用Masonry实现纯代码布局管理方案;同时利用MJRefresh组件实现下拉刷新和上拉加载功能;此外,大量使用自定义Cell、自定义Button、自定义View等控件进行封装以方便布局操作;最后, 使用AVFoundation框架实现了在线音频播放功能, 并对播放器外观及进度条进行了自定义配置。
项目总结收获包括:对MVVM模式的使用更加熟练掌握, 从而深入理解设计模式的概念及其应用价值, 为未来的开发工作节省了大量时间和精力;熟悉JSON数据解析技术, 具备一定的处理数据能力, 特别是掌握了MJExtension框架的原理及编写方法;合理运用通知中心及单例模式来降低代码之间的耦合度, 提升代码的可维护性和可扩展性;并且熟练掌握纯代码跳转Storyboard或者Xib的使用方法, 同时成功封装了大量的自定义视图以方便布局设计。
全部评论 (0)


