作为android初学者,最近把疯狂android讲义和疯狂Java讲义看了一遍,看到书中介绍的知识点非常多,很难全部记住,为了更好的掌握基础知识点,我将开发一个网络音乐播放器-EasyMusic来巩固下,也当作是练练手。感兴趣的朋友可以看看,有设计不足的地方也欢迎指出。
开发之前首先介绍下该音乐播放器将要开发的功能(需求):
1.本地音乐的加载和播放;
2.网络音乐的搜索,试听和下载;
3.音乐的断点下载;
4.点击播放图标加载专辑图片,点击歌词加载歌词并滚动显示(支持滑动歌词改变音乐播放进度);
5.支持基于popupWindow的弹出式菜单;
6.支持后台任务栏显示和控制。
该篇主要介绍音乐的回调播放及收藏音乐的实现,其中音乐的收藏需要用到SQLite数据库:
1.回调监听实现音乐的点击播放
该部分对MusicListFragment 的主要修改如下
public class MusicListFragment extends Fragment {
......
private CallBack mCallBack;
.....
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.musiclist, container, false);
musicListView = (ListView)view.findViewById(R.id.musicList);
musicListView.setAdapter(musicListAdapter);
musicListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView> parent, View view, int position, long id) {
//mCallBack指向MainActivity,实际调用的是MainActivity的onItemSelected方法
mCallBack.onItemSelected((String)dbMusic.get(position).get("url"));
TextView title = (TextView)view.findViewWithTag("title");
Toast.makeText(mContext, "title = " + title.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
return view;