Android视频播放项目总结之 得到手机中的所有视频数据
来源:互联网 发布:淘宝上的代购靠谱吗 编辑:程序博客网 时间:2024/05/16 10:27
开子线程handler内容提供者得到手机中的所有视频数据。
由于手机中的视频是别的程序读出来存到数据库中的,我们只能跨项目访问数据库中的数据,所以我们才会
使用内容提供者,访问到数据。
核心代码如下:
得到视频数据,并且分装到对象中,再把对象放到list中。
private void getVideodData() {
new Thread(new Runnable() {
@Override
public void run() {
listItems = new ArrayList<VideoItem>();
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String[] projection = { MediaStore.Video.Media.DISPLAY_NAME,
MediaStore.Video.Media.DURATION, MediaStore.Video.Media.SIZE,
MediaStore.Video.Media.DATA };
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(0);//视频的名称
long duration = cursor.getLong(1);//视频的时长
long size = cursor.getLong(2);//视频的大小
String data = cursor.getString(3);//视频sd卡下的绝对路劲
//一个视频信息对应一个对象
VideoItem item = new VideoItem();
item.setName(name);
item.setDuration(duration);
item.setSize(size);
item.setData(data);
listItems.add(item);
}
cursor.close();
Message message = handler.obtainMessage();
int what = 1;
handler.sendEmptyMessage(what);
}
}).start();
}
/**
* handler接收到消息判断是否有数据,如果有数据那就把数据绑定到listview中
*/
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
/*
* 绑定适配器步骤:
* 得到数据
* 实例化适配器
* 绑定适配器
*/
if (msg.what == 1) {
if (listItems != null && listItems.size() > 0) {
//有视频
videolist_tv_ondata.setVisibility(View.GONE);
MyBaseAdapter adapter = new MyBaseAdapter(
listItems, VideoListActivity.this);
videolist_lv_list.setAdapter(adapter);
} else {
//没有视频
videolist_tv_ondata
.setVisibility(View.VISIBLE);
}
}
};
};
- Android视频播放项目总结之 得到手机中的所有视频数据
- Android视频播放项目总结之 点击listview条目调用手机上其他的视频播放器播放
- android 播放项目中的视频
- Android 播放手机视频
- Android视频播放项目总结之 使用VideoView定义自己的视频播放器
- Android视频播放项目总结之 让别的程序能调用我的视频播放器
- Android视频播放项目总结之 思路梳理
- Android视频播放项目总结之 代码分享
- Android视频播放项目总结之 使用Android中的videoView自己定义,暂停,播放时间,总时间,进度等。
- Android 视频播放总结
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(一)
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(二)
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(三)
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(四)
- Android之视频播放
- android之视频播放
- android之播放视频
- android 之 视频播放
- 网络的沟通-子网掩码
- 数据结构 - 图的存储结构
- 《C语言及程序设计》实践参考——删除数组元素
- 《C语言及程序设计》实践参考——数组的排序
- 《C语言及程序设计》实践项目——数组与函数应用
- Android视频播放项目总结之 得到手机中的所有视频数据
- 辛星浅析git中查看某个文件的历史
- sb约束之UiScrollView内部控件约束
- 数据结构 - 图的遍历
- 《C语言及程序设计》实践参考——查成绩
- Android视频播放项目总结之 适配器绑定视频信息列表显示到界面(适配器简单优化)
- Boost线程库学习笔记
- 使用UltraISO制作U盘启动盘的方法(图文教程)
- Java Notes-10