gpt4 book ai didi

android - 通过某种方式通过 Intent 启动 Activity 有什么好处?

转载 作者:太空狗 更新时间:2023-10-29 13:08:06 26 4
gpt4 key购买 nike

我知道有两种方法可以启动带有 Intent 的 Activity 。假设我在 Activity A 中,我想启动 Activity B。我可以执行以下操作。

1)在 Activity B 中,我有一些静态方法:

public static Intent newIntent(Context packageContext){
Intent intent = new Intent(packageContext, ActivityB.class);
return intent;
}

我可以从 Activity A 调用:

startActivity(ActivityB.newIntent(this));

2)另一种方法是我比较常看到的:

我在 Activity A 中执行以下操作

Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);

使用一种与另一种相比有什么好处或缺点吗?我认为方法 1 更简洁一些,因为它将 Intent 信息保存在实际将以 Intent 启动的类中。

最佳答案

案例优先

优点:

  • 这遵循 DRY原则意味着不要重复你自己

缺点:

  • 它仅限于一个类,即 ActivityB.class

  • Utility 类的命名约定不明确

  • 注意灵活添加额外的属性,除非方法定义被修改为接受一些 map或者什么的

第二种情况

优点:

  • 更灵活,因为可以开始任何 Activity

  • 任何属性都可以添加到intent对象 i.g putExtra还有很多其他的

缺点:

  • 不遵循DRY原则

  • 多次重复时效率低下

改进

  • 给你的方法适当的命名
  • 可以重载以接受键值映射
  • 申请 Class<?>接受任何类作为参数

关于android - 通过某种方式通过 Intent 启动 Activity 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44988676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com