適用於androidq的簡易選擇器。
基於協程的系統檔案選擇,系統拍照,系統裁剪。
uri轉為file的究極解決方案。
新增依賴
allprojects }}
dependencies
新增許可權
選擇器,實現iqfimgloader介面,此舉是為了解決不同專案的使用不同載入庫的問題和減少庫體積。
qfimgloader.getinstance().init(glideloader()) //初始化載入器
2.配置引數,啟動選擇庫。
qfhelper.getinstance()
.isneedgif(false) //是需要gif,預設false
.isneedcamera(true) //是否需要拍照選項,預設true
.setloadnum(30) //設定分頁載入每次載入多少張,預設&建議:30,可根據手機解析度實際情況大小進行調整,注意:該值最少應該保證首次載入充滿全屏,否則無法載入更多
.start(this, 0x001) //第乙個引數:activity或者fragment,第二個引數requestcode
3.獲取選取後的結果
override fun onactivityresult(requestcode: int, resultcode: int, data: intent?) }}
}}
檔案操作
本庫的檔案操作包括系統檔案選擇,系統拍照,系統裁剪三種。都是基於攜程+ghostfragment的方式,因此需要在協程中使用,操作完成後可直接獲取到返回值。
返回值根據泛型型別返回對應型別的結果:uri:檔案的uri對線,file:檔案物件,string:檔案的絕對路徑。
更多使用細節,可見原始碼注釋,寫的很詳細。
1.系統檔案選擇
globalscope.launchui
img.setimageuri(uri)
}
2.系統拍照
}
3.系統裁剪
globalscope.launchui
}
如何獲取content://uri
格式的uri檔案獲取對應的file物件,一直是日常開發中的痛點,網上各種解決方案都不盡人意,本庫旨在適配各種可能存在的情況,如果還是獲取不到會將該uri寫入沙盒環境,
再獲取對應的file物件,這樣基本能100%保證獲取到uri的file物件。
androidq開始無法訪問非作用域儲存內的檔案(沙盒環境),只能通過uri去訪問檔案,因此訪問外部儲存檔案只能,按照如上方法通過將uri寫入沙盒環境成新檔案,再獲取file。
使用本庫的uritofile
擴充套件方法即可,如下:
val file: file? = uri.uritofile(this@mainactivity)
android 10適配要點,作用域儲存
boxing
SwiftUI讀寫檔案基礎操作,解決檔案儲存問題
如何儲存和讀取檔案 如何將class和struct物件儲存到檔案中 如何將儲存到檔案中到資料再讀取回來 當您的應用程式不執行或裝置關閉時,您的應用程式可以將資料儲存到持久儲存在裝置中的檔案中。本章介紹如何以及在何處儲存和檢索檔案。它還討論了可操縱檔案的其他一些方式,例如應用程式如何彼此共享以及與雲共...
Android Q 將獲得大量的隱私保護功能
開發四年只會寫業務 分布式高併發都不會還做程式設計師?谷歌將於今年夏天推出的安卓系統新版本 android q,將帶來大量隱私保護的增強。關於新安卓系統,谷歌已經推送 android q beta 1,相關資訊也可以在博文及 android q 的支援頁面看到。android q 預計在 8 月底正...
Android Q 將獲得大量的隱私保護功能
谷歌將於今年夏天推出的安卓系統新版本 android q,將帶來大量隱私保護的增強。關於新安卓系統,谷歌已經推送 android q beta 1,相關資訊也可以在博文及 android q 的支援頁面看到。android q 預計在 8 月底正式推出。那麼,新系統以隱私為重點的新功能,都有那些呢?...