Android 使用 okhttp3和retrofit2 进行单文件和多文件上传

目录前言一、单文件上传1、apiService中2、acivity代码二、多文件上传 1、apiservice中2、acivity代码总结前言开发项目中需要进行单文件多文件的上传功能,下面演示的ApiResp...

2022-12-26

Jetpack Compose常用组件详细介绍

目录1. Text2. Image3. LazyColumn1. Text日常最常用的应该就是显示文字,所以有必要说一下Text控件。首先源码如下:@Composablefun Text( text: String, modifier: Modi...

2022-12-26

Android App设计规范深入讲解

目录前言一,界面设计与代码逻辑二,利用XML标记描绘应用界面三,使用Java代码书写程序逻辑总结前言主要是介绍了App工程的源码设计规范,首先App将看得见的界面设计与看不见的代码...

2022-12-26

FFmpeg Principle学习open_output_file打开输出文件

目录open_output_file()打开输出文件流程open_output_file()函数流程图open_output_file()函数重点open_output_file()打开输出文件流程open_output_file()打开输出文件的流...

2022-12-26

Flutter状态管理Bloc使用示例详解

目录前言两种使用模式Cubit模式最后前言目前Flutter三大主流状态管理框架分别是provider、flutter_bloc、getx,三大状态管理框架各有优劣,本篇文章将介绍其中的flutter_bloc框...

2022-12-26

关于Android Activity之间跳转问题(Intent)

当一个Acitivity需要启动另一个Activity时,通过Intent来表达自己的意图,告知系统启动哪个Activity。private ImageButton i2;     i2=findViewById(R.id.i2); i2....

2022-12-26

Android Handler runWithScissors 梳理流程解析

目录前言runWithScissors梳理流程存在的问题总结前言看 WMS 代码的时候看到了 Handler.runWithScissors 方法,所以来恶补一下public static WindowManagerService main(final...

2022-12-26

Android Binder 通信原理图文详解

目录前言1. Binder的作用2. 进程与Binder驱动如何通信3. ServiceManager进程的作用Binder Client、Binder Server、ServiceManager关系ServiceManager注册进Binder4. 进程添...

2022-12-26

Android Java crash 处理流程详解

目录一、背景二、App端Crash注册2.1 commonInit()2.2 KillApplicationHandler 类2.2.1 ensureLogging()2.2.2 ApplicationErrorReport三、AMS端处理崩溃逻辑3.1 AMS.handleA...

2022-12-26

Jetpack Compose入门基础全面精讲

目录1. Column2. Row3. Box4. BoxWithConstraints5. ConstraintLayout6. 参考1. Column子元素按竖直顺序排列,相当于竖直方向的LinearLayout。@Composableinline fun Column(...

2022-12-26

PowerManagerService之手动灭屏流程示例分析

目录前言1. 灭屏流程2. 设备进入打盹状态2.1 更新用户行为2.2 更新显示屏的电源状态2.3 更新梦境状态3. 启动doze dream结束前言PowerManagerService之亮屏流程分析 分析了...

2022-12-26

Jetpack Compose自定义动画与Animatable详解

目录AnimationSpec1.spring2.tween3.keyframes4.repeatable5.snapAnimatable本篇主要是自定义动画与Animatable。AnimationSpec上一篇中,出现了多次animationSpec属性,它是用...

2022-12-26

FFmpeg Principle学习new_video_stream添加视频输出流

目录new_video_stream() 函数流程流程图原因解析滤镜出口里面获取宽高new_video_stream() 函数流程new_video_stream() 函数的流程相对来说比较简单,主要的逻辑如下:1, 调 new_...

2022-12-26

Jetpack navigation组件超详细讲解

目录依赖项创建导航图导航宿主导航到目的地传递参数NavigationUI多模块导航导航是指支持用户导航、进入和退出应用中不同内容片段的交互。Android Jetpack 的导航组件可帮助...

2022-12-26

PowerManagerService之亮屏流程示例分析

目录前言Power键亮屏1. 更新 wakefulness1.1 更新 PMS 的 wakefulness1.2 保存用户行为时间1.3 更新 wakefulness 小结2. 更新电源状态2.1 更新用户行为2.2 更新显示屏的电...

2022-12-26

Android的RV列表刷新详解Payload与Diff方式异同

目录前言一、Payload的刷新二、Diff的刷新与快速实现方法三、DiffUtil的封装小结前言RecyclerView是我们常用的列表控件,一般来说当Item的数据改变的时候我们需要刷新当前的I...

2022-12-26

Android Jetpack组件DataBinding详解

目录Android之DataBindingDataBindingDataBinding的优势亮点使用DataBinding单向绑定数据双向绑定Android之DataBindingDataBinding数据绑定DataBinding的优势代码更加简洁,...

2022-12-26

Android RecyclerView使用ListAdapter高效刷新数据的操作方法

目录问题DiffUtils使用ListAdapter使用参考文献我们都知道,当RecyclerView数据源更新后,还需要通过adapter调用对应的方法,从而让RecyclerView重新绘制页面本次也是介绍了用...

2022-12-26

Jetpack Compose修饰符专项精讲

目录1.常用修饰符2.修饰符顺序本篇开始介绍Jetpack Compose 中的修饰符Modifier。修饰符可以用来执行以下操作:更改可组合项的大小、布局、行为和外观。添加信息,如无障碍标签...

2022-12-26

Android系统状态栏定制图标显示逻辑控制

目录背景状态栏是什么?系统ICON布局StatusIconContainer -- onMeasureStatusIconContainer -- onLayoutStatusIconContainer -- onDraw状态栏图标显示逻辑控制关键view管理图...

2022-12-26

PowerManagerService之唤醒锁的使用获取创建示例解析

目录前言使用唤醒锁创建唤醒锁获取唤醒锁归纳唤醒锁更新请求策略唤醒锁保持 CPU 运行释放锁结束前言在开发中,或多或少会使用唤醒锁(wake lock),有的是为了保持屏幕长亮,有的是...

2022-12-26

init output stream初始化输出流源码分析

目录正文音频 OutputStream初始化init_output_stream() 函数流程图正文init_output_stream() 是一个公共的函数,无论是音频,还是视频的输出流的初始化,都是通过它来完成的。ini...

2022-12-26

Android开发框架MVC-MVP-MVVM-MVI的演变Demo

目录Android框架的历史演变一. MVC框架二. MVP框架三. MVVM框架3.1 半MVVM框架3.2 带DataBinding的MVVM框架四. MVI框架Android框架的历史演变记得最开始入门Android的时候,...

2022-12-26

Android Doze模式下Alarm定时任务实现流程详解

目录定时任务Doze模式定时任务Timer不太适合那些需要长期在后台运行的定时任务,因为每个手机都有自己的休眠策略,Android手机长时间不操作就会导致Timer定时任务无法执行,而Ala...

2022-12-26

Android Retrofit原理深入探索

目录序章Retrofit构建过程创建网络请求接口实例过程执行请求过程总结序章首先引入依赖 implementation 'com.squareup.retrofit2:retrofit:2.9.0'在原理之前,我们...

2022-12-26

Android自定义view实现滚动选择控件详解

目录前言需求编写代码主要问题前言上篇文章通过一个有header和footer的滚动控件(Viewgroup)学了下MeasureSpec、onMeasure以及onLayout,接下来就用一个滚动选择的控件(View)来学...

2022-12-26

Android转场动画深入分析探究

目录早期的转场Material Design 转场动画Material Motion 动画MaterialContainerTransformShared axisFade ThroughFade总结早期的转场最初,两个Activity之间的切换的过度动...

2022-12-26

Android 补间动画及组合AnimationSet常用方法详解

目录补间动画RotateAnimation动画示例ScaleAnimation动画示例TranslateAnimation动画示例AlphaAnimation动画示例AnimationSet 动画组合动画示例补间动画Android常用的四种...

2022-12-26

Android动效Compose贝塞尔曲线动画规格详解

目录正文贝塞尔曲线解析动画曲线曲线源码分析总结正文写Compose动画的时候使用animateXAsState的时候会注意到一个参数——animationSpec,如下:val borderRadius by...

2022-12-26

详解Android如何实现好的弹层体验效果

目录前言弹层的形式选择中间弹层左右抽屉弹层顶部弹层底部弹层总结前言当前 App 的设计趋势越来越希望给用户沉浸式体验,这种设计会让用户尽量停留在当前的界面,而不需要太多...

2022-12-26

Android实现滑动折叠Header全流程详解

目录前言需求效果图编写代码主要问题前言上一篇文章直接通过安卓自定义view的知识手撕了一个侧滑栏,做的还不错,很有成就感。这篇文章的控件没有上一篇的复杂,比较简单,通过一个...

2022-12-26

Android开发InputManagerService创建与启动流程

目录前言启动流程创建输入系统启动输入系统输入系统就绪结束前言之前写过几篇关于输入系统的文章,但是还没有写完,后来由于工作的变动,这个事情就一直耽搁了。而现在,在工作中,遇...

2022-12-26

Android Crash与ANR详细介绍

目录Crash空指针角标越界集合元素删除操作异步操作后对界面元素的处理Intent传递数据过大在子线程中操作UIANRCrashCrash是指程序闪退,导致APP不能正常使用。Crash产生的原因...

2022-12-26

Android SwipeRefreshLayout超详细讲解

目录1. 控件说明2. API介绍3. 使用方法3.1 布局文件3.2 界面代码4. 注意事项1. 控件说明SwipeRefreshLayout是google官方推荐使用的下拉刷新的控件,如果用户想通过垂直滑动手...

2022-12-26

Flutter组件适配方法实现详解

目录Flutter 适配组件1. MediaQuery2. LayoutBuilder3. OrientationBuilder4. Expanded 和 Flexible5. FractionallySizedBox6. AspectRatioFlutter 适配组件在 Flutter 我...

2022-12-26

Android SurfaceView与TextureView使用方法详细讲解

目录SurfaceSurfaceViewTextureViewSurfaceTextureSurfaceView和TextureView的区别Surface官方对Surface的解释是:由屏幕合成器管理的原始缓冲区上的句柄,所谓原生缓冲器,是用...

2022-12-26

Android多功能视频播放器GSYVideoPlayer开发流程

目录前言引入依赖开发设置具体实现前言今天,和大家分享一个开源的多功能视频播放器 — GSYVideoPlayer,支持弹幕,滤镜、水印、gif截图,片头广告,声音、亮度调节等众多功能,这...

2022-12-26

Flutter状态管理Provider的使用示例详解

目录前言计数器全局状态总结前言Provider是三大主流状态管理框架官方推荐使用的框架,它是基于官方数据共享组件InheritedWidget实现的,通过数据改变调用生命周期中的didChange...

2022-12-26

Android自定义View绘制贝塞尔曲线实现流程

目录前言二阶贝塞尔曲线三阶贝塞尔曲线前言对于Android开发,实现贝塞尔曲线还是比较方便的,有对应的API供你调用。由于一阶贝塞尔曲线就是一条直线,实际没啥多大用处,因此,下面主...

2022-12-26

Android RxJava异步数据处理库使用详解

目录观察者模式操作符创建Observable转换Observable过滤Observable组合Observable错误处理Schedulers调度器-解决多线程问题管理RxJava的生命周期RxJava与Retrofit完成网络...

2022-12-26

Android RecyclerView缓存复用原理解析

目录一、牵出缓存1.缓存还在屏幕内的ViewHolder——Scrap缓存mAttachedScrapmChangeScrap用一个例子说明2.缓存屏幕之外的ViewHolder——CacheView3.mV...

2022-12-26

Android自定义view实现有header和footer作为layout使用的滚动控件

目录前言需求编写代码主要问题前言上两篇文章对安卓自定义view的事件分发做了一些应用,但是对于自定义view来讲,并不仅仅是事件分发这么简单,还有一个很重要的内容就是view的绘...

2022-12-26

Flutter实现编写富文本Text的示例代码

目录SuperText富文本设计方案RichText原理方案设计解析代码设计节点定义Span构造器定义SuperText定义可以修改TextStyle的Span构造器效果展示结语SuperText富文本设计方案Fl...

2022-12-26

Android图片框架Glide原理深入探索

目录withloadinto原理总结缓存LruCache首先引入依赖 implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bump...

2022-12-26

Flutter使用 input chip 标签组件示例详解

目录前言正文类构造属性如何在 Dart 文件中实现代码全部代码结论前言这里有一些拥有属性的 chip,其中之一就是 input chip。input chip 通常用于以保守的结构处理客户端输入...

2022-12-26

Android MQTT与WebSocket协议详细讲解

目录MQTTWebSocket总结MQTTMQTT是一个极其轻量级的发布/订阅消息传输协议,对于需要较小代码占用空间或网络带宽非常宝贵的远程连接非常有用有如下特点:开放消息协议,简单易实现...

2022-12-26

Android内存优化操作方法梳理总结

目录内存泄露非静态内部类创建静态实例注册对象未注销或资源对象未关闭类的静态变量引用耗费资源过多的实例Handler引发的内存泄露集合引发的内存泄露检测工具LeakCanaryAnd...

2022-12-26

Jetpack之CameraX的使用

目录引入依赖预览拍摄引入依赖下面,就使用该库来打造一个简单的相机应用吧~首先引入依赖 def camerax_version = "1.1.0-beta03"
implementation "androidx.camera:ca...

2022-12-26

Android实现自动变换大小的ViewPager

目录前言需求效果图编写代码主要问题前言上一篇做了一个滑动折叠的Header控件,主要就是练习了一下滑动事件冲突的问题,控件和文章写的都不怎么样。本来想通过这篇文章的控件,整...

2022-12-26

Flutter控制组件显示和隐藏三种方式详解

目录方式一:if语句控制方式二:Offstage组件方式三: VisibilityOffstage和Visibility的区别:方式一:if语句控制// 例如:Column( mainAxisAlignment: MainAxisAlignment.ce...

2022-12-26
返回顶部
顶部