返回
顶部

前言

儿童节快乐!!!

源代码:

git clone --depth 1 --branch 2.7.0 https://github.com/iNPUTmice/Conversations.git

克隆到本地之后,使用as打开,gradle sync的过程中可能会遇到各种问题,但是我相信xdm都可以自己解决,或者contact me

另外,要想进行调试的话,你需要一个xmpp server,参考这篇安装文章

welcom activity

这个活动是app第一次启动时首先创建的活动

0x1

第一个知识点是DataBindingUtil.setContentView

位置:

Conversations\src\conversations\java\eu\siacs\conversations\ui\WelcomeActivity.java
line 109~136

使用DataBindingUtilsetContentView进行数据绑定之后,原来的布局文件会转换成一个类,按钮的ID名称随之变成该类的成员变量,名称也会有所变化

生成的类文件根据第二个参数,也就是布局文件的名称决定,本例中生成的类名称为 out\eu\siacs\conversations\databinding\ActivityWelcomeBinding.java

规则就是首字母大写,下划线去掉,然后下换线后面的第一个字母大写后面再加一个Binding

id的名称转换规则就是去掉下划线,首字母小写,下划线后面的字母大写

比如在本例中注册新账户的按钮ID是register_new_account,那么成员变量的名称就应该是registerNewAccount,如果把按钮ID改为register_n_ew_account,那么成员变量的名称就会变成registerNEwAccount

0x2

在点击完使用已有账户的按钮之后,会唤起另一个activity:EditAccountActivity