最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android利用ContentProvider獲取本地數(shù)據(jù)的方法

 更新時間:2018年04月24日 14:46:11   作者:YWQalways樂觀自信愛  
這篇文章主要介紹了Android利用ContentProvider獲取本地數(shù)據(jù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

上一篇,我們講到ContentProvider的主要功能是,提供共享數(shù)據(jù)給其他應(yīng)用使用。在Android系統(tǒng)內(nèi)部,同樣提供了共享數(shù)據(jù),查看 android.provider 包下,發(fā)現(xiàn)有以下的共享數(shù)據(jù)

  1. 本地多媒體(圖片、音視頻等)
  2. 通訊錄聯(lián)系人
  3. 通話記錄
  4. 短信記錄
  5. ...

當(dāng)然,這些數(shù)據(jù)必須通過用戶授權(quán)后才可以調(diào)用,所以在調(diào)用前請申請對應(yīng)的權(quán)限(6.0系統(tǒng)以上)

復(fù)制代碼 代碼如下:
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1000);

獲取數(shù)據(jù)

getContentResolver()的查詢方法

query(@RequiresPermission.Read @NonNull Uri uri,
    @Nullable String[] projection, @Nullable String selection,
    @Nullable String[] selectionArgs, @Nullable String sortOrder)

其中參數(shù)的含義

uri 目標(biāo)的uri路徑

圖片為 MediaStore.Images.Media.EXTERNAL_CONTENT_URI (外部)以及 MediaStore.Images.Media.INTERNAL_CONTENT_URI (內(nèi)部)

視頻為 MediaStore.Video.Media.EXTERNAL_CONTENT_URI

音頻為 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI

通訊錄 ContactsContract.Contacts.CONTENT_URI

通話記錄 CallLog.Calls.CONTENT_URI

短信記錄 Telephony.Sms.CONTENT_URI

  1. projection 查詢結(jié)果需要哪一些屬性,null的時候返回所有
  2. selection 查詢條件
  3. selectionArgs 對應(yīng)查詢條件的參數(shù)
  4. sortOrder 排列條件

以圖片為例子

如果你不知道有哪些字段,可以通過<code>MediaStore.Images.ImageColumns</code>查到所有字段,你也可以通過以下方式獲取所有的字段

String [] columnNames = mCursor.getColumnNames();

正確姿勢

//圖片類型的Uri路徑
final Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
//按照圖片修改時間,篩選出jpeg和png類型的圖片
Cursor mCursor =mContext.getContentResolver()
  .query(uri,null,MediaStore.Images.ImageColumns.MIME_TYPE + "=? or "+ MediaStore.Images.ImageColumns.MIME_TYPE + "=?",
  new String[]{"image/jpeg", "image/png"}, MediaStore.Images.Media.DATE_MODIFIED); 
if(mCursor!=null){

while(mCursor.moveToNext()){

//獲取圖片路徑
String path = mCursor.getString(mCursor
    .getColumnIndex(MediaStore.Images.ImageColumns.DATA));
//獲取修改日期
long date = mCursor.getLong(mCursor
    .getColumnIndex(MediaStore.Images.ImageColumns.DATE_MODIFIED));

//do something
}
}

由于數(shù)據(jù)量可能會很大,建議將查詢等操作放到子線程進(jìn)行,避免阻塞主線程

利用ContentProvider,我們既可以獲取本地的圖片,實現(xiàn)我們自定義的選圖功能,可以獲取通訊錄,實現(xiàn)自定義的聯(lián)系人界面,也可以獲取短信記錄,完成對應(yīng)的頁面功能效果。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android 校驗email是否合法實現(xiàn)代碼

    Android 校驗email是否合法實現(xiàn)代碼

    這篇文章主要介紹了Android 校驗email是否合法實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Android使用Notification在狀態(tài)欄上顯示通知

    Android使用Notification在狀態(tài)欄上顯示通知

    這篇文章主要為大家詳細(xì)介紹了Android使用Notification在狀態(tài)欄上顯示通知,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android開發(fā)實現(xiàn)橫向列表GridView橫向滾動的方法【附源碼下載】

    Android開發(fā)實現(xiàn)橫向列表GridView橫向滾動的方法【附源碼下載】

    這篇文章主要介紹了Android開發(fā)實現(xiàn)橫向列表GridView橫向滾動的方法,結(jié)合實例形式分析了Android橫向列表GridView實現(xiàn)橫向滾動的相關(guān)布局與功能實現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2018-01-01
  • 實例詳解Android Selector和Shape的用法

    實例詳解Android Selector和Shape的用法

    shape和selector是Android UI設(shè)計中經(jīng)常用到的,比如我們要自定義一個圓角Button,點擊Button有些效果的變化,就要用到shape和selector,通過本文結(jié)合代碼實例給大家詳解Android Selector和Shape的用法,感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Android自定義view實現(xiàn)日歷打卡簽到

    Android自定義view實現(xiàn)日歷打卡簽到

    這篇文章主要為大家詳細(xì)介紹了Android自定義view實現(xiàn)日歷打卡簽到,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • android編程實現(xiàn)類似于支付寶余額快速閃動效果的方法

    android編程實現(xiàn)類似于支付寶余額快速閃動效果的方法

    這篇文章主要介紹了android編程實現(xiàn)類似于支付寶余額快速閃動效果的方法,涉及Android時間函數(shù)的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 詳解Android通過修改配置文件設(shè)置wifi密碼

    詳解Android通過修改配置文件設(shè)置wifi密碼

    這篇文章主要介紹了詳解Android通過修改配置文件設(shè)置wifi密碼的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Android開發(fā)之子線程操作UI的幾種方法

    Android開發(fā)之子線程操作UI的幾種方法

    這篇文章主要介紹了Android開發(fā)之子線程操作UI的幾種方法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • Android中的Choreographer工作原理解析

    Android中的Choreographer工作原理解析

    Choreographer作為Android系統(tǒng)中重要的組件,負(fù)責(zé)協(xié)調(diào)App進(jìn)程的UI渲染與SurfaceFlinger進(jìn)程的數(shù)據(jù)合成,本文詳細(xì)分析了Choreographer的創(chuàng)建流程、VSYNC信號的調(diào)度和處理機(jī)制,揭示了其在UI渲染過程中的核心作用
    2024-10-10
  • Android實現(xiàn)視頻播放--騰訊瀏覽服務(wù)(TBS)功能

    Android實現(xiàn)視頻播放--騰訊瀏覽服務(wù)(TBS)功能

    TBS視頻播放器可以支持市面上幾乎所有的視頻格式,包括mp4, flv, avi, 3gp, webm, ts, ogv, m3u8, asf, wmv, rm, rmvb, mov, mkv等18種視頻格式。這篇文章主要介紹了Android實現(xiàn)視頻播放--騰訊瀏覽服務(wù)(TBS),需要的朋友可以參考下
    2018-07-07

最新評論

育儿| 奉贤区| 柞水县| 镇远县| 蛟河市| 乌苏市| 凤阳县| 咸阳市| 隆化县| 故城县| 黄石市| 天峻县| 公主岭市| 玉田县| 许昌市| 梁河县| 革吉县| 定边县| 旬阳县| 安顺市| 舞钢市| 宁城县| 东光县| 西安市| 凤台县| 芦溪县| 宜兴市| 黄浦区| 静安区| 丁青县| 宁德市| 夏河县| 锦州市| 芒康县| 鞍山市| 开远市| 台安县| 颍上县| 贺州市| 黔南| 巢湖市|