版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
SAF2023/9/28122023/9/28認識SAF
DocumentsProvider目錄CONTENT12文件檢索3參考教材:《Android應(yīng)用開發(fā)項目化教程》認識SAF來源SAF(存儲訪問框架:StorageAccessFramework)是Android4.4(API19級)引入的功能。SAF讓用戶能夠在其所有首選文檔存儲提供程序中方便地瀏覽并打開文檔、圖像以及其他文件。用戶可以通過易用的標準UI,以統(tǒng)一方式在所有應(yīng)用和提供程序中瀏覽文件和訪問最近使用的文件。1認識SAF組成文檔提供程序:一種內(nèi)容提供程序,允許存儲服務(wù)(如Google云端硬盤)顯示其管理的文件。文檔提供程序作為DocumentsProvider類的子類實現(xiàn)。文檔提供程序的架構(gòu)基于傳統(tǒng)文件層次結(jié)構(gòu),但其實際數(shù)據(jù)存儲方式由您決定。Android平臺包括若干內(nèi)置文檔提供程序,如Downloads、Images和Videos;客戶端應(yīng)用:一種自定義應(yīng)用,它調(diào)用ACTION_OPEN_DOCUMENT和ACTION_
CREATE_DOCUMENTIntent并接收文檔提供程序返回的文件;選取器:一種系統(tǒng)UI,允許用戶訪問所有滿足客戶端應(yīng)用搜索條件的文檔提供程序內(nèi)的文檔。1認識SAF主要功能允許用戶瀏覽所有文檔提供程序而不僅僅是單個應(yīng)用中的內(nèi)容。讓應(yīng)用獲得對文檔提供程序所擁有文檔的長期、持久性訪問權(quán)限。用戶可以通過此訪問權(quán)限添加、編輯、保存和刪除提供程序上的文件。支持多個用戶帳戶和臨時根目錄。1DocumentsProvider認識DocumentsProviderDocumentsProvider:一個特殊的ContentProvider,讓一個存儲服務(wù)可以對外展示自己所管理的文件。數(shù)據(jù)結(jié)構(gòu):文件目錄層次2DocumentsProvider認識DocumentsProvider特性每個文檔提供程序都會報告一個或多個作為探索文檔結(jié)構(gòu)樹起點的“根目錄”。每個根目錄都有一個唯一的COLUMN_ROOT_ID,并且指向表示該根目錄下內(nèi)容的文檔(目錄)。根目錄采用動態(tài)設(shè)計,以支持多個帳戶、臨時USB存儲設(shè)備或用戶登錄/注銷等用例;每個根目錄下都有一個文檔。該文檔指向1至N個文檔,而其中每個文檔又可指向1至N個文檔;每個存儲后端都會通過使用唯一的COLUMN_DOCUMENT_ID引用各個文件和目錄來顯示它們。文檔ID必須具有唯一性,一旦發(fā)放便不得更改,因為它們用于所有設(shè)備重啟過程中的永久性URI授權(quán);2DocumentsProvider認識DocumentsProvider特性文檔可以是可打開的文件(具有特定MIME類型)或包含附加文檔的目錄(具有MIME_TYPE_DIRMIME類型);每個文檔都可以具有不同的功能,如COLUMN_FLAGS所述。例如,F(xiàn)LAG_SUPPORTS_WRITE、FLAG_SUPPORTS_DELETE和FLAG_SUPPORTS_THUMBNAIL。多個目錄中可以包含相同的COLUMN_DOCUMENT_ID。2DocumentsProvider控制流2DocumentsProvider控制流注意事項在SAF中,提供程序和客戶端并不直接交互??蛻舳苏埱笈c文件交互(即讀取、編輯、創(chuàng)建或刪除文件)的權(quán)限;交互在應(yīng)用觸發(fā)IntentACTION_OPEN_DOCUMENT或ACTION_CREATE_DOCUMENT后開始。Intent可能包括進一步細化條件的過濾器;Intent觸發(fā)后,系統(tǒng)選取器將檢索每個已注冊的提供程序,并向用戶顯示匹配的內(nèi)容根目錄;選取器會為用戶提供一個標準的文檔訪問界面,但底層文檔提供程序可能與其差異很大。2文件檢索編寫客戶端應(yīng)用設(shè)置Intent的ActionAndroid4.3及更低版本ACTION_PICKACTION_GET_CONTENTAndroid4.4及更高版本ACTION_OPEN_DOCUMENT(顯示一個由系統(tǒng)控制的選取器UI)3文件檢索編寫客戶端應(yīng)用搜索文檔當應(yīng)用觸發(fā)ACTION_OPEN_DOCUMENTIntent時,后者會啟動一個選取器來顯示所有匹配的文檔提供程序在Intent中添加類別CATEGORY_
OPENABLE可對結(jié)果進行過濾,以僅顯示可以打開的文檔(如圖像文件)語句intent.setType("image/*")可做進一步過濾,以僅顯示MIME數(shù)據(jù)類型為圖像的文檔3文件檢索編寫客戶端應(yīng)用處理結(jié)果3文件檢索編寫客戶端應(yīng)用檢查文檔元數(shù)據(jù)3文件檢索編寫客戶端應(yīng)用打開文檔位圖3文件檢索編寫客戶端應(yīng)用打開文檔獲取InputStream3文件檢索編寫客戶端應(yīng)用創(chuàng)建新文檔ACTION_CREATE_DOCUMENT創(chuàng)建新文檔后,即可在onActivityResult()中獲取其URI,以便繼續(xù)向其寫入內(nèi)容。3文件檢索編寫客戶端應(yīng)用刪除文檔如果獲得了文檔的URI,并且文檔的Document.COLUMN_FLAGS包含SUPPORTS
_DELETE,便可以刪除該文檔。3文件檢索編寫客戶端應(yīng)用編輯文檔觸發(fā)ACTION_OPEN_DOCUMENTIntent并使用類別CATEGORY_OPENABLE以僅顯示可以打開的文檔。3文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版杉木林木材市場調(diào)研與買賣預測合同3篇
- 二零二五年幼兒園幼兒安全防護責任合同2篇
- 2025年度智能家居門窗系統(tǒng)安裝及售后服務(wù)合同范本3篇
- 二零二五版農(nóng)用車租賃管理及技術(shù)支持合同3篇
- 2025年度木工材料采購與供應(yīng)合同范本4篇
- 二零二五年礦山轉(zhuǎn)讓協(xié)議及礦產(chǎn)資源開發(fā)運營合同3篇
- 二零二五年度投資擔保公司產(chǎn)業(yè)投資基金合同
- 課題申報參考:明清江南文人居室陳設(shè)藝術(shù)研究
- 2025年度城市地下綜合管廊配電箱柜安全防護采購合同4篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)合作聘請兼職勞務(wù)合同
- 人工智能算法與實踐-第16章 LSTM神經(jīng)網(wǎng)絡(luò)
- 17個崗位安全操作規(guī)程手冊
- 數(shù)學史簡介課件可編輯全文
- 2025年山東省濟南市第一中學高三下學期期末統(tǒng)一考試物理試題含解析
- 中學安全辦2024-2025學年工作計劃
- 網(wǎng)絡(luò)安全保障服務(wù)方案(網(wǎng)絡(luò)安全運維、重保服務(wù))
- 2024年鄉(xiāng)村振興(產(chǎn)業(yè)、文化、生態(tài))等實施戰(zhàn)略知識考試題庫與答案
- 現(xiàn)代科學技術(shù)概論智慧樹知到期末考試答案章節(jié)答案2024年成都師范學院
- 軟件模塊化設(shè)計與開發(fā)標準與規(guī)范
- 2024年遼寧鐵道職業(yè)技術(shù)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 有機農(nóng)業(yè)種植模式
評論
0/150
提交評論