剖析flutter_download_manager学习如何做下载管理,暂停和取消
前言 内容类应用中图片或文件下载,一般应用中应用更新和升级,这些都是经典的下载场景。下载是项目中基础且重要的模块。 从代码逻辑复用性和人力成本考虑,一直想实现一个纯Dart实现的下载库,作为技术储备。 最近发现了一个纯Dart实现的下载库flutter_download_manager,相对来说各方 ... »
前言 内容类应用中图片或文件下载,一般应用中应用更新和升级,这些都是经典的下载场景。下载是项目中基础且重要的模块。 从代码逻辑复用性和人力成本考虑,一直想实现一个纯Dart实现的下载库,作为技术储备。 最近发现了一个纯Dart实现的下载库flutter_download_manager,相对来说各方 ... »
目录 Android数据存储几种方式 一、共享参数 二、数据库SQLite 1、数据定义语言(DDL) (1)创建表格 (2)删除表格 (3)修改表结构 2、数据操纵语言(DML) (1)添加记录 (2)删除记录 (3)修改记录 (4)查询记录 三、数据库管理器SQLiteDataba »
我们常常使用的drawable和mipmap到底区别在哪里, 我们找到资料中关于它们的说明到底是不是符合我们实际的情况. ... »
Android 分区和内存监控 - 设计兜底方案,防止Android 可写内存内存紧张的情况下,系统不能启动。 Android 分区和内存监控 Andorid之所以是分区,是因为各自有对应的功能和用途的考量,可以进行单独读写和格式化。 Android 设备包含两类分区: 一类是启动分区 »
目录 ButterKnife的工作原理 BuffterKnife 采用 注解+ APT技术 APT:Annotation Processor tool 注解处理器,是javac的一个工具,每个处理器都是继承于AbstractProcessor 注解处理器是运行在自己的java虚拟机中 APT »
目录 前言 动效 闲鱼动效 仿写效果 思路 1、底部返回键旋转动画 2、底部四个栏目变速上移动画+渐变动画 3、中间图片渐变动画 4、顶部文案渐变动画+下移动画 5、注销动画 前言 目前正在做的项目,为了增加用户的体验度,准备增加一些动画效果,其中底部栏中间按钮的点击事件参考了闲鱼 »
目录 广播机制简介 接收系统广播 动态注册监听网络变化 静态注册实现开机启动 发送自定义广播 发送标准广播 发送有序广播 使用本地广播 使用广播实现强制下线功能 广播机制简介 标准广播:完全异步执行,广播发出后,所有广播接收器几乎都同一时刻收到这条广播(无法被截断) 有序广播 »
目录 前言 什么是瀑布流 怎么实现瀑布流 基于MVVM设计模式的RecyclerView实现瀑布流代码 工程整体结构 布局 后端代码 总结 正确的做法 错误的做法 前言 网上充满着不完善的基于RecyclerView的瀑布流实现,要么根本是错的、要么就是只知其一不知其二、要么就是一 »
目录 前言 问题1、为什么onCreate和onResume中获取不到view的宽高? 问题2、为什么View.post为什么可以获取View宽高? 结论 前言 有一个经典的问题,我们在Activity的onCreate中可以获取View的宽高吗?onResume中呢? 对于这类八股问题 »
Android数据绑定技术一,企业级开发 Android数据绑定技术二,企业级开发 Android JetPack~ DataBinding(数据绑定)(一) 集成与使用 Android JetPack~ LiveData (一) 介绍与使用 Android JetPack~ »
本文内容主要翻译自issue 中国外大佬对防抖与节流的解释, 后面补充了自己的理解和总结。 什么是防抖与节流 防抖和节流是处理“过于频繁”发生的事情的常用技术。想象一下,你和朋友见面,朋友正在给你讲一个故事,但他们说话时很难停下来。假设您想在可能的情况下不打断他们满足他们讲故事的兴致,同时还要回应他 ... »
目录 1、问题: 2、文档 3、参考: 4、解决方案: 总结 1、问题: 今日了解到了一个新内容,意指打一个新的空包提审,来实现同个应用二次提审的效果;通过一系列操作后,成功打出了所谓aab格式的安装包。(至于为什么是aab格式,相信有所了解的朋友自然也知道什么原因,还未曾了解的朋友可以 »
本文首发我的博客,github 地址 大家好,我是徐公,今天为大家带来的是 RxJava 的一个血案,一行代码 return null 引发的。 前阵子,组内的同事反馈说 RxJava 在 debug 包 crash 了,捕获到的异常信息不全。(即我们捕获到的堆栈没有包含我们自己代码,都是一些系统或 ... »
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 SharedPreferences 是 Android 平台上轻量级的 K-V 存储框架,亦是初代 K-V 存储框架,至今被很多应用沿用。 有的小伙伴会说,SharedPrefere ... »
目录 前言 技术难点 1. 如何拦截到所有的view的点击事件 2. 如何对app所有的view设置setAccessibilityDelegate 可以优化的点 总结 前言 本篇技术实现主要是运行是代理,不涉及到插桩技术,不引入插件,对业务影响点最小 技术难点 1. 如 »
目录 Timeout 类的设计 理解 timeout 与 deadline 的区别 AsyncTimeout 类的设计 AsyncTimeout 成员变量 AsyncTimeout 成员方法 总结 Okio是一个IO库,底层基于Java原生的输入输出流实现。但原生的输入输出流并没有提供超 »
目录 okio库的类结构 okio 主要的接口和类 okio接口和类的说明 okio读取文件 Okio.source 方法 Okio.buffer 方法 readUtf8() 方法 总结 Okio双流操作 Segment类的设计 Segment的特点 Segment成员变量 Segme »
目录 定义 模型关系 内部属性 行为约束 使用建议 消息队列相关概念 消息队列的消费场景 消息至多被消费一次 消息至少被消费一次 消息仅被消费一次 实践Hello World 消息队列好处或功能 定义 队列是 Apache RocketMQ 中消息存储和传输的实际容器,也是 Apa »
一般情况下LiveData都是搭配这ViewModel使用,这里先介绍一下LiveData,再结合ViewModel使用 Android数据绑定技术一,企业级开发 Android数据绑定技术二,企业级开发 Android JetPack~ DataBinding(数据绑定)(一) 集成与使用 And ... »
目录 1.自定义View简介 2.构造方法 3.onMeasure() 4.onDraw() 5.onTouch() 6.自定义属性 6.1在res下的values下面新建attrs.xml 6.2在布局中使用 6.3在自定义View中获取属性 1.自定义View简介 自定义view可 »