logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

kotlin--StateFlow运用

StateFlow当值发生变化,就会将值发送出去,下流就可以接收到新值。在某些场景下,StateFlow比LiveData更适用效果:1.定义ViewModelStateFlow需要初始值package com.aruba.flowapplyapplication.viewmodelimport android.view.Viewimport androidx.lifecy...

#android#android studio
Nginx流媒体服务器搭建

说到流媒体服务器,首先想到的就是Nginx,原因是Nginx强大的性能和高并发量,它是由C语言从头写成,由于Nginx的优势和流媒体服务器的需求相匹配,很多流媒体服务器都使用的是Nginx对于移动端音视频开发,我们对服务器并不需要那么关心,但服务器是必不可少的,直播推流就需要用到服务器,正所谓技多不压身,学习如何搭建流媒体服务器对音视频开发有很大的帮助一.Nginx的搭建需要下载3个资源1....

#nginx#linux#centos +2
kotlin--Flow结合retrofit运用

kotlin集成retrofit获取网络数据,将数据通过Flow发射效果:1.定义实体类和网络相关实体类:package com.aruba.flowapplyapplication.modeldata class Article(val id: Int, val text: String)Api:package com.aruba.flowapplyapplicatio...

#网络#android
kotlin--使用观察者、装饰模式实现响应式风格架构

RxJava就是一种响应式编程框架,利用观察者、装饰模式来实现上下流消息通信和函数式编程,解决了上下流解耦、回调地狱等,其中的思想很值得我们学习,今天来模拟实现RxJava的架构一、观察者与被观察者观察者与被观察者的思想就是观察者持有被观察者,当观察者发生变化时,回调被观察者的函数1.创建观察者接口/*** 观察者*/interface Observer<T> {...

#设计模式#java#python +1
Android--利用APT+kotlinpoet实现组件化开发Router机制

上一篇我们使用了一个全局Map缓存来所有的Activity类,显然这是非常麻烦的,一旦有所改动,就要手动修改该Map为此,我们希望将key和Activity类的映射关系,通过一定方式自动导入Map。利用注解解析器(APT)和代码生成器(kotlinpoet)可以根据注解在编译期间就生成相应的代码,业界称之为Router机制一、Gradle配置及架构分层在实现Router机制之前,我们还可以对...

#java#android#移动开发 +2
kotlin--SharedFlow运用

Flow为上流发射,下流接收,是一对一的,而SharedFlow可以一对多,发射一次,多端接收效果:1.定义一个类,来对MutableSharedFlow对象作操作package com.aruba.flowapplyapplication.commonimport kotlinx.coroutines.flow.MutableSharedFlow/*** Create...

#android#android studio
NDK--Android Studio中直播推流框架的搭建

上次我们搭建了nginx流媒体服务器,接下来就是研究安卓端是如何直播推流到nginx服务器,之前我们了解到视频流和音频流,那么直播也必然绕不开这两个流,手机端的直播可想而知,视频流使用摄像头获取,音频流使用麦克风获取。然而摄像头和麦克风直接获取的裸数据的体积实在是太大了,如果要想进行网络传输,必须进行压缩,即编码一、视频编码:使用h264h264是目前使用最广泛的视频编码,由于高压缩比、高图像..

#linux#java#webrtc
分布式--OpenResty+lua+Redis实现限流与防爬虫

上篇分布式--OpenResty+lua+Redis中,我们了解了nginx结合lua脚本的强大之处,lua结合反向代理,可以对http请求提前做一些处理,来保证业务服务器的安全性和单一职责原则,以及结合Redis提升读写缓存的效率与持久化能力一、实现限流DOS攻击是常见的攻击服务器的方式,限流可以做到防止暴力访问服务器,可以从流量方面进行限制,也可以从请求次数方面进行限制,下面为使用lua对..

#lua#分布式#redis +2
kotlin--扩展

之间使用了kotlin的标准函数、匿名函数,觉得它十分灵活,简便。其实kotlin的标准函数就是用了扩展一、扩展函数1.定义扩展函数当我们需要对一个类新增一个方法时,在Java中需要写一个子类继承它,然后添加我们的新方法。在kotlin中,可以利用扩展增加类的功能,指定类名后就可以新增函数我们给所有类新增打印函数,给String新增加上!的方法://给所有类新增打印函数 :Any.函数...

#python#java#数据库 +2
kotlin基础--List、Set、Map

上次我们学习了kotlin的字符串操作、数字类型、标准库函数,接下来我们来学习集合,和其他变量类型一样,集合也分为可变和只读一、List1.List集合创建与元素获取调用listOf函数创建集合,我们可以通过和数组一样的方式: "变量[下标]" 来获取元素,或者使用get函数获取fun main() {//listOf创建List集合var list = listOf(...

#java#redis#数据结构 +1
    共 23 条
  • 1
  • 2
  • 3
  • 请选择