项目QQ音乐开发记录
QQ音乐项目进度QQ音乐项目进度
08.25 开始QQ音乐项目
了解MediaPlayer机制
使用MediaPlayer实现基本的音乐播放
需要Service:保存当前播放的进度以及当前播放的状态
需要启动Service
绑定Service
按返回键,回到桌面,再点击进入
思路:界面关闭,service依然存活着,service中的成员变量都还在
08.27 异步准备音乐
异步准备:准备网络数据
权限:android.permission.INTERNET
mPlayer.prepare();// 同步准备,阻塞主线程
mPlayer.prepareAsync(); // 异步准备,不会阻塞主线程
09.23
完成了fragment切换动画,back stack进入退出动画
setCustomAnimations()四个参数那个,前两个是fragment之间切换的动画,后两个对应出入栈动画。动画资源文件放在anim文件夹下,与activity的动画一致。
该方法必须在add,replace,remove方法前调用才有效
more界面(略丑)
扫描本地歌曲,在5.0版本上出现错误
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIAMOUNTED
解决:将Intent.ACTION_MEDIA_MOUNTED改为
ACTION_MEDIA_SCANNER_SCAN_FILE
在fragment中注册广播应该放在哪个方法里?
点击安装程序的隐式意图
Intent i = new Intent(Intent.ACTIONVIEW);
i.setDataAndType(Uri.parse("file://" + filepath,"application/vnd.android.package-archive");
i.addFlags(Intent.FLAGACTIVITYNEWTASK);
fragment随activity的生命周期而动
popupwindow监听
它的view.findview...然后一样的
09.24
使用自定义toast时,setText()方法调用的是系统默认布局的TextView,不可用,正确的方法是findview出自定义布局中的控件做相应的显示设置
得到堆栈中fragment的数量:
mFragmentManager.getBackStackEntryCount()
09.28
完成进度条自定义
layer-list:将多个图片或上面两种效果按照顺序层叠起来
maxHeight属性
转载于:https://blog.51cto.com/jensen/1711245