QuickActivity使用详解-快速启动Activity

QuickStartActivity是什么东西呢,顾名思义就是快速启动Activity。

那此组件有什么特点:

接管onActivityResult,根据目标Activity自动生成requestCode,并且以回调的方式从上一个页面返回数据,从而无需自己重写onActivityResult,节省了些体力,代码量也变少了。

接下来我们看一下正常写法:

1、启动Activity

val intent = Intent(this, RvListActivity::class.java)
val requestCode = 0x123
startActivityForResult(intent, requestCode)

2、接收数据,然后处理业务逻辑

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        when(requestCode){
            0x123->{
                
            }
        }
    }

这种写法需要定义requestCode,一般App里面页面上百个是很正常的,笔者使用时总是担心使用requestCode重复出现问题,并且每次都需要重写onActivityResult,虽然代码不多,但是如果写得次数多了,依然很难受。

所以,请看下QuickActivity的写法

QuickActivity.Builder(this@MainActivity, RvListActivity::class.java)
        .addParams("TITLE", "这是标题")
        .addParams("ID", "123")
        .startActivity { resultCode, data ->
            //do something
            //下一个页面将在这里返回哟
        }

//如果有一些已经定好的数据,可以直接传入,支持Intent与Bundle
val intent = Intent()
intent.putExtra("TITLE", "这是标题")

val bundle = Bundle()
bundle.putString("ID", "123")

QuickActivity.Builder(this@MainActivity, RvListActivity::class.java)
        .addParams(intent)
        .addParams(bundle)
        .startActivity()//不需要返回值,不传入监听即可

是不是比正常写法简洁许多呢,在哪里需要返回值,直接传入一个监听即可,不需要则不传,还去掉了让人恼火的requestCode。还将数据分类返回了,逻辑一下子清晰了。

接下来就看下配置吧,非常简单

只需要在基类Activity中接入onActivityResult即可,一行代码的事儿。

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        QuickActivity.onActivityResult(requestCode, resultCode, data)//加上这一行
}

推荐使用gradle接入

implementation 'org.quick.android:quick-component:latest.release'

统一初始化放在Application中:

QuickAndroid.init(this)

源码地址:https://github.com/SpringSmell/quick-component

好了,到这里就结束,好东西那当然要分享了,马上告诉小伙伴我发现了一个很酷的东西吧

QuickAndroid系列全家桶

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值