Kotlin转移assets至SD

引言


application已经创建好了,紧接着的工作就是初始化工程中所需要的资源例如:SDK的初始化、Manager的启动等。

正常情况下application启动初始化的工作不应该太繁重,否则会导致app启动时白屏的状况(当然可以通过设置背景蒙混过去),造成不好的用户体验(现在接到手头上的项目,启动需要3-5s,直接想砸,备注: 不是烂手机,Samsung Galaxy S7 edge),通常会将繁重的任务例如IO放到新开的线程中。但还是会有其他情况,例如关键业务的数据加载、启动页的视频加载等,不将其完成会直接影响使用,我所遇到情况是在启动页播放一个视频。

正文


启动页的背景是一个视频,这是一个非常吸引人的设计,尤其是首次打开,动态的效果会俘获用户。这就面临这一个问题:
如何播放assets内的视频文件?

视频文件mp4不像字体文件可以通过工厂方法Typeface.createFromAsset()直接获取。mp4文件打开会得到InputStream,就我所知没有一个Android播放控件可以播放文件流的,一般都是网络流,所以要将mp4转移到SD卡上。

保存到什么位置呢?有以下几个选项
1、getCacheDir()
2、getFilesDir()
3、getExternalCacheDir()
4、getExternalFilesDir()
5、getExternalStorageDirectory()

1、2、3、4跟随app的包名创建的目录,清除缓存或卸载会将数据清除

1、

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值