getContentResolver().query()で指定できるURIってどんな種類があるの?
下記の記事の続編です。
Androidのコンテントプロバイダで使えるURI一覧(1)
Androidのコンテントプロバイダで使えるURI一覧(2)
今回は、MediaStore関係のURIの一覧です。
MediaStore.Images.Media.INTERNAL_CONTENT_URI
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
カメラで撮影した画像などの画像データを取得できるURIです。
INTERNAL_CONTENT_URIは端末内部のメディアに保存したデータが取得でき、EXTERNAL_CONTENT_URIはSDカード等の外部メディアに保存したデータが取得できます。
Android2.1のエミュレータで試したところ、メインメニューのカメラを起動して、適当に撮影してみてみましたが、その撮影した写真の件数分のレコードが取得できました。
ただ、私の場合、カメラで撮影した画像は外部メディアに保存されていたようでした。
実機が無いので使い方がよくわかりませんが。
このMediaStore.Images.Mediaは、パーミッションは不要のようです。
MediaStore.Audio.Media.INTERNAL_CONTENT_URI
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
オーディオデータを取得できるURIです。
INTERNAL_CONTENT_URIは端末内部のメディアに保存したデータが取得でき、EXTERNAL_CONTENT_URIはSDカード等の外部メディアに保存したデータが取得できます。
Android2.1のエミュレータを動かしてみましたが、具体的にどんなデータを扱えるのかよくわかりませんでした。
録音機能があれば録音データを取り扱えると思いますが、、、
やはり実機が欲しいところですねぇ・・・。
このMediaStore.Audio.Mediaは、パーミッション不要です。
スポンサーリンク
MediaStore.Video.Media.INTERNAL_CONTENT_URI
MediaStore.Video.Media.EXTERNAL_CONTENT_URI
カメラで撮影した動画などの動画データを取得できるURIです。
INTERNAL_CONTENT_URIは端末内部のメディアに保存したデータが取得でき、EXTERNAL_CONTENT_URIはSDカード等の外部メディアに保存したデータが取得できます。
Android2.1のエミュレータで試したところ、メインメニューのカメラを起動して、動画を撮影してみましたが、途中でエラーが発生してしまって確認できませんでした。
うむむ、実機がいよいよ欲しいです。
このMediaStore.Video.Mediaは、パーミッションは不要のようです。
MediaStore.Audio.Albums.INTERNAL_CONTENT_URI
MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI
すみません。実機が無いので確認が全く出来ないのですが・・・。
Androidエミュレータを動かしてみたところ、メインメニュー内にある「音楽」というAndroidアプリがありました。
おそらく、この音楽アプリで保存したデータが取得できるのかなぁという予想です。
APIリファレンスには、「オーディオファイルのアーティスト情報を含む」というニュアンスの概要が記されていますので、おそらく・・・。
これも、INTERNAL_CONTENT_URIは端末内部のメディアに保存したデータが取得でき、EXTERNAL_CONTENT_URIはSDカード等の外部メディアに保存したデータが取得できるんだと思います。
MediaStore.Audio.Albumsは、パーミッション不要です。
MediaStore.Video.Thumbnails.INTERNAL_CONTENT_URI
MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI
AndroidのAPIリファレンスには、MediaStore.Video.Thumbnailsクラスの概要に下記のように書いています。
「このクラスは、二通りのサムネイルを取得できる。512 x 384サイズと、96 x 96サイズだ。」みたいな。
「サムネイル」ってご存知でしょうか。
カメラで撮影した写真とか動画の一覧画面で、画像や動画の最初のシーンなんかが、小さいサイズに縮小されて画面上に数枚表示される画面の事です。
APIリファレンスでは、それしか書いてないので、何のサムネイルが取得できるのかよくわからないのですが、MediaStore.Videoなので、おそらく動画のサムネイルのリストが取得できるのだと思います。
何度もくどいですが、私は実機を持ち合わせていませんので、推測ですけど、多分間違っていないと思います・・・。
これも、INTERNAL_CONTENT_URIは端末内部のメディアに保存したデータが取得でき、EXTERNAL_CONTENT_URIはSDカード等の外部メディアに保存したデータが取得できるんだと思います。
MediaStore.Video.Thumbnailsは、パーミッション不要です。
今回の記事を書くにあたり、久しぶりにかなりAndroid実機が欲しくなりましたね。
購入しようかな・・・。
なお、冒頭でも紹介しましたが、コンテントプロバイダで使えるURI一覧の他の記事は下記です。
Androidのコンテントプロバイダで使えるURI一覧(1)
Androidのコンテントプロバイダで使えるURI一覧(2)
Androidのコンテントプロバイダで使えるURI一覧(4)