1. 程式人生 > >ContentProvider之通過ContentResolver獲取影象、視訊、音訊舉例

ContentProvider之通過ContentResolver獲取影象、視訊、音訊舉例

MediaStore中定義了一系列的資料表格,通過ContentResolver提供的查詢介面,我們可以得到各種需要的媒體資訊。通過以下兩個URI可以掃描裝置外部和內部的媒體檔案。Android系統提供了MediaProvider,MediaStore,MediaScanner介面,通過Content Provider的方式提供給使用者。以下是一個簡單的例子:(注意,專案使用AndroidAnnotation框架)

package com.example.testaa;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;

import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;
import android.widget.Button;
import android.widget.TextView;
/*
 *@author: ZhengHaibo  
 *web:     http://blog.csdn.net/nuptboyzhb
 *mail:    
[email protected]
*2014-4-15 Nanjing,njupt,China */ @EActivity(R.layout.activity_main) public class MainActivity extends Activity { @ViewById Button getImage; @ViewById Button getVideo; @ViewById Button getAudio; @ViewById TextView myTextView; /** * 載入完View之後進行的處理 */ @AfterViews void afterViewProcess() { } /** * 獲取影象列表 */ @Click void getImage() { String[] projection = { MediaStore.Images.Media._ID, MediaStore.Images.Media.DISPLAY_NAME, MediaStore.Images.Media.DATA }; String orderBy = MediaStore.Images.Media.DISPLAY_NAME; Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; getContentProvider(uri,projection, orderBy); } /** * 獲取視訊列表 */ @Click void getVideo() { // TODO Auto-generated method stub String []projection = { MediaStore.Video.Media._ID, MediaStore.Video.Media.DISPLAY_NAME, MediaStore.Video.Media.DATA}; String orderBy = MediaStore.Video.Media.DISPLAY_NAME; Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; getContentProvider(uri,projection, orderBy); } /** * 獲取音訊列表 */ @Click void getAudio() { String []projection = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.SIZE}; String orderBy = MediaStore.Audio.Media.DISPLAY_NAME; Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; getContentProvider(uri,projection, orderBy); } /** * 獲取ContentProvider * @param projection * @param orderBy */ public void getContentProvider(Uri uri,String[] projection, String orderBy) { // TODO Auto-generated method stub List<HashMap<String, String>> listImage = new ArrayList<HashMap<String, String>>(); Cursor cursor = getContentResolver().query(uri, projection, null, null, orderBy); if (null == cursor) { return; } while (cursor.moveToNext()) { HashMap<String, String> map = new HashMap<String, String>(); for(int i=0;i<projection.length;i++){ map.put(projection[i], cursor.getString(i)); System.out.println(projection[i]+":"+cursor.getString(i)); } listImage.add(map); } myTextView.setText(listImage.toString()); } }

專案下載地址:http://download.csdn.net/detail/nuptboyzhb/7220227

擴充套件閱讀:

相關推薦

ContentProvider通過ContentResolver獲取影象視訊音訊舉例

MediaStore中定義了一系列的資料表格,通過ContentResolver提供的查詢介面,我們可以得到各種需要的媒體資訊。通過以下兩個URI可以掃描裝置外部和內部的媒體檔案。Android系統提供了MediaProvider,MediaStore,MediaScanne

Android通過ContentResolver獲取手機圖片和視訊的路徑和生成縮圖和縮圖路徑

1 問題 獲取手機所有圖片和視訊的路徑和生成圖片和視訊的縮圖和縮圖路徑 生成縮圖我們用的系統函式 public static Bitmap getThumbnail(ContentResolver cr, long origId, int kind, Opti

iOS通過PHAsset/MediaPlayer獲取本地照片視訊音訊學習總結

得閒記錄並回顧一下本地資源獲取方式,有不正確的地方,還望指正。 背景介紹 需求:獲取並展示iOS裝置記憶體儲的圖片、音訊、視訊 環境:Xcode10 庫:PHPhotos.h,MediaPlayer 說明:裝置內圖片來自於相簿,視訊來自於相簿和媒體庫,音訊來於自

Python通過API獲取資料庫資料

後臺給出一個API,需要通過API來獲取資料。需要藉助 import requests url = "http://XXXXXX" token = "XXXXXX" def get_username(token): headers = {"Authorizati

學習淘淘商城第八十九課(單點登入通過token獲取使用者資訊)

        首先還是看介面文件關於通過token獲取使用者資訊的說明,如下圖所示。             看了說明文件我們便知道該怎麼做了,在taotao-sso-interface工程的UserService介面類中新增一個介面,如下圖所示。          

影象視訊演算法Linux

最近兩個月接觸智慧路由器功能模組開發,準備寫些文章與大家分享——網上相關資料是在太少。 智慧路由器開發實際是涉及Linux的開發(非Linux核心的除外),相比於以往路由器,智慧路由器增加了許多個性化功能,力圖極大地提高客戶的使用體驗,智慧路由器周圍功能如

第二十篇 Android獲取本機圖片音訊視訊文件以及本地資料夾列表

android獲取本機圖片資料夾,即相簿,以及相簿下的所有圖片的方法,貼出工具類,方便後續使用,效果圖就類似百度網盤上傳圖片的 選擇相簿介面和點選某個相簿選擇圖片的介面. FileManager類: public class FileManager { p

android獲取音訊視訊圖片資訊

MediaStore提供了音訊、視訊、圖片資訊,我們可以通過ContentResolver進行讀取。 首先給出了Audio,Video和Image三個類,然後分別定義了三個Provider:AudioProvider,VideoProvider,ImageProvider

Unity&Android二:獲取手機電量資訊網路狀況

Unity&Android之二:獲取手機電量資訊、網路狀況 遊戲中經常會在UI顯示電量以及網路狀況 手機電量包括: 1、當前正在充電還是放電 2、當前電量值 網路包括: 1、如果是WIFI,WIFI訊號強度 2、如果是流量,訊號強度等資料

Android中通過Intent 呼叫圖片視訊音訊錄音拍照

1. android中的一個隱藏的類:ContentType,其中定義了android支援的mimetype型別   類的路徑: com.google.android.mms.ContentType 2. Action為Intent.ACTION_GET_CONTE

matlab通過攝像頭獲取影象進行處理

安裝攝像頭 筆記本自帶也行,或者買一個usb攝像頭,安裝驅動之後檢查能否正常獲取。有時候即使usb攝像頭在電腦硬體中顯示了,在matlab中還是不能呼叫攝像頭,可以在命令視窗中寫一句程式碼:imaqreset  ,以使得matlab載入電腦中能夠獲取圖片的硬體。輸入vid

linux通過ptrace獲取指定pthread執行緒的暫存器資訊

#include <stdio.h> #include <unistd.h> //for sleep #include <stdlib.h> //for exit

ROS+SLAM學習日誌(3)獲取影象視訊

在ROS中,一般會有一個節點用於展示攝像頭採集到的影象。這是一個包含複雜資料的topic,一般最好用特殊的工具來顯示與分析。因為這裡根據攝像頭裝置的不同需要不同的launch檔案來啟動攝像頭,我這裡用的是自己機器人的檔案,或者也可以用網上的例程用自己筆記本攝像頭

初學者如何快速打好Java基礎 學習路線圖視訊書籍開發工具一條龍服務

我從來不認為學好能和快速劃上等號,對於技術而言,快速掌握的只是大體的技術框架,想要深入學習,還是需要時間的沉澱和技術經驗的積累。 對於初學者而言,不要妄想在段時間內快速掌握Java的全部內容,一開始打好基礎很重要,而且越大的公司,越注重考察你對基礎的深入理解。 1、 Java基礎知

springboot中配置addResourceHandler和addResourceLocations,使得可以從磁碟中讀取圖片視訊音訊

磁碟目錄 WebMvcConfig的程式碼 //對靜態資源的配置 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { String os = System.ge

阿里雲 javascript上傳檔案(圖片視訊壓縮包等檔案)到 物件儲存 OSS ,返回上傳檔案圖片音訊視訊等URL路徑

目的:前端上傳檔案(圖片、視訊、音訊等)到阿里雲伺服器裡面,並且獲得上傳檔案的URL路徑 前提:首先要買一個阿里雲伺服器,自己百度不會; 第一步:登入阿里雲賬號,點選管理控制檯-->物件儲存 OSS 第二步:新建儲存空間(圖一、圖二) (圖一) (圖二

微閱是一款使用 MVP + Retrofit2 + Rxjava + dagger2 等框架開發的閱讀軟體。包括新聞視訊煎蛋三個模組,專案的大部分功能已經完成

WeiYue 專案地址:Will-Ls/WeiYue  簡介:微閱是一款使用 MVP + Retrofit2 + Rxjava + dagger2 等框架開發的閱讀軟體。包括新聞、視訊、煎蛋三個模組,專案的大部分功能已經完成 更多:作者   提 B

不可錯過的 GAN 資源:教程視訊程式碼實現89 篇論文下載

NIP 2016 對抗訓練 Workshop   【網頁】https://sites.google.com/site/nips2016adversarial/   【部落格】http://www.inference.vc/my-summary-of-adversarial-training-

用Python教你微信防撤回(文字圖片語音視訊名片等...)

大家在使用微信過程中,有時候訊息還沒看到,就被撤回了。畢竟好奇心大家都有,明知到訊息被撤回了,就更想去看一下是什麼內容心裡想著萬一是女神給我表白了呢.. 今天就用Python來做個微信防撤回的小功能。支援文字、圖片、語音、視訊、名片的防撤回。 思路:利用itchat庫將每次接收到的訊息進行快取。監

file input標籤支援圖片視訊多圖上傳

說明 1)file input 標籤的三個屬性合理使用可支援圖片上傳,視訊上傳,多圖上傳 2)即accept、capture、multiple三個屬性 各屬性介紹 1、accept屬性 直接開啟系統檔案目錄,規定在檔案上傳中伺服器只接受影象檔案 屬性