android - 为什么不在 Activity 中使用 "newInstance"模式?

标签 android android-intent android-activity

这似乎是一种简化如何为 fragment 设置参数的好方法,所以我很好奇为什么它不常被描述为创建启动 Activity 的明确 Intent ?

最佳答案

创建 static 没有什么错误构建 Intent 的方法开始一项 Activity ,甚至拥有 static启动 Activity 的方法。您也可以使用 IntentBuilder模式,您可以在其中公开生成 Intent 的构建器样式的 API ,对于简单方法行不通的场景。我在 my CWAC-Cam2 library 中采用了这种方法,例如。

Google 并未推广该模式,但如果您从 Android Studio 向导 IIRC 生成服务,您会看到此类代码。然而,Google 并不是真正致力于展示所有可能的编程模式。

据我所知,最大的限制是没有执行机制。虽然您可以提供这些类型的设施,但没有什么可以阻止开发人员绕过或忽略它们。 IOW,经典的创建- Intent -and-go API 是“公共(public)的”,您无法以某种方式将其设为私有(private)。因此,您的 Activity 需要假设最坏的情况,并进行您认为合适的任何防御性编程。

关于android - 为什么不在 Activity 中使用 "newInstance"模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44012072/

相关文章:

android - 如何在 Android Studio 中将 javadoc 附加到 Google Play 服务?

java - 最新的 Android Studio 3.6.3 在 Windows 10 中安装后无法运行

java - Android - Activity 在无限循环中重新启动

android - 使用Intent的Youtube播放列表,不显示对话框

android - 尽管尝试了所有建议,但应用程序在启动屏幕后崩溃

android - 具有普通 fragment 和支持 fragment 的 AppCompatActivity

android - 我的 ArrayList 中的唯一值

android - 在 Intent 中使用上下文

java - 如何使用文件提供程序从手机内部存储打开 ppt 文件

android - 如何反序列化 JSON 对象但将特定字段保留为字符串而不是嵌套对象?