前言,因为需要写一个播放器测试,需要读取到手机文件路径稿亏掘以获取到 mp4 格式文件的路径,进而播放,发现网络上的大多有问题,这里写下以作笔记记录。
1.存储方式分为三部分:
先理解, 路径、绝对路径/相对路径、规范路径空如
总结: 路径 包含 绝对键核路径/相对路径 , 绝对路径 包含 规范路径 ,而 相对路径 不包含 规范路径 。
真实返回:
(待写)
参考 https://www.jianshu.com/p/343b1daf16a0
externalCacheDir
getExternalCacheDirs (废弃?)
externalFilesDir
externalFilesDirs :kotlin是需要文件夹?
getExternalStoragePublicDirectory 废弃
虽然被弃用,但是仍旧可以使用,并且好用,但是必须获取 READ_EXTERNAL_STORAGE ,在 AndroidManifest.xml 加入
getExternalStorageDirectory 废弃
getExternalStorageState
StorageManager
content.filesDir
cacheDir
nobackupFiles
codeCacheDir
datadir
packageCodePath
packageResourcePath (废弃?)
dataDirectory kotlin里是 datadir
downloadCacheDirectory (废弃?)
rootDirectory (废弃?)
还是 getExternalStoragePublicDirectory 虽然已经废弃,但是还是很好用。暂时无法找新的方法代替,有新的再更新。
TLDR
在做的一个项目遇到这个问题凳掘,需要把server.host存在application.properties里面,但是在取value 的时候遇到了问题,总是提示 ”lateinit property *** has not been initialized“,找遍了和so 都没有太好的答案,多方参考以后终于才解决这个小问题。
这个问题猜返的存在是因为在spring 跑到@service class的时候,我们还没有取到配置文件里面的value, 所以导致了穗粗饥spring 认为这个value variable没有initialize。
解决方案就是把你要取的value放到class的constructor里面去,下面提供一个简单的example。
-application.properties
-Service.kt
Reference:
Kotlin Doc - Constructor
Another code example
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)