android应用开发:音乐播放器(2)--技术细节
2014-03-22 09:10
204 查看
1)共享数据类:
使用android系统提供的MediaStore.Audio.Media.EXTERNAL_CONTENT_URI获取本地所有音频文件,将获取到的音频文件封装到MusicInfoController类中,将该类交给继承自Application的MusicPlayerApp类来管理,这样就可以实现通过MusicInfoController类来共享程序中的数据。cursorMusic = musicInfoControl.getAllMusic();2)定义常量:由于程序中多处用到BroadCastReceiver和Intent中key的传递,所以有必要将key定义在Contants类中,并且将不同的key封装到内部类中,便于管理Contants(MusicPlayerMsg、MusicInfoBySharedPreference、ReceiverByBroadcast、MsgByBroadcast);3)保存程序退出数据:将程序的退出信息写到SharedPreference中,方便程序下次运行的时候,找到可用的资源。setMusicInfoToSP(String musicName, String musicPath);getMusicInfoBySP();4)播放暂停控制:设置标志位5)上一曲/下一曲:当前的歌曲id加1/减一后,将该值发给musicInfoControl,从musicInfoControl中获取歌曲的上一首/下一首信息6)播放进度的字符显示:在Service中创建进程,该进程每隔1秒将当前的播放状态(mplayer.getCurrentPosition())发送给主界面,主界面对接收到的数据进行格式化SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("mm:ss");
musicEndTime.setText(mSimpleDateFormat.format(durationTime));7)进度条的实时更新:设置当前值:musicProgressBar.setProgress(currentTime);设置最大值:musicProgressBar.setMax(durationTime);8)实时更新播放界面的歌曲标题:在播放列表界面的时候,通过广播将listview中被选择的歌曲信息发给播放主界面。9)监听播放结束信息setOnCompletionListener10)点击Menu按键就无法弹出菜单覆写activity的onKeyUp方法,并调用监听KeyEvent.KEYCODE_MENU,super.openOptionsMenu();
使用android系统提供的MediaStore.Audio.Media.EXTERNAL_CONTENT_URI获取本地所有音频文件,将获取到的音频文件封装到MusicInfoController类中,将该类交给继承自Application的MusicPlayerApp类来管理,这样就可以实现通过MusicInfoController类来共享程序中的数据。cursorMusic = musicInfoControl.getAllMusic();2)定义常量:由于程序中多处用到BroadCastReceiver和Intent中key的传递,所以有必要将key定义在Contants类中,并且将不同的key封装到内部类中,便于管理Contants(MusicPlayerMsg、MusicInfoBySharedPreference、ReceiverByBroadcast、MsgByBroadcast);3)保存程序退出数据:将程序的退出信息写到SharedPreference中,方便程序下次运行的时候,找到可用的资源。setMusicInfoToSP(String musicName, String musicPath);getMusicInfoBySP();4)播放暂停控制:设置标志位5)上一曲/下一曲:当前的歌曲id加1/减一后,将该值发给musicInfoControl,从musicInfoControl中获取歌曲的上一首/下一首信息6)播放进度的字符显示:在Service中创建进程,该进程每隔1秒将当前的播放状态(mplayer.getCurrentPosition())发送给主界面,主界面对接收到的数据进行格式化SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("mm:ss");
musicEndTime.setText(mSimpleDateFormat.format(durationTime));7)进度条的实时更新:设置当前值:musicProgressBar.setProgress(currentTime);设置最大值:musicProgressBar.setMax(durationTime);8)实时更新播放界面的歌曲标题:在播放列表界面的时候,通过广播将listview中被选择的歌曲信息发给播放主界面。9)监听播放结束信息setOnCompletionListener10)点击Menu按键就无法弹出菜单覆写activity的onKeyUp方法,并调用监听KeyEvent.KEYCODE_MENU,super.openOptionsMenu();
相关文章推荐
- 产品设计:Android应用-开发技术【数据缓存】
- 三巨头齐聚 ios、android、windows phone...移动应用技术开发
- Android技术专题]应用开发进阶必经之路之性能优化
- 【Android应用开发技术:用户界面】界面设计中易混淆的概念汇总
- 【Android应用开发技术:应用组件】Handler组件通信机制
- 【Android应用开发技术:媒体开发】拍照
- 【Android应用开发技术:媒体开发】录像
- Android开发中的技术细节
- 【技术分享】Android应用安全开发之浅谈加密算法的坑
- 【Android应用开发技术:媒体开发】打印
- 【Android应用开发技术:图像处理】Bitmap显示性能优化分析
- Android应用开发揭秘之优化技术
- 【Android应用开发技术:应用组件】Intent使用方法
- 【Android应用开发技术:媒体开发】MediaPlayer基本原理
- 【Android应用开发技术:用户界面】布局管理器
- 【Android应用开发技术:数据存储】章节列表
- 【Android应用开发技术:用户界面】SurfaceView
- 【Android应用开发技术:用户界面】9Patch图片设计
- 【Android应用开发技术:网络通信】Android HTTP编程
- 产品设计:Android应用-开发技术【数据缓存】