安利一个Activity/Fragment接收传值的注解库

安利一个Activity/Fragment接收传值的注解库

BundleInject

是否厌倦了在Activity/Fragment中频繁的getIntent().getExtras()?如果是,这或许就是你的救星。

非常简单的使用步骤:

  1. 定义好要你要用于接收数据的属性;
  2. 使用注解Inject,并注明接收的key值;
  3. 在Activity/Fragment中onCreate方法中调用Injects.inject(this)。

就像这样:

public class MainActivity extends AppCompatActivity {
    // 这里的name代表往intent里面put的key值
    @Inject("name")
    String username; 
    // 注意不能是final或者private
    @Inject("password")
    int password;
    // 属性可以不传,不传默认为属性名,在此处就是age
    @Inject
    float age;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 重要,一定要调用这个
        Injects.inject(this);

        //打印接收到的值
        Toast.makeText(this,
                String.format(Locale.CHINA, "username=%s\npassword=%d\nage=%s", username, password, age),
                Toast.LENGTH_LONG)
                .show();
    }
......
}

在Fragment中使用同理,也可以在非Activity/Fragment中使用,不过这时候需要传两个参数,即需要注入的类本身和Bundle。

导入依赖

dependencies {
  ....... // 这是之前的依赖不要动
  annotationProcessor 'cn.geektang:inject-complier:1.0.0'
  implementation 'cn.geektang:inject-api:1.0.0'
}

如果你用的是kotlin,请把annotationProcessor换成kapt。
如果依赖下载不下来,在build.gradle中的仓库中加入以下仓库:

maven { url 'https://dl.bintray.com/geektang/maven'}

混淆

已处理好混淆事宜,无需额外处理

github地址

点击这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值