目录1 Dart 中的事件循环模型1.1 向 microtask 队列中添加任务1.2 向 event 队列中添加任务2 Dart 中的异步实现2.1 Future()2.2 Future.delayed()2.3 Future.microtask()2.4 Future.sync()2.5 catchError、whenComplete2.6 async、 ......
302
0
0
2023-04-28
目录前言业务需求解读实体类设计数据库工具类备忘录数据表访问接口UI 界面实现运行结果总结前言前面一篇我们介绍了使用 shared_preferences实现简单的键值对存储,然而我们还会面临更为复杂的本地存储。比如资讯类 App会缓存一部分上次加载的内容,在没有网络的情况下也能够提供内容;比如微信的聊天记录都是存储在手机客户端。当我们需要在本地存储大量结构化 ......
282
0
0
2023-04-21
一、背景随着项目逐渐扩展,业务功能越来越多,代码量越来越多,开发人员数量也越来越多。此过程中,你是否有过以下烦恼?项目模块多且复杂,编译一次要5分钟甚至10分钟?太慢不能忍?改了一行代码 或只调了一点UI,就要run整个项目,再忍受一次10分钟?合代码经常发生冲突?很烦?被人偷偷改了自己模块的代码?很不爽?做一个需求,发现还要去改动很多别人模块的代码?别的模 ......
459
0
0
2023-04-20
目录前言一、接口/类委托二、属性委托三、延迟委托四、观察者委托五、Map委托总结前言在设计模式中,委托模式(Delegate Pattern)与代理模式都是我们常用的设计模式(Proxy Pattern),两者非常的相似,又有细小的区分。委托模式中,委托对象和被委托对象都是同一类型的对象,委托对象将任务委托给被委托对象来完成。委托模式可以用于实现事件监听器、 ......
377
0
0
2023-04-19
目录概述1.传统的MVC设计模式用户的交互逻辑iOS开发实际使用的MVC架构2.MVP设计模式用户的交互逻辑MVP代码示例3.MVVM+RAC设计模式MVVM代码示例总结概述做了这么多年的客户端研发一直在使用苹果爸爸推荐的MVC架构模式。MVC从应用层面进行分层开发,极大优化了我们的代码结构,简单易上手,很容易被程序员所接受。程序员刚接手一个新项目,如果是M ......
439
0
0
2023-04-19
目录Android 匿名内存解析MemoryFile使用Service端Client端AshMemory 创建原理AshMemory 读写Linux共享机制简介总结Android 匿名内存解析有了binder机制为什么还需要匿名内存来实现IPC呢?我觉得很大的原因就是binder传输是有大小限制的,不说应用层的限制。在驱动中binder的传输大小被限制在了4 ......
376
0
0
2023-04-14
目录Android事件分发的事件从何而来Activity的事件分发ViewRootImpl事件分发DecorView事件处理Android事件分发的事件从何而来事件分发一直以来都是一个android知识的重点。从应用开发角度和用户的交互就是在处理事件。Activity的事件分发事件分发一般情况都会讲view的分发过程,他的过程缩略起来就可以这样表示。publ ......
299
0
0
2023-04-14
不知道你们在使用Retrofit访问后台接口时返回的数据是否是一样的格式,比如登录接口,在我们输入密码成功或错误的时候后台返回的数据格式是不同的,这样我们在添加GsonConverterFactory解析后台数据时由于后台会返回两种不同的数据所以会导致Gson解析失败的错误信息。这里以自己项目的登录接口为例子记录下自己的解决方案。登录成功和失败的两种数据格式 ......
287
0
0
2023-04-12
目录前言一、Service 的启动流程二、Service的绑定三、Service的Context总结前言本文基于Android 11,参考《Android进阶解密》一书资料。了解Service的启动和绑定流程,以及Service的Context创建过程。由于基于分析流程,忽略很多细节分支。各位在看源码的时候,要尽可能忽略细节,分析整体流程之后,还有精力的话再 ......
347
0
0
2023-04-10
目录一、查询 activity xml 配置screenOrientation信息:二、事件发生时间点分析:三、logcat查看sensor激活状态:状态栏--控制按钮--“方向锁定” 开启时,en=0 即 sensor关闭!四、查看APP是否注册旋转屏sensor五、sensorservice 信息bugreport dumpsys sensorservi ......
353
0
0
2023-04-10
目录1 前言2 URI 简介3 项目结构4 服务端(Content_S)5 客户端(Content_C)5 监听者(Content_O)6 效果展示1 前言ContentProvider 即内容提供器,是 Android 四大组件之一,为 App 存取数据提供统一的对外接口,让不同的应用之间可以共享数据。如图,Server 端通过 ContentProvid ......
291
0
0
2023-04-10
目录1. 前言2. 实现思路3. 布局的代码实现4. 手势的监听5. 动画的使用1. 前言最近要实现一个小需求,涵盖了很多知识点,比如手势、动画、布局等。挺有意思的,写出来和大家分享一下。如下所示,分为上下两层;当左右滑时,上层会随偏移量而平移,从而让上层产生滑动手势显隐的效果:标题这里上层通过不透明度 0.2 的蓝色示意,实际使用时可以改为透明色。很多直播 ......
285
0
0
2023-04-07
目录动画选择决策树Implicit Animations——隐式动画基本使用使用场景TweenAnimationBuilderExplicit Animations——显示动画基本使用AnimatedWidgetAnimatedBuilder动画选择决策树Flutter中包含大量的动画组件和自定义动画方式,所以,在合适的场景下选择合适的动画实现方式就成了决定 ......
321
0
0
2023-04-07
目录chat_bottom.dartchat_element_other.dart chat_element_self.dart  chat_input_box.dart page_chat_person.dartprovider_chat_content.dart高仿微信聊天输入框,效果图如下(目前都是静态展示,服务 ......
385
0
0
2023-04-07
目录前言什么是MQTT协议MQTT协议的模型开发MQTT通信1. 处理客户端和服务端(1)服务端开发(2)客户端开发2. 客户端开发Paho的mqtt的BUG总结前言为什么要讲MQTT协议?因为现在越来越多的领域会使用到这个协议,无论是做M2M,还是做Iot,或是想实现推送功能,MQTT都是一个不错的选择。什么是MQTT协议MQTT协议又称为消息队列要测传输 ......
420
0
0
2023-04-05