MaterialApp Flutter 应用全局配置与主题管理详解, 目录 前言 主题管理 颜色配置 字体配置 按钮样式 导航和路由 初始路由 命名路由 动态路由 未知路由 本地化支持 全局配置 Builder 属性
Flutter LinearProgressIndicator使用指南分析, 目录 正文 创建基本的进度条 设置进度条的外观 自定义进度条的外观 总结 正文 LinearProgressIndicator 是 Flutter 中用于创建线性进度指示器的 widge
Android Jetpack 组件LiveData源码解析, 目录 前言 基本使用 疑问 源码分析 Observer ObserverWrapper LifecycleBoundObserver MutableLiveData postValue setValue 问题答疑 LiveData 特性引出的问题 问题解决 最后
Android Service启动绑定流程详解, 目录 前言 一、Service 的启动流程 二、Service的绑定 三、Service的Context 总结 前言 本文基于Android 11,参考《Android进阶解密》一书资料。了解Service的启动和
flutter微信聊天输入框功能实现, 目录 chat_bottom.dart chat_element_other.dart chat_element_self.dart chat_input_box.dart page_chat_person.dart provider_chat_content.dart 高仿微信聊天输入框,效果图如下(目前都是
快速了解AndroidRoom使用细则, 目录 1、前言 2、添加依赖 2、Entity 3、DAO 4、Database 5、获取DAO实例 6、调用DAO方法 7、使用步骤 8、事务(Transaction) 9、数据库迁移 10、视图(View) 11、Flo
快速了解Android Room使用细则进阶, 目录 1、前言 2、@ForeignKey和@PrimaryKey 3、@TypeConverters 4、@Relation 5、@Transaction 6、@Embedded 7、@ColumnInfo (1)指定实体类中的字段名称 (2)指定实体类中的
Android进程间使用Intent进行通信, 安卓使用Intent来封装程序的调用意图,使用Intent可以让程序看起来更规范,更易于维护。 除此之外,使用Intent还有一个好处:有些时候我们只是想要启
AndroidActivity的生命周期与加载模式超详细图文解析, 目录 Activity的生命周期 Activity的加载模式 Activity的生命周期 Activity是安卓应用的重要组成单元之一,其对于安卓的作用类似于Servle
Android事件处理的两种方式详解, 安卓提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理。 基于监听的事件处理 基于监听的事件处理一般包含三个要素,分别是:
Android自定义有限制区域图例角度自识别涂鸦工具类中篇, 目录 引言 总结 引言 上文Android:实现一个自定义有限制区域的图例(角度自识别)涂鸦工具类(上)中我们已经实现了自定义
Android自定义有限制区域的图例角度自识别涂鸦工具类完结篇, 目录 引言 总结 引言 上文Android:实现一个自定义有限制区域的图例(角度自识别)涂鸦工具类(中)中我们已经实现了在
Android极光推送处理message遇到的坑解决, 目录 正文 总结 正文 我相信现在绝大部分App几乎避免不了消息推送,其实原理还是使用了长连接,通过服务端将消息推给客户端。市面上也有不
android sharedUserId 使用知识盲点解析, 目录 1. 背景 2. 分析排查 2.1 查看 ServiceLoader.loader 定义 2.2 WarningContextClassLoader 为何物? 2.3 sharedUserId 属性 2.总结 1. 背景 由于在工程中使用了 SPI 机
kotlin实现语音聊天机器人案例详解, 目录 一.机器人聊天对话adapter的实现 二.机器人聊天机器人实时对话实现 此篇文章紧做关于语音机器人聊天开发,后续功能实现请关注后续文章!!
kotlin实现快递与号码归属地查询案例详解, 目录 一.快递查询开发 二.号码地查询开发 一.快递查询开发 此效果展示: 1.新建CourierActivity,编写界面交互代码: ?xml version="1.0" encoding="ut
Android三种方式生成矢量图之VectorDrawable类使用详解, 目录 生成矢量图VectorDrawable的三种方式 静态VectorDrawable的使用 配置引用和参数 在控件中使用 生成矢量图VectorDrawable的三种方式 第一
Android动态使用VectorDrawable过程详解, 目录 导言 案例演示 问题解决 接上篇继续,讲解使用动态的VectorDrawable 上篇链接: Android三种方式生成矢量图之VectorDrawable类使用详解 导言 VectorDr
AndroidonMeasure与onDraw及自定义属性使用示例, 目录 1.自定义View简介 2.构造方法 3.onMeasure() 4.onDraw() 5.onTouch() 6.自定义属性 6.1在res下的values下面新建attrs.xml 6.2在布局中使用 6.3在自定义Vie
Kotlin引用其他xml的view对象过程详解, Kotlin 中如何引用其他xml中的view对象 比如,我们的 activity_main.xml 这么写: ?xml version="1.0" encoding="utf-8"?androidx.drawerlayout.widget.DrawerLayout xmlns:android="
Android边框裁切的正确姿势实现示例, 目录 前言 1. 设置圆角边框 2. 使用ClipToOutline进行裁切 总结 前言 今天写什么呢,没有太好的思路,就随便写一些细节的点吧。 平时我们都会接触到
Kotlin使用TransitionDrawable实现颜色渐变效果流程讲解, 目录 1 导入需要渐变的图片 2 activity_main.xml 3 MainActivity.kt 1 导入需要渐变的图片 如果需要实现图片之间的渐变效果,我们需要两张照
AndroidMessageQueue消息队列主要作用详解, 目录 定义 模型关系 内部属性 行为约束 使用建议 消息队列相关概念 消息队列的消费场景 消息至多被消费一次 消息至少被消费一次 消息仅被消
Android添加自定义下拉刷新布局阻尼滑动悬停弹动画效果, 目录 Android 对现有布局添加下拉刷新 一、简述 1、下拉阶段 2、下拉松手阶段 二、现有布局 三、添加下拉刷新 1、一个响应下拉
移动端开发之Jetpack Hilt技术实现解耦, 目录 Hilt是什么 Hilt使用地方 依赖注入(DI)概念 Hilt使用 导入 Hilt是什么 Hilt 是基于 Dagger2 的针对 Android场景定制化 的框架。 这有点像什么? RxAn
Android中的HOOK技术是什么, 目录 1. 什么是 Hook 2. Hook的应用场景 3. Hook的技术方式或框架 4. Hook的一般步骤和技巧 实战 1. 什么是 Hook Hook 英文翻译过来就是「钩子」的意思,那我们在什么
AndroidActivityManagerService启动流程详解, 目录 概述 AMS的启动流程 启动流程图 概述 AMS是系统的引导服务,应用进程的启动、切换和调度、四大组件的启动和管理都需要AMS的支持。从这里可
AndroidLock锁实现原理详细分析, 目录 Lock简介 synchronized和lock的区别 写个Demo lock源码 总结 Lock简介 Lock接口位于J.U.C下locks包内,其定义了Lock应该具备的方法。 Lock 方法签名: void lock():
Kotlin开发中open关键字与类名函数名和变量名的使用方法浅析, 目录 1 Kotlin open 在类名中的使用 2 Kotlin open 在函数名中的使用 3 Kotlin open 在变量名中的使用 这篇文档中,我们将解释如何
源码剖析Android中Okio的使用, 目录 okio库的类结构 okio 主要的接口和类 okio接口和类的说明 okio读取文件 Okio.source 方法 Okio.buffer 方法 readUtf8() 方法 总结 Okio双流操作 Segment类的设计 Segme
KotlinExtensionFunction扩展函数详细介绍, 目录 1 什么是扩展函数(Extension Function) 2 为什么使用扩展函数(Extension Function) 3 如何使用扩展函数(Extension Function) 4 扩展库类 5 空值接收器(Nulla
深入了解AndroidOkio的超时机制, 目录 Timeout 类的设计 理解 timeout 与 deadline 的区别 AsyncTimeout 类的设计 AsyncTimeout 成员变量 AsyncTimeout 成员方法 总结 Okio是一个IO库,底层基于Java原生的输入
KotlinViewModelProvider.Factory的使用实例详解, 目录 1 没有使用到 ViewModelFactory 的例子 2 使用到 ViewModelFactory 的例子 3 分析 4 结论 这里,我们将介绍 Kotlin ViewModelProvider.Factory 的作用和使用方
Kotlin this关键字的使用实例详解, 目录 this可以用来访问类的成员 使用this访问类实例 二级构造函数的委托 带限定符的this 在 Kotlin 中, this 关键字允许我们引用一个类的实例,该类的函
Flutter枚举值enum和int互相转化总结, 目录 一、需求来源 二、搞清楚 Flutter 枚举属性和方法 三、实现需求(以 PageView 滚动方式为例) 最后 一、需求来源 工作中偶尔会用到枚举值和 in
KotlinSuspend挂起函数的使用详解, 目录 总结 本质 何时使用 消除回调 一些例子 总结 挂起(suspend)函数是所有协程的核心。 挂起函数可以执行长时间运行的操作并等待它完成而不会阻塞
Kotlin作用域函数使用示例详细介绍, 目录 1 let 2 run 3 with 4 apply 5 also 这里我们将介绍Kotlin 5个作用域函数:let,run,with,apply,also。 1 let let 可用于范围界定和空值检查。在对象上调用时
uniapp打包Android的apk(原生APP-云打包)及发布测试全过程, 目录 前言: 一、 打包 Android ,生成apk 1. 原生APP-云打包 与 原生APP本地打包 2. 启动uniapp,配置打包证书 3.开始云打包 二、上传
一文详解无痕埋点在Android中的实现, 目录 前言 技术难点 1. 如何拦截到所有的view的点击事件 2. 如何对app所有的view设置setAccessibilityDelegate 可以优化的点 总结 前言 本篇技术实现主要是
Android打空包后提示没有android:exported的属性设置问题解决, 目录 1、问题: 2、文档 3、参考: 4、解决方案: 总结 1、问题: 今日了解到了一个新内容,意指打一个新的空包提审,来实
一文详解如何在Flutter中使用导航Navigator, 目录 简介 flutter中的Navigator Navigator的使用 总结 简介 一个APP如果没有页面跳转那么是没有灵魂的,页面跳转的一个常用说法就是Navigator,flutte
Android源码解析onResume方法中获取不到View宽高, 目录 前言 问题1、为什么onCreate和onResume中获取不到view的宽高? 问题2、为什么View.post为什么可以获取View宽高? 结论 前言 有一个经典的问题
FragmentStatePagerAdapter保存恢复下拉刷新Fragment内存数据, 目录 一、前言 FragmentStatePagerAdapter保存、恢复的GIF图 二、FragmentStatePagerAdapter保存、恢复及刷新数据的效果 1、FragmentStatePagerAdapt
Android入门之使用RecyclerView完美实现瀑布流界面详解, 目录 前言 什么是瀑布流 怎么实现瀑布流 基于MVVM设计模式的RecyclerView实现瀑布流代码 工程整体结构 布局 后端代码 总结 正确的做
Kotlin语言中CompileSdkVersion与targetSdkVersion的区别浅析, 目录 前言 一.CompileSdkVersion与targetSdkVersion是什么 1.1 compileSdkVersion 1.2 targetSdkVersion 二.compileSdkVersion和targetSdkVersion的关系 前言 在 bui
Android广播机制原理与开发, 目录 广播机制简介 接收系统广播 动态注册监听网络变化 静态注册实现开机启动 发送自定义广播 发送标准广播 发送有序广播 使用本地广播 使用广播实现强
Kotlin图文讲解多语言支持实现方法, Kotlin多语言支持 对于 Kotlin 来说,当我们新建一个项目时,会默认在 values/ 文件夹下,生成一个 strings.xml 文件。比如说, resources string name="app_name
Kotlin比较与解释Lazy与Lateinit的用法, 目录 Lateinit Lazy 这里比较与解释 Lazy 与 Lateinit 的用法。 Lateinit 有时变量的值在其声明的位置不可用。 一个例子是在 Activity 或 Fragment 中使用的 UI
AndroidFlutter实现仿闲鱼动画效果, 目录 前言 动效 闲鱼动效 仿写效果 思路 1、底部返回键旋转动画 2、底部四个栏目变速上移动画+渐变动画 3、中间图片渐变动画 4、顶部文案渐变动画
Android ButterKnife依赖注入框架使用教程, 目录 简介 APT整个流程 ButterKnife的工作原理 简介 BuffterKnife 采用 注解+ APT技术 APT:Annotation Processor tool 注解处理器,是javac的一个工具,每个处理
iOS开发删除storyboard步骤详解, 目录 删除iOS项目中的storyboard 删除storyboard 用上自己的ViewController 删除iOS项目中的storyboard 删除项目中的storyboard, (变成一个纯代码的iOS UIKit项目), 需要几步
iOS16使用SwiftUICharts创建折线图实现实例, 目录 前言 简单折线图 其他图表 让折线图增加可访问性 为折线图添加多个数据序列 显示步数系列 结论 前言 苹果在 WWDC 2022 上推出了 SwiftUI 图
Flutter ScrollController滚动监听及控制示例详解, 目录 ScrollController 滚动监听 滚动监听示例 滚动位置恢复 ScrollPosition ScrollPosition的方法 ScrollController控制原理 滚动监听 ScrollController Scroll
iOSNSCache和NSUrlCache缓存类实现示例详解, 目录 NSCache 缓存淘汰策略 NSURLCache iOS中定以的URLRequest缓存策略有以下几种: 总结: NSCache NSCache是Foundation框架提供的缓存类的实现,使用方式类
FlutterCustomPaint自定义绘画示例详解, 目录 正文 CustomPaint 介绍 绘制点 PointMode3种模式 绘制线 和路径 绘制五子棋 总结 正文 CustomPaint是Flutter中用于自由绘制的一个widget,它与android原生的
FlutterWidgets粘合剂CustomScrollViewNestedScrollView滚动控件, 目录 概述: CustomScrollView 相互嵌套场景 NestedScrollView 滚动隐藏AppBar SliverAppBar展开折叠 与TabBar配合使用 总结: 概述: Flutter中常用
FlutterWidgetsMediaQuery控件屏幕信息适配, 目录 MediaQuery MediaQueryData 使用场景 根据尺寸构建不同的布局 系统字体变化 第三方屏幕的适配框架: 设置字体不随系统字体大小进行改变 APP全局
iOS底层实例解析Swift闭包及OC闭包, 目录 基础 OC-Block 分类 NSMallocBlock 源码探究 循环引用 解决方案 注意点 Swift-Closure 捕获值 基础 Block是⼀个自包含的(捕获了上下⽂的常量或者是变量的
iOS开发学习TableView展现一个list实例, 目录 TableView 基础 TableView用来做什么 如何写一个最简单的TableView 拆解版TableView Delegate DataSource 继承UIViewController 自己的Cell class 补充知识: Delegatio
iOS开发WebViewJavascriptBridge通讯原理解析, 目录 前言 通讯原理 JavaScriptCore 源码解析 代码结构 初始化 WebViewJavascriptBridge 对象 native向JS发送消息 JS侧 native侧 JS向native发送消息 native侧 JS侧
iOS之异常与信号使用场景分析, 目录 正文 异常 Exception Type: Exception Codes: 特殊的 Exception Code Triggered by Thread: Application Specific Infomation: Last Exception Backtrace: 主要信号 SIGABRT原因 场景
iOS button响应流程图文详解, 目录 引言 简单梳理流程 apple-touch封装 window sendTouchesForEvent 后续流程修正 流程进一步细化 引言 Button响应首先从触摸屏幕开始 在这之前,需要了解坐标转换
MobPushforFlutter集成准备, 目录 集成准备 iOS Android SDK API 回传用户隐私授权结果 (submitPrivacyGrantResult) 设置远程推送环境 设置远程推送环境 (setAPNsForProduction仅 iOS) 停止推送(stopPush) 重新
NSURLSession跨域重定向透传HTTPHeader问题解决, 目录 背景 系统库如何设计的 解决方案 方案一 方案二 背景 在源网页通过服务器重定向打开某个三方网页,网络层出现了 -1005 (NSURLErrorNetw
FlutterCustomPaint绘制widget使用示例, 目录 CustomPaint 介绍 使用 CustomPaint size 的大小。 isComplex willChange foregroundPainter 动画 CustomPaint 介绍 Flutter CustomPaint 提供了一个 canvas,可以在绘制阶段在
Flutter RendererBinding作用源码分析, 目录 分析 PipelineOwner flushLayout flushCompositingBits flushPaint flushSemantics initRenderView scheduleInitialLayout scheduleInitialPaint 分析 RendererBinding 的作用是负责render tr
iOS测试手机APP的方法汇总:真机运行,打ipa包,testFlighe,蒲公英, 目录 一、真机运行 二、打.ipa包测试 三、通过testFlight添加测试员 四、蒲公英测试 Android APP 的测试开发直接打包一个 apk 包
IOS使用TestFlight测试的使用方法, 目录 一、testflight优势 二、开发人员TestFlight的设置操作步骤 三、测试人员TestFlight的使用步骤 现在最主流的移动端操作系统就是 Android 和 iOS ,Android 系