OOFTF Blog

「美好的事情即将发生」

Rxpermissions

RxPermissions isGranted,isRevoked shouldShowRequestPermissionRationale,request,requestEach,requestEachCombined,ensure,ensureEach,ensureEachCombined isGranted 是否已经获取到权限 isRevoked 和isGranted 相反 en...

Rxlifecycle

Program type already present: android.arch.core.util.Function support 27.1.1 RxLifecycle 2.2.2 27.1.1升级成 28.0.0

Rxjava

在没有使用RxJava时我们遇到了什么问题 回调式网络请求会降低代码可读性 切换线程十分麻烦 网络请求如果操作不当会导致内存泄漏,处理内存泄漏的方式比较麻烦(静态类+弱引用 和 将取消事件传递到导致泄漏的引用层,解除引用) 为什么要使用RxJava RxJava是如何解决上述问题的 RxJava还能做什么 各种操作符(十分强大) 计时器 什么是RxJa...

Gradle

Gradle官方文档 强制使用指定版本 configurations.all { 1 2 3 4 5 6 7 8 9 10 resolutionStrategy { force 'com.android.support:appcompat-v7:26.1.0' force "com.android.support:support-v4:${supportVersion}" ...

Compose

compose Google 文档 在应用或模块的 build.gradle 文件中添加所需工件的依赖项: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 android { buildFeatures { compose true } composeOptions { kotlinCompilerVer...

Hilt

Hilt 优点 重用代码 易于重构 易于测试 缺点 错误信息比较难理解 上手难度非常高 Hilt 官方文档 依赖注入DI文档 dagger hilt 官方文档 构建并验证依赖关系图,确保没有未满足的依赖关系且没有依赖循环。 集成配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ext.hilt...

进程优先级

(进程的优先级)[https://developer.android.com/guide/components/activities/process-lifecycle?hl=zh-cn] 1.前台进程: 用户目前执行操作所需的进程 如果以下任一条件成立,则进程会被认为位于前台: 进程持有一个正在与用户交互的 Activity 即 处于 ON_RESUME 状态 Service ...

过渡动画

问题 ARouter支持吗 1 2 3 可以 #### 两边控件必须使用同一个类吗 不同的类也可以 #### 可以不用theme 在代码中动态设置吗,需要注意什么 可以

热修复

热更新技术的关键点 如何生成补丁 如何让补丁替换相应的资原 代码 res 下的资源 manifest so文件 代码修复 底层替换方案 底层替换方案是在已经加载了的类中直接替换掉原有方法,是在原来类的基础上进行修改的。因而无法实现对与原有类进行方法和字段的增减,因为这样将破坏原有类的结构。...

Travis

sample 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 language: android jdk: oraclejdk8 sudo: false android: components: - platform-tools - tools - build-tools-28.0.2...

Sample Projects

## PokemonGo Awesome-WanAndroid Google官方Demo Flutter flutter_wanandroid

Notification

Problem android 8.0 为什么不显示:没有设置NotificationChannel setLargeIcon 设置左侧大图标 在没有设置的情况下会显示app icon setSmallIcon 为什么不管用:在原生系统为右边小图标,在定制系统中有可能是不显示的(已知 MIUI 10不显示) 如果打开有通知时显示图标,会在stat...

Error

More than one file was found with OS independent path ‘lib/armeabi-v7a/libgnustl_shared.so’ matrix 导致build失败,但是运行成功 line 需要设置 height 不然会导致drawBottom等属性不显示 1 2 3 4 5 6 7 8 9 10 11 <?xml versio...

Common

layout: post author: “ooftf” tags: Android — 获取密钥详情 需要Java环境 keytool -list -v -alias master -keystore C:\StudioProjects\Master\app\lihang.jks 项目打印依赖 gradlew :app:dependencies 在kotlin项目中 注解处理器要使...

Reactnative

命令 设置镜像 npm config set registry https://registry.npm.taobao.org –global npm config set disturl https://npm.taobao.org/dist –global 安装yarn应用 npm install -g yarn react-native-cli 设置镜像 yarn config set...

Json

Problems 如果json中有某个对象不想解析,但是想找个对象去接收,不要使用org.json.JSONObject, 如果使用org.json.JSONObject;在解析的过程中会被忽略掉,不会得到对应的结果。 如果你使用的是fastjson可以使用com.alibaba.fastjson.JSONObject 可以得到想要的结果但是不推荐(FastJson已确认可以) 同理...

Fragment

为什么会出现fragment重叠现象: 1 2 因为activity内存回收的时候,fragment被FragmentManager保存了下来,当再次创建Activity的时候,原来被保存下来的fragment默认为显示状态 解决方式: 1. fragment保存显隐状态 2. activity重新创建的时候通过 tag找到原来fragment并重新设置显隐状态 Fragm...

Flutter

问题 为什么要考虑移动端跨平台开发 为什么选择Flutter Flutter如果做到跨平台 Flutter内部架构 Flutter对比RN和小程序有什么优缺点 Flutter对于热更新的支持 现有项目如何引入Flutter Flutter和本地通讯 Android控件和Flutter控件的对应关系 Flutter布局 Flutter和Androi...

Node

相关资料 Node的本质是什么 服务器 和它处于同一作用的产品有哪些 Apache 和 Tomcat 等 为什么会产生node.js 传统服务器 每个连接都会生成一个新线,程每个新线程可能需要 2 MB 的配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户 整个 Web 应用程序架构(包括流量、处理器...