首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
第三方
订阅
crystalzhaoluoyang
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
基于Linphone开发Android音视频通话
1,Linphone简介 1.1 简介 LinPhone是一个遵循GPL协议的开源网络电话或者IP语音电话(VOIP)系统,其主要如下。使用linphone,开发者可以在互联网上随意的通信,包括语音、
RxHttp 完美适配Android 10/11 上传/下载/进度监听
随着Android 11的正式发布,适配Android 10/11 分区存储就更加的迫切了,因为Android 11开始,将强制开启分区存储,我们就无法再以绝对路径的方式去读写非沙盒目录下的文件,为此,RxHttp 在2.4.0版本中就正式适配了分区存储,并且,可以非常优雅的实…
Paging在RecyclerView中的应用,有这一篇就够了
经过一年的发展,AAC又推出了一系列新的组件,帮助开发者更快的进行项目框架的构建与开发。这次主要涉及的是对Paging运用的全面介绍,相信你阅读了这篇文章之后将对Paging的运用了如指掌。 Paging专注于有大量数据请求的列表处理,让开发者无需关心数据的分页逻辑,将数据的获…
重温Retrofit源码,笑看协程实现
最近回归看了一下Retrofit的源码,主要是因为项目接入了协程,所以想研究一下Retorift是如何支持协程的。Retrofit是在Version 2.6.0开始支持协程的,所以本篇文章有关Retrofit的源码都是基于2.6.0的。 相信老鸟都应该很清楚,Retrofit核…
使用 Paging 3 实现分页加载
Paging 库可以帮助您优雅地渐进加载大型数据集合,同时也可以减少网络的使用和系统资源的消耗。基于您的反馈我们得知,Paging 2.0 API 还不能满足开发者们的需求——开发者们希望以更简便的方式处理错误;以更灵活的方式实现列表数据的转换操作,例如 map 和 filte…
Jetpack 学习笔记——WorkManager(一)
WorkManager 官方介绍: 使用 WorkManager API 可以轻松地调度即使在应用退出或设备重启时仍应运行的可延迟异步任务。 按照我的理解,WorkManager就是用来管理我们异步任务的管理器,通过这个管理器我们可以更轻松管理我们项目中的异步任务。 作为and…
一个高性能、功能丰富、可自定义的 Android 相机库 iCamera 的设计和开发过程
去年年初的时候写过一篇文章 《CameraX:Android 相机库开发实践》,那时我想自己写一个 Android 相机库,但是因为名字和谷歌关放的 CameraX 冲突了,所以现在我将自己的项目改名为 iCamera. 之前的文章中也交代过一些 Android 相机库的背景,…
ApiHolder多服务端接口适配(超简单)
把服务器地址(或地址名,如:‘SERVER_HOST_A’)放在接口Header中,然后通过拦截器来动态修改请求地址而实现的。除了默认服务器的接口,其它都要加一个Header,有点麻烦。看起来也不爽,不简洁。 定义多个类,每个类定义一套服务接口。然后分别实例化为多个对象,再使用…
一个更贴近 android 场景的启动框架 | Anchors
随着公司项目需求迭代,项目依赖库越来越多,Application#onCreate() 承载的初始化逻辑变得越来越复杂。 以上一年线上项目的初始化逻辑例子。 项目的初始化代码真的又臭又长... 在第一次项目重构的时候,尝试拆分初始化逻辑, 把原来的所有初始化逻辑划分为同步初始化…
源码阅读#PlayerBase如何实现组件间通讯
等等。 如果把这些元素、功能统统写在一个类中,会显得非常复杂,难以维护。而PlayerBase 是一个拥有良好架构的播放器组件,它对播放器以及遮罩(Cover)的行为有着良好的抽象,也提供一系列的回调接口。前端时间重构项目中的视频组件我就参考了这个项目。接下来我们分析一下Pla…