
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
MVVM优势主要解决的问题:解决了生命周期问题导致的内存解决了mvp中的大量接口MVVM的分层View层就是展示数据的,以及接收到用户的操作传递给viewModel层,通过dataBinding实现数据与view的单向绑定或双向绑定Model层最重要的作用就是获取数据。(由于使用了协程所以不需要通过接口回调数据)ViewModel 层通过调用model层获取数据,以及业务逻辑的处理。MVVM中 v
private final int REQUEST_CODE_SELECT_VIDEO = 112;//播放视频的路径private String videoPath;private void selectVideo(){Intent i = new Intent(Intent.ACTION_PICK, android.provider.M...
原始音频信息,采样率44100 Hz,双声道stereoDuration: 00:11:23.60, start: 0.025057, bitrate: 128 kb/sStream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s转码命令ffmpeg -i C:\Users\Administrator\Desktop\ma...
Android studio xml界面无法预览问题如下图修改style.xml中的parent=“Theme.AppCompat.Light.DarkActionBar”改为parent=“Base.Theme.AppCompat.Light.DarkActionBar”<!-- Base application theme. --><style na.
MVVM优势主要解决的问题:解决了生命周期问题导致的内存解决了mvp中的大量接口MVVM的分层View层就是展示数据的,以及接收到用户的操作传递给viewModel层,通过dataBinding实现数据与view的单向绑定或双向绑定Model层最重要的作用就是获取数据。(由于使用了协程所以不需要通过接口回调数据)ViewModel 层通过调用model层获取数据,以及业务逻辑的处理。MVVM中 v
首先定义一个data数据类型,java中的bean对象data class User(var id: Int, var name: String)fun main() {test1()test2()test3()}fun test1() {val user = User(1001, "zhangyu")//let与run//都会返回闭包的执行结果//区别在于let有闭包参数,run没有闭包参数va
Kotlin学习总结循环的5中写法fun main() {//1,2,3,4,5,6,7,8,9,10,for (i in 1..10) {myprint(i)}println()//1,2,3,4,5,6,7,8,9,for (i in 1 until 10) {myprint(i)}println()//10,9,8,7,6,5,4,3,2,1,for (i i.
可变变量var,不可变变量valval 不是常量,是一个不可变变量,因为var与val最本质的区别是val不能有setter方法var age: Int = 10val name: String = "zhangyu" //不可变变量var name1: String = "zy"var name2: String? = null //类型String后面加上?表示可以为nullfun main(
Jetpack DataStore 是一种改进的新数据存储解决方案,允许使用协议缓冲区存储键值对或类型化对象。DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的一些缺点。DataStore基于Kotlin协程和Flow实现,并且可以对SP数据进行迁移,旨在取代SP。MMKV 是基于 mmap 内存映射的 key-value 组件,底层
Android EventBus的基本用法







