1 具体实现功能简介-网络/本地音乐
获取网络音乐
- 通过网络获取音乐的封面,音乐名称,网络音乐的URL
读取本地音乐
- 客户端启动,遍历cd卡,将cd卡中的音乐文件保存到一个ArrayList之中,保存音乐的路径.和音乐名称
通过listView进行显示音乐列表.给listView的item添加点击事件,点击item之后,Intent(是Activity和Activity连接的桥梁)获取item的数据,启动播放的Activity.播放的Acitvity进行播放此歌曲.
bmob云查找音乐代码
http://doc.bmob.cn/data/android/index.html#_5
搜索
网络搜索
//查找Person表里面id为6b6c11c537的数据
BmobQuery<Person> bmobQuery = new BmobQuery<Person>();
bmobQuery.getObject("6b6c11c537", new >QueryListener<Person>() {
@Override
public void done(Person object,BmobException e) {
if(e==null){
toast("查询成功");
}else{
toast("查询失败:" + e.getMessage());
}
}
});
本地搜索
- 获取手机sd卡,遍历sd卡,查找音乐文件,将歌曲名称和歌曲的绝对路径保存到一个ArrayList中
- 遍历一个ArrayList,将输入的歌名和ArrayList中的歌曲名称进行比较,发现ArrayList中的歌曲名称包含输入的歌名,则显示出来。
3.将结果显示到ListView中。
弹框如何实现
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());//创建弹框的Builder
builder.setTitle("请选择:");//标题
final AlertDialog dialog;//创建弹框对象
View view2 = LayoutInflater.from(getActivity()).inflate(R.layout.item_lv, null);//创建显示界面
builder.setView(view2);//将显示界面设置如弹框中
dialog = builder.create();//实例化弹框
TextView shouchang = (TextView) view2.findViewById(R.id.item_lv_shouchang);
shouchang.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
toastS("收藏成功");
videolove.add(videoAll.get(position));
videoloveID.add(videoAll.get(position));
dialog.dismiss();//将弹框取消
}
});
dialog.show( );
收藏
videolove --> ArrayList 保存我们收藏的音乐
保存的是音乐的绝对路径
videolove.add(videoAll.get(position));
videoloveID.add(videoAll.get(position));
音乐播放
mediaPlayer = MyMediaPlayer.getMediaPlayer(); //创建音乐播放对象
mediaPlayer.seekTo(int(跳转到那个时间)); //跳转到什么时间点,在进行播放
mediaPlayer.reset(); //初始化对象
mediaPlayer.setDataSource(url);//设置歌曲的路径,可以是本地音乐(绝对路径),也可以是url(网络歌曲)。
mediaPlayer.prepareAsync();//加载资源
mediaPlayer.setOnPreparedListener(new OnPreparedListener() { //监听资源是否加载完毕,如果加载完毕就进行播放
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();//播放音乐
}
});
如果实现界面跳转
Intent intent = new Intent(getActivity(), MusicActivity.class(要跳转的Activity));
intent.putExtra("key","携带的数据");
startActivity(intent);
下载
- 1.创建一个URL对象 URL
- 2.创建一个HTTP链接 HttpURLConnection
- 3.使用IO流获取数据 InputStream
歌词
读取歌词文件,放入ArrayList中,将歌词放到TextView,每秒刷新一次
listview如何实现点击事件
通过观察者设计模式,将点击事件传到监听事件中
LV.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
}
});
LV.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,final int position, long id) {
}
});
技术
mvc设计模式
网友评论