Android 超详细深刨Activity Result API的使用

网友投稿 298 2022-06-07


如果你将项目中的appcompat库升级到1.3.0或更高的版本,你会发现startActivityForResult()方法已经被废弃了。

这个方法相信所有做过Android的开发者都用过,它主要是用于在两个Activity之间交换数据的。

那么为什么这个如此常用的方法会被废弃呢?官方给出的说法是,现在更加建议使用Activity Result API来实现在两个Activity之间交换数据的功能。

我个人的观点是,startActivityForResult()方法并没有什么致命的问题,只是Activity Result API在易用性和接口统一性方面都做得更好。既然有更好的API,那么就不再建议去使用过去老旧的API,所以才把startActivityForResult()方法标为了废弃。

其实除了startActivityForResult()方法之外,还有像requestPermissions()方法也被标为了废弃。看起来它们两者之间好像并没有什么关联,但是到了Activity Result API中,它们就被归属到了统一的API模板当中。因此,我们可以使用非常类似的代码去实现在两个Activity之间交换数据,以及请求运行时权限的功能。

另外,Activity Result API的用法非常简单,一学就会。相信你看完本篇文章之后,就可以将自己项目中所有相关的代码都升级成Activity Result API的用法。

那么我们开始吧。

在两个Activity之间交换数据

如果想要在两个Activity之间交换数据,我们先回顾一下传统的写法:

class FirstActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_first) val firstButton = findViewById

上一篇:以SQLite和PySqlite为例来学习Python DB API(sqlite与mysql)
下一篇:关于localStorage的存储,读取,删除(localstorage是什么文件夹可以删除吗)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~