Lin Guo

Results 20 comments of Lin Guo

想问一下使用的是哪个版本的PermissionX呀?

感谢建议,但是我查询了各种方法都没能实现这个功能,看上去这是Google第一方编译器配合第一方的API实现的语法检查功能,第三方的API编译器检测不到,非常遗憾应该是实现不了的。

点了本次允许的话,PermissionX应该已经执行结束把权限请求结果返回给你了,PermissionX相当于在这个场景下已经关闭了。home出去,再一会再进去,就白屏,请问是怎么定位到和PermissionX有关系的?

能把具体崩溃日志发出来吗

你在build.gradle里面加上这段配置试试呢: ```gradle android { aaptOptions { noCompress '.xml' } } ```

LitePal在创建对象实例的时候,用的是一种算法机制去找寻最合适的构造方法,但是我发现这种方式时不时会产生一些诡异的问题,比如说你现在遇到的这种情况。 下个版本当中,我会将LitePal创建对象的方式完全变更,改用Unsafe API的方式,这样应该就不会再产生这种诡异的问题了。

能把你的实体类也贴出来看一下吗

LitePal不是默认使用无参数构造方法,而是会找寻最合适的一个构造方法,如果找不到就会抛出上面的异常。但是我很难能理解为什么会找不到最合适的构造方法,因为正常情况下一个类必然会有构造方法。 所以我才说让你贴一下你的实体类到底是定义成什么样子的,主要是便于我定位问题。当然这个问题已经过去这么久了,你找不到当初的代码也正常。我在新版的LitePal当中在这处地方加了很多日志,如果以后再发生这样的问题,我就能明白为什么会找不到合适的构造方法。 那么这个问题我就先关闭掉了。

我先将这个问题重新打开,这个问题其实很尴尬,是个Kotlin的非空机制和反射初始化时暂时置空的机制冲突导致的。 LitePal反射初始化的机制是有瑕疵的,后面我准备改成类似GSON的反射初始化机制,到时候可以规避掉现在遇到的这种情况。 如果是想要通过修改实体类的方式来解决这个问题,一个办法是你说的给参数添加默认值,另一个办法就是给这些类型的后面加上?,让它们可以为空。

很抱歉,目前的LitePal 3是无法支持这个功能的,一个项目中只能统一使用同一个litepal.xml。 不过在接下来的LitePal 4当中我可能会解决掉这个功能。