我应该通过信息使用目的或使用一个静态变量

问题描述:

你 另一个设计问题,如果我有5个活动,可能导致从一个活动 A-> B A->ç A->电子 ...等我应该通过信息使用目的或使用一个静态变量

活动A的值需要传递给所有其他活动,然后你建议通过意图传递它们,或者我应该只在活动A中有一个全局静态变量,并在任何其他活动中读取值?

谢谢

绝对不使用静态公共变量。

你应该使用:

  • SharedPreferences或DB是否应保持数据(缓存)
  • 如果需要在应用程序的某些部分数据意向演员(夫妇的活动)
  • 应用继承人对于应用程序范围的数据,不应该持久化。
+1

很好的答案,但不知道为什么不是静态变量。什么是缺点? – Snake 2012-03-03 23:56:32

+1

它将您带回程序性编程的石器时代,并会在任何大型项目中造成混乱。 – kzotin 2012-03-04 10:45:06

+2

是的,但如果你是一个人做一个快速的小项目,它可能会节省你的时间和精力,而无需创建意大利面代码。纯粹为了避免“程序性编程”而创建额外的工作和代码行并不总是值得的。 – CorayThan 2014-02-14 09:15:28

你也可以继承android.app.application和使用类活动之间共享数据。

public class MyApp extends Application { 
    String mySharedString = "Hello World"; 
} 

How to declare global variables in Android?