相信每个使用Android系统的人都会知道Android系统中带有一个图库应用程序或者一个音乐播放器吧。打开图库可以查看到当前终端里所有的图片文件,而音乐播放器可以看到当前终端里所有的MP3文件,而这个打开的过程并不会消耗太多的时间。如果是在打开的时候去扫描所有内存,所有SD卡的话,相信相应是不会这么迅速的。
后来通过观察终端的Log,发现每次开机时,会有几条tag为MediaScanner的log信息,顾名思义,这是在扫描媒体库,会不会是这个后台服务实现了图库和音乐的快速相应呢?带着此问题去查阅API,果然发现一个强大的类——MediaStore,通过类名很容易能想到,这个类是用于存放多媒体的。此类包含三个内部类,分别为:
MediaStore.Audio: 存放音频信息
MediaStore.Image: 存放图片信息
MediaStore.Vedio: 存放视频信息
上诉三个内部类又有其各自的内部类,鉴于其结构比较复杂,就不详细去描述了,有兴趣的朋友可以结合API自行研究。
这三个内部类存储了多媒体的一些基本信息,并通过ContentProvider的数据共享的机制,将其共享出来,提供给各个应用程序使用。下面的例子展示了一个读取图片信息的示例:
其运行结果如下:
哈哈,又是显示了一张美女图片,这也算是枯燥编程中的一点调味吧。
MediaStore中的存储的信息是通过MediaScannerService这个后台服务维护的,MediaScannerService在接受到系统开机(BOOT_COMPLETED)、媒体挂载(MEDIA_MOUNTED)和扫描指令(MEDIA_SCANNER_SCAN_FILE)广播信息时,即启动MediaScannerService中扫描的相关代码(MediaScanner,此类被@hide隐藏,所以不多介绍)进行扫描和更新MediaStore内的信息。
通过MediaStore和MediaScannerService的配合使用,实现类似系统自带的图库和音乐播放器文件列表功能。
分享到:
相关推荐
在Android开发中,MediaStore是系统提供的一种接口,用于访问设备上的多媒体数据,包括图片、音频和视频。本文将深入探讨如何使用MediaStore检索SD卡上的视频,并展示在ListView中,以及实现点击列表项后播放视频的...
在Android开发中,MediaStore是一个重要的内容提供者,它允许我们访问设备上的多媒体数据,如图片、音频和视频。...在实际应用中,应考虑错误处理和权限检查,以确保在不同设备和Android版本上都能正常工作。
在Android开发中,`MediaStore`是一个非常重要的系统服务,它提供了一个统一的接口来访问设备上的多媒体数据,包括图片、视频和...通过熟练掌握这些技能,开发者可以创建出功能完善、用户体验良好的自定义相册应用。
- MediaStore是Android API的一部分,它为应用程序提供了统一的接口来访问存储在设备上的多媒体文件,如JPEG、PNG等格式的图片。 - 它将文件系统中的媒体文件组织成一个SQLite数据库,方便查询和操作。 2. **...
在Android开发中,理解和掌握MediaStore是构建多媒体应用的关键。 MediaStore提供了一系列的URI,用于访问不同类型的内容,如: 1. **MediaStore.Images**: 这个URI用于访问设备上的图像文件,包括照片和下载的...
《Python库mypy_boto3_mediastore详解与应用》 在Python的世界里,库是开发者们不可或缺的工具,它们极大地提升了开发效率和代码质量。本文将详细探讨一款名为`mypy_boto3_mediastore`的Python库,它是Python开发...
而PyPI(Python Package Index)是Python开发者的重要资源库,其中包含了aws-cdk.aws-mediastore-1.84.0.tar.gz这个软件包,它是将AWS MediaStore服务与Python应用程序紧密集成的关键工具。 首先,让我们深入了解...
《Python库mypy-boto3-mediastore-data详解及应用》 在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,极大地提升了开发效率。本文将详细讲解一款名为`mypy-boto3-mediastore-data`的Python库,它与...
《PyPI上的mypy-boto3-mediastore-1.14.57.0:Python库解析与应用》 PyPI(Python Package Index)是Python开发者们分享和获取Python软件包的主要平台,其中包含了丰富的开源库和工具。本文将深入探讨在PyPI上发布...
通过这些API,开发者能够轻松地在应用程序中集成MediaStore,实现对媒体文件的高效存储和快速访问。 在实际应用中,aws-cdk.aws-mediastore-1.39.0的使用可能包括以下几个关键步骤: 1. **设置环境**:安装必要的...
MediaStore是AWS(亚马逊网络服务)提供的一种服务,它能够为流媒体内容提供低延迟、高吞吐量的存储,特别适合实时视频流媒体和点播视频应用。 **Mypy与类型检查** `mypy` 是一个静态类型检查工具,它是Python的一...
《Python库mypy_boto3_mediastore详解与应用》 在Python的世界里,库是开发者们不可或缺的工具,它们极大地提高了开发效率并简化了复杂任务。本文将深入探讨一个名为mypy_boto3_mediastore的Python库,它是Python...
在"aws-cdk.aws-mediastore-1.78.0"这个模块中,AWS CDK为MediaStore服务提供了丰富的API和构造函数,让开发者能够轻松地在Python应用程序中创建、配置和管理MediaStore容器。这些构造函数允许设置容器的属性,如...
MediaStore服务的主要优势在于其优化的媒体分发,能够为实时和点播的流媒体应用提供稳定的性能。 myPy-boto3-mediastore-data-1.14.36.0这个库特别之处在于它将mypy的类型检查功能与Boto3的MediaStore Data API结合...
它特别适合存储视频、音频和其他媒体文件,用于实时和按需流媒体应用。通过使用myPy_boto3_mediastore,开发者可以利用myPy的类型检查能力来确保与MediaStore服务交互时的代码质量,避免因类型错误导致的问题。 在...
《Python库mypy-boto3-mediastore-data详解及应用》 在现代软件开发中,Python因其简洁的语法和强大的库支持而备受青睐。在众多的Python库中,mypy-boto3-mediastore-data是针对Amazon S3 MediaStore服务的一个类型...
Boto3是AWS(Amazon Web Services)的官方Python SDK,它允许开发者轻松地在Python应用中集成各种AWS服务。MediaStore是AWS提供的一个高性能、低延迟的对象存储服务,特别适合实时流媒体和在线视频点播等对数据传输...
标题中的“PyPI 官网下载 | mypy-boto3-mediastore-1.14.41.0.tar.gz”表明这是一个从Python Package Index(PyPI)官方源下载的软件包,名为“mypy-boto3-mediastore”。PyPI是Python开发者发布和分享他们编写的...
Boto3库设计简洁且功能强大,使得开发者能够轻松地构建面向AWS的服务应用。 而mypy-boto3-mediastore-data是Boto3的一个类型注解增强版,主要针对AWS的MediaStore数据接口。MediaStore是AWS提供的一种对象存储服务...
总结起来,mypy-boto3-mediastore-data库为Python开发者提供了一个高效且类型安全的工具,帮助他们在AWS MediaStore上管理和操作媒体数据,尤其适合那些需要处理实时流媒体应用的开发者。通过这个库,开发者可以充分...