Android项目接入Rust

背景

本次讨论在已有的安卓项目工程中配置rust的方法,同时记录一下踩坑过程,首先本地pc端配置好rust的开发环境,配置rust的过程就默认你会了。

阅读更多

一种事件流埋点的实现方案

问题背景:

假定app端上有个场景,是一个有序的流程,在每个关键节点都是可能失败的。现存的方案是在每个关键节点都做一个埋点上报,有如下痛点:

  • 埋点有丢失的情况,造成漏斗分析,后面比前面多的情况
  • DA数据分析侧,不方便分析整个流程,需要查询多个事件,再做关联,SQL过于复杂
  • RD侧也不能很好的处理反馈和关注问题
阅读更多

解决 Compose Layout Inspector 不能用

错误信息

当你辛苦写完一个页面,打开Layout Inspector 发现不能使用

1
2
3
Could not download androidx.compose.ui:ui:1.5.0-alphao1 from maven.google.com.
Check the internet connection. For offline repositories (not common)
please specify -Dappinspection.use.dev.jar=true as a custom VM property.
阅读更多

泛型的反序列化

简化问题

日常使用过程中,我们经常碰到泛型的序列化Json,但是有时候我们需要把一个Json反序列化成一个泛型对象,怎么做,你可能会想到这样做,例如在Gson中

1
Gson().fromJson<List<String>>(JsonString, List<String>::class.java)
阅读更多

MacOS Python获取系统版本不对

背景

今天遇到个奇怪的问题,在conda安装软件,不能自动获取最新的版本,查看了一下info,发现里面获取的系统版本不对,开始怀疑是这个版本的问题,但是在deactive conda之后,获取的版本是正确的

阅读更多

Json转Map的后出现ClassCastException

运行错误

测试代码

1
2
3
4
5
6
7
8
9
10
import com.google.gson.Gson
fun main() {
val map = HashMap<String, Int>()
map["key1"] = 111111
val jsonString = Gson().toJson(map)
println(map::class.java)
val hashMap = Gson().fromJson(jsonString, map::class.java)
val key1:Int? = hashMap["key1"]
println(key1)
}

运行的时候,会抛类型转换错误

阅读更多