Briefness
数据绑定、布局绑定、控件绑定、事件绑定、数据异常预处理、开发更加简单。
Install / Use
/learn @iwdael/BriefnessREADME
Briefness
<br/><br/>
数据绑定、布局绑定、控件绑定、事件绑定、数据异常预处理、开发更加简单。
特点
- 支持MVVM(Model-View-ViewModel)
- 支持任意数据类型绑定(包含自定义控件)
- 支持任意类绑定(Activity、Fragment、Dialog、View 如果有需要普通类也可以)
- 规避空指针引发的异常(防止项目开发中,数据异常引起的空指针)
- 支持View绑定(我不建议你这样做,因为根本没有必要)
- 支持点击事件双向绑定(Activity中绑、layout中也可以)
- 支持长按点击事件绑定
- 支持library、application
- 支持布局绑定
- 支持简单比较运算
概述
Briefness能够避免在项目开发中一些重复繁琐的工作,规避因数据异常引发的空指针异常,提高开发效率。它量身为MVVM框架打造,实现UI逻辑与业务分离,解耦,提高可重用性。 它提供了3种注解方式,9种xml属性完成数据绑定,事件绑定等操作。
|属性|功能|控件| |:------:|:------:|:------:| |imports|引入需要绑定的类|root view| |viewModel|引入Viewmodel|root view| |bind|绑定数据|view| |click|点击监听|view| |longClick|长按监听|view| |textChanged|文本变化监听|TextView| |checkChanged|选择变化监听|CheckBox| |tabSelected|选择变化监听|TabLayout| |tabUnselected|选择变化监听|TabLayout| |pageSelected|选择变化监听|ViewPager| |progressChanged|进度变化监听|SeekBar| |radioChanged|选择变化监听|RadioButton| |Immersive|选择变化监听|Activity|
|注解|功能| |:------:|:------:| |BindLayout|绑定布局,并解析布局文件| |BindView|绑定控件| |BindClick|绑定事件|
比较
||注解控件|注解方法|注解布局|数据绑定|任意绑定|事件传递|学习成本| |:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| |Briefness|支持|支持|支持|支持|支持|支持|低| |Databinding|不支持|不支持|不支持|支持|不支持|支持|高| |ButterKnife|支持|支持|不支持|不支持|不支持|不支持|低| |XUtil|支持|支持|不支持|不支持|不支持|不支持|中|
使用说明
-
在使用Briefness提供的功能之前,必须调用Briefness.bind方法,该方法会返回Briefenssor的一个实现类。
-
在绑定和引入类中,如果你需要绑定多个数据,或者引入多个类,请使用“|”符号隔开。
-
"$"符号必须是成对使用的,使用"$"引起来的变量表示是需要变换的。
快速引入项目
合并以下代码到需要使用的Module的dependencies中。
dependencies {
...
implementation 'com.hacknife.briefness:briefness:2.0.5'
annotationProcessor 'com.hacknife.briefness:briefness-compiler:2.0.5'
}
混淆
-keep class * implements com.hacknife.briefness.Briefnessor{*;}
-keep @com.hacknife.briefness.BindLayout class *
-keep public interface com.hacknife.briefness.Briefnessor{public *;}
-keep class **.BriefnessInjector {
*;
}
-keep class **.ViewInjector {
*;
}
<br><br><br>
感谢浏览
请不要吝啬你的小星星,如果你有任何疑问,请加入QQ群,我将竭诚为你解答。
<br>

Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
