Android图片浏览器
来源:互联网 发布:mysql数据库编程 编辑:程序博客网 时间:2024/04/18 09:24
当手机开机、插拔USB连接时,Android系统会启动MediaScanner,扫描SD卡和内存里面的文件,扫描的结果保存在data/data/com.android.providers.media/databases/external.db下。通过DDMS可以找到,数据库中包含了图片、视频、音乐等文件的信息。开发者不用遍历文件,只要使用ContentProvider就可以获取SD卡中不同种类的文件列表。
数据库external.db:
sqlite3 external.db
.tables
所有的表:
album_art audio_genres images
album_info audio_genres_map log
albums audio_genres_map_noid search
android_metadata audio_meta searchhelpertitle
artist_info audio_playlists semc_metadata
artists audio_playlists_map semc_metadata_version
artists_albums_map files thumbnails
audio files_ext video
audio_ext files_with_ext videothumbnails
选择images并查询;
.mode column (.mode column 将设置为列显示模式,.header 将显示列名)
.header ON
select * from images;
结果如下:
_id|_data|_size|_display_name|mime_type|title|date_added|date_modified|description|picasa_id|isprivate|latitude|longitude|datetaken|orientation|mini_thumb_magic|bucket_id|bucket_display_name|width|height
86|/mnt/sdcard/DCIM/100ANDRO/DSC_0001.jpg|607597|DSC_0001.jpg|image/jpeg|DSC_0001|1371782044|1361346484||||||1361346484000|90|7241443144086764191|1278012876|100ANDRO|2048|1536
示例代码:
列表界面:
public class PlayerActivity extends Activity { private ListView listView; private CursorAdapter adapter; private Cursor cursor; private String path; @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); listView = (ListView)findViewById(R.id.listView); ContentResolver contentResolver = getContentResolver(); cursor = contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null); adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, new String[] { MediaStore.Images.ImageColumns.TITLE, MediaStore.Images.ImageColumns.SIZE }, new int[] { android.R.id.text1, android.R.id.text2 }); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub try { if (cursor.moveToPosition(position)) { path = cursor.getString(cursor.getColumnIndex("_data")); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } Intent intent = new Intent(PlayerActivity.this, ShowActivity.class); intent.putExtra("path", path); startActivity(intent); } }); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); cursor.close(); }}显示界面:
public class ShowActivity extends Activity { private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.show); imageView = (ImageView)findViewById(R.id.show); Intent intent = getIntent(); String path = intent.getStringExtra("path"); BitmapDrawable drawable = new BitmapDrawable(getResources(), path); imageView.setImageDrawable(drawable); }}
MediaStore:基于SQLite的多媒体数据库,包含了视频、音频、图片等所有的多媒体文件的信息。
MediaStore.Audio:音频信息
MediaStore.Files:非媒体信息
MediaStore.Images:图片信息
MediaStore.Video:视频信息
MediaStore.MediaColumns:部分MediaProvider表的常用列
- Android图片浏览器
- android 图片浏览器 demo
- android高仿微信图片浏览器
- 【Android】简单图片浏览器
- Android 简单图片浏览器
- Android--网络图片浏览器
- android 图片浏览器 APP 源码
- Android开发之图片浏览器
- Android开发之图片浏览器
- Android幻灯片式图片浏览器
- Android幻灯片式图片浏览器
- Android 调用系统图片浏览器
- Android 简单图片浏览器 ImageView
- 疯狂Android之图片浏览器
- android开发简单图片浏览器
- Android ImageSwitcher图片浏览器实例
- Android超炫图片浏览器代码
- android学习笔记15:图片浏览器
- 前端性能优化:使用事件委托
- 算法导论 3-3
- 【ubantu】Virtualbox 下 windows XP系统无法开机
- MySQL中int值范围的分析
- RMQ问题
- Android图片浏览器
- EXCEL2010\2007中如何出现在数据透视表向导
- 取消反转屏的快捷键的方法
- 关于C#静态构造函数的几点说明
- 关于应用程序启动时,提示空指针问题
- try-catch-finally中return的执行情况
- 云享 企业私有网盘 免费使用
- Ztree ajax关键字检索动态树
- poj 3264 RMQ