DataBinding 大坑总结(网上我暂时搜不到解决方法)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataBinding 大坑总结(网上我暂时搜不到解决方法)相关的知识,希望对你有一定的参考价值。

参考技术A 描述优缺点和简单使用
http://www.jianshu.com/p/d4e384c98987

用户指南
http://www.jianshu.com/p/b1df61a4df77

在使用多Module中使用DataBinding会引发一些奇怪的问题,最近好好的腾出时间来折腾这些奇怪的问题:

关于这个坑爹的问题我一直不敢确认我这个是否正确,也折腾了我好几天,我处理方式是把主项目的Module都引用到新项目的Module使用,然后获取到具体的错误问题,我这边获取到问题是把com.github.chrisbanes:PhotoView:1.0.0升级成com.github.chrisbanes:PhotoView:2.1.3。然后再运行主项目,这个问题又没了,真的是超级超级蛋疼。

不然会出现上面的一系列问题。

假设我们有一个这样的需求,module项目使用抽象基类,并且抽象基类已经确定了生成好的databinding

至于基类的逻辑我们暂且不管,这不是重点,重点是我们看这个app的实现类

两种方式解决:

反正最终就是在app的类里面,明确该DataBinding是属于某个lib即可!

会提示找不到所有生成的DataBinding。目前解决方式只能是module不用泛型DataBinding,只在app使用泛型DataBinding

当编译错误的时候,会发现很多提示databinding不存在,如下图

如果你拖到最下面,会看到真正导致错误的问题,如下图

那么解决方式:
可能目前还未比较完善,我是用排除方式一个一个模块进行删除,运行,找到真正的错误,最后在这里发现:

2019-9-27更新
这是最近碰到的一个问题,gradle4.1是没有这个问题的,而4.6就报这个参数过多问题了,原因是每个DataBinding编译生成的时候会在自动生成的类里面有个构造函数,而4.6的构造函数不知道为什么会报参数过多。至于解决方法,我目前是又退回4.1了,google暂时搜不到什么解决方法

可以输入该命令:gradlew compileDebugJavaWithJavac

然后就能看到详细的错误了
D:\yitu\MVVMRapid\app\src\main\java\com\my\mvvmrapid\MainActivity.java:4: 错误: 程序包com.my.mvvmrapid.databinding不存在

按照丰富的经验就是app没有引入databinding

一个非常丰富的开源库,如果你需要相册、录制、录音等操作,那么这个也许对你有一定的帮助:
zhongjhATC/AlbumCameraRecorder: 🔥一个高效的多媒体支持操作库,可多方面的简单配置操作相册、拍照、录制、录音等功能。也支持配套使用的展示图片、视频、音频的九宫格功能。 (An efficient multimedia support operation library, can be a variety of simple configuration operation album, photo, recording, recording and other functions.Also support supporting the use of the display of pictures, video, audio of the nine grid function.) (github.com)

PhpStrom如何安装主题?(总结三种不同格式安装方法)

在网上搜了很多都是不怎么齐全的方法,在这里我总结一下PhpStrom的三种不同格式的安装方法,以后就不用再去网上搜直接看我自己的博客就知道了。以下默认为Windows系统,Linux现在暂时还没更新。

不多说。直接上!

首先选择你自己喜欢的皮肤,这里有很多酷炫的皮肤可以选择:点我进入官网皮肤

我选好了,怎么安装呢?首先得看看你下载的文件格式是怎么样的,每个格式安装的方法都不一样。

.icls文件

下载完格式后,把icls文件放到C:\\Users\\用户名\\.PhpStorm2016.1(看你自身版本是什么)\\config\\colors里。

重启PhpStrom

点击File > setting

技术分享

点击Editor > Colors & Fonts > General 点击右边的Scheme选择你所要安装的皮肤,这样就OK啦!

技术分享

XML文件

和icls文件一样的操作。。但有可能博友会出现网页只出现XML数据但没下载XML文件。

出现这种情况就:把整个XML代码复制下来 > 新建一个文档 > 粘贴XML代码进去 > 保存 > 修改后缀名为.xml 最后就和icls文件一样的操作。记得重启PhpStrom!

JAR文件

JAR文件就简单咯。 Fire > Import Settings

技术分享

然后选择你刚下载的JAR文件 > 点击确认 > 在导入页面只将“Color Schemes”打钩 > 点击“ok” (注意:JAR文件可以包含多个配色方案) 

 

以上

以上是关于DataBinding 大坑总结(网上我暂时搜不到解决方法)的主要内容,如果未能解决你的问题,请参考以下文章

记一次 Data Binding 在 library module 中遇到的大坑

Offline DataBinding = enable导致错误:找不到databinding-runtime.jar

推荐系统/搜索-史上最全资源文章总结-没有你搜不到只有你想不到

安装office2010出现错误1101 找不到MSI1C3.tmp 网上也搜不到 如何解决啊

ClassNotFoundException:找不到类“android.databinding.DataBinderMapper”

找不到 androidx.databinding:viewbinding:4.1.0