豆瓣fm电台
DoubanFM
github:@XVXVXXX
csdn:@XVXVXXX
please open DoubanFM.xcworkspace in Projectfinal
The DoubanFM for iPhone,using MPMoviePlayer
&AFNetworking@AFNetworking/AFNetworking
&doubanAPI@ampm/Douban-FM-sdk @HakurouKen/douban.fm-api
&CDSideBarcontroller @christophedellac/CDSideBarController
侧栏界面
- 侧栏采用了CDSideBarController
- 结构实际上是tabbarController
- 第一view是播放界面
- 第二view是选择频道界面
- 第三view是登陆界面
- 第四X是取消sidebar的选取
播放界面
- 当前选定的channel 在点击第二view的tableviewcell时用改变APPDelegate设定
- 当前播放歌曲所属专辑的cover 用的是AFN的[UIImageViewController setImageWithURL:(NSURL *)url];
- 歌曲进度条progressbar 用了NStimer
- 歌曲的title,artist
- buttons,包括pause/play,like,ban,skip.都是通过AFN向douban发送request获取新的playlist
选择频道界面
- 目前按照doubanFM官方的写了类似的,在登陆之后,获得的频道和歌曲都会不一样,推荐频道会变多,红心歌曲也会同步到douban那边的数据
- 点击相应的频道可以获取相应的playlist,同时主页信息也会更新
- 红心频道在没有数据的情况下,会有alertView提示
用户信息界面
- 未登陆时只提供一个登陆的接口,下面的数据在没登陆的情况下,只会显示0,在登陆后则会根据用户信息更新
- 其中的登陆不是一个button,而是一个imageView添加了手势功能
- 用户点击上面的登陆之后,会presentViewController: LoginViewController
登录界面
- 登陆界面包括账号、密码和验证码
- 验证码也是来自douban方提供的,原理是先向douban申请一个captchaiD,然后用这个返回的captchaID申请一个验证码图片。
- 点击登陆的时候,parameter包括账号、密码、验证码、验证码ID,如果登陆成果就会dismiss:self,然后回到之前的界面,更新信息;登陆失败则有相应的错误信息用alertview显示。登陆成功要记录用户登陆的一系列数据,之后设置有用。
- 点击取消则是直接dismiss:self,给了一个退出 LogginViewController的接口。
登陆成功界面
- 登陆成功就会更新信息,包括头像、昵称、自己在douban电台的播放信息,包括了played,liked,banned
- 头像其实还是刚才的登陆的图片,还是用AFN的setimagewithurl:,然后把图片的交互关闭就好了,_loginImage.userInteractionEnabled = NO;同时将下面原本hidden的but显示n登出,button.hidden =
- 点击登出就会进行登出操作,实际上也是向douban发送一个request,parameter中带了之前登录时返回的一个cookies。有问题的话,会登出失败的(囧)
remote control
- 从屏幕底部滑出处进行remotecontrol
- 在lock情况下进行remotecontrol
源码地址:
@github
@csdn
相关阅读
早报导语千呼万唤使出来,让我们等待无数岁月的IOS7.0的完美越狱终于来了。小编当时就是因为手贱,不小心升级到了7.0,结果一直无法使
要想发布一款能够位于App Store排行榜之首的产品,产品在质量和功能上的高标准表现是必不可少的,而为了达到这种高度,我们应该如何做
产品应该给予用户一个围城,在能照顾好城里居民的情况下去扩张才是合理的,高质量的用户能够给予产品更多的潜力。一、体验环境体验产
每位CP在推广刚开始的时候都一头雾水也走过弯路,所以把这些整理出来希望能够帮到做APP运营推广的小伙伴。注:不保证会存在规则变动
BIOS中英文对照表: Time/System Time 时间/系统时间 Date/System Date 日期/系统日期 Level 2 Cache 二级缓存 System Memory