开始时间:2016-7-12
日期:7-12
工作量 :通过一个简单的listview 模拟出音乐播放文件,并在listview中显示出来。
技术:定义了一个listview ,自定义一个Music类,MusicAdapter 继承至ArrayAdapter.布局文件listview_item.用于显示listview的子项。
耗时:一个晚上
完成度:100%
日期:7-13
工作量:将模拟量替换掉,从手机数据库中去读取音乐文件并将其如昨天模拟的数据一样在列表中显示出来。音乐文件实现点击播放功能,以及播放,暂停,上一曲,下一曲的功能。
技术:替换掉昨天的模拟类,并将其改名Music->Mp3Info,MusicAdapter->Mp3InfoAdapter仍然继承至ArrayAdapter.播放功能:使用系统自带的MediaPlayer类实现了播放功能。并且实现了点击播放功能,上一曲,下一曲,(主要是通过 position 来定位,然后定位到需要播放的歌曲,歌曲之前读取的时候存在一个List集合中)。
耗时:一天
完成度:100%
日期:7-14
工作量:实现歌曲播放时间变化,歌曲进度条变化,a-z滑动条。
技术:播放时间变化运用了Handler的postDelayed(Runnable, long)方法。
Handler handler=new Handler();
Runnable runnable=new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
//要做的事情 下面的语句很有趣
handler.postDelayed(this, 2000);
}
};
耗时:1天
完成度:1/3 只完成了时间变化。
原因:晚上去看电影大鱼海棠
日期:7-15
内容:完成7-13的剩余任务
耗时:一天
完成度: 1/2 完成了进度条的实时变化,以及拖动进度条改变歌曲播放进度。
难度点:在子线程中progress无法随着主线程时时更新。
解决方法:用mediaPlayer自带的getcurrent()方法获取时长,放弃了原来的打点计时的笨拙方法。
日期:7-16
内容:完成7-14 剩余任务
耗时 : 一天
完成度 :0% (原因: 今中午去准备聚餐,晚上拿到修改比赛文档的任务)