目录正文1. Obfuscate code 混淆代码2. background snapshots 后台快照3. Stay up-to-date 更新程序4. Flushing in-memory cache 刷新内存缓存5. local authentication 本地认证6. Secure Storage 安全储存7. Restrict network ......
283
0
0
2023-06-19
目录前言Android Window体系1.Window和Activity以及WindowManager什么时候建立的关系?2.Window什么时候和View进行关联?3.Window有哪些属性?类型?层级关系?z-order?Window标志?Window窗口类型(Type)应用程序窗口子窗口系统窗口Window窗口层级关系(Z-Order)Window窗 ......
354
0
0
2023-06-18
目录方案了解ItemDecoration利用ItemDecoration来绘制悬浮标题栏代码方案1.设置一个悬浮的视图挂在recycleView顶部,随着item的移动位置,悬浮标题自动跟随移动或者是保持原地不动。2.使用recyclerView的ItemDecoration,给指定的item设置不同的itemDecoration,并且跟随item的移动而移 ......
255
0
0
2023-06-17
目录介绍课程目标项目结构设计UI端的设计可复用的Adapter的代码设计可复用的Adapter-GenericAdapter业务(ViewBean)Bean-IconBean主交互端-MainActivity介绍今天给大家讲一下如何构建一个可复用的自定义BaseAdapter,我们每次涉及到ListView GridView等其他的Adapter控件,都需要 ......
231
0
0
2023-06-17
目录Looper是什么简单使用从源码了解loop原理loop分析myLooper()next()handler.dispatchMessagehandler分析消息入队同步屏障总结Looper是什么用于为线程运行消息循环的类。默认情况下,线程没有与之关联的消息循环。要创建一个,在要运行循环的线程中调用 prepare(),然后调用loop()让它处理消息,直 ......
260
0
0
2023-06-17
目录前言系统键盘弹出的原因拦截系统键盘弹出信息画自己的键盘结语前言开篇先吐槽一下,输入框和文本,一直都是官方每个版本改动的重点,先不说功能上全不全的问题,每次版本升级,必有 breaking change 。对于 extended_text_field | Flutter Package (flutter-io.cn) 和 extended_text | F ......
406
0
0
2023-06-17
目录前言从一个报错说起rememberSaveable 源码分析恢复 key 的数据注册 ValueProvider注销 registryDisposableSavableStateRegistry 源码分析saveableStateRegistry 与 SavedStateRegistryDisposableSaveableStateRegistry 与 ......
337
0
0
2023-06-17
目录1.CoroutineContext2.Element的作用3.CoroutineContext相关的操作符原理解析3.1.什么类型的集合3.2.如何管理ElementcombinedContext4.验证以及总结1.CoroutineContext表示一个元素或者是元素集合的接口。它有一个Key(索引)的Element实例集合,每一个Element的实 ......
304
0
0
2023-06-17
目录基础OC-Block分类NSMallocBlock源码探究循环引用解决方案注意点Swift-Closure捕获值基础Block是⼀个自包含的(捕获了上下⽂的常量或者是变量的)函数代码块,可以在代码中被传递和使用。全局和嵌套函数实际上也是特殊的闭包,闭包采用如下三种形式之一:全局函数是一个有名字但不会捕获任何值的闭包嵌套函数是一个有名字并可以捕获其封闭函数 ......
295
0
0
2023-06-17
目录介绍设计项目结构UI端代码后端代码运行效果介绍在上一篇“SimpleAdapter“章节中,我们看到了把:ListView和Listview内部详细页面进行分离的Adapter的设计手法。可是,这个SimpleAdapter的构造函数不够录活、苦涩难懂。很难满足我们实际大多生产场景的开发。因此,今天我们就要来看一个更人性化的“自定义BaseAdapter ......
290
0
0
2023-06-17
目录一、数据绑定流程二、建立观察者模式绑定关系在前面DataBinding原理----布局的加载这篇文章中,我们说明了DataBinding中布局的加载过程,这里继续下一步,数据是如何进行绑定的,这里只介绍单向数据绑定,即数据的变化会反映到控件上;后面再介绍双向数据绑定。在分析源码之前,在心里要有一个概念就是这里的数据绑定是基于观察者模式来实现的,所以在阅读 ......
281
0
0
2023-06-17
目录一、布局加载二、view映射上一章说明了DataBinding生存的类之间关系,现在这里来看看布局是如何加载的以及view是如何映射的。一、布局加载这里把之前的代码重新贴下方便说明,代码如下:class MainActivity : AppCompatActivity() { private val viewModel: SimpleViewM ......
257
0
0
2023-06-17
目录一、在相应的板块中开启DataBinding二、DataBing的简单使用三、生成的xml布局四、生存的代码一、在相应的板块中开启DataBinding  dataBinding {    enabled true  }二、DataBing的简单使用这里写一个简单的布局,如下 ......
267
0
0
2023-06-17
目录手机权限检查和申请简介插件安装基本使用获取权限状态申请权限用户拒绝权限请求后的处理封装手机权限检查和申请简介使用flutter进行app开发,一定会用到手机的部分权限,包括通知推送、定位、相册、存储、相机、麦克风等。而权限的检查和获取,最受欢迎的就是通过permission_handler这个插件来实现。插件安装flutter pub add permi ......
515
0
0
2023-06-17
目录前言setContentView()流程WindowManager.addView流程前言又是一年一度的1024程序员节了,今天不写点什么总感觉对不起这个节日。想来想去,就写点关于View的绘制。本文不会重点讲View绘制三大回调函数:onMeasure、onLayout、onDraw,而是站在Android framework的角度去分析一下View的 ......
290
0
0
2023-06-17