2014-01-16 39 views
3

我想知道設計/編程的最佳方式:通過意圖或靜態變量傳遞值?

如果我有一個布爾值(假設用戶是否有額外的權力),我需要將它從活動A傳遞給B到C 。我應該將它添加到每個活動的意圖到另一個或我應該只是將它存儲在一個靜態變量,並每次訪問它?

+0

優先靜音變量 – Raghunandan

+0

@JiteshUpadhyay我不是專家。如果有什麼不對,我發現我會留下評論 – Raghunandan

回答

3

以意圖傳遞它更安全。有時候android會在不需要內存的情況下殺死應用程序,而另一方面,您的靜態值將不會保留。如果你想進一步推動它,使用共享偏好。其設計使用Map數據結構,所以速度不會成爲問題。

1

的Android IntentsputExtra方法,你可以用它來從一個活動傳遞變量到另一個。

public class ActivityA extends Activity { 

    ... 

    private void startActivityB() { 
     Intent intent = new Intent(this, ActivityB.class); 
     intent.putExtra("HAS EXTRA POWER", false); 
     startActivity(intent); 
    } 
} 

public class ActivityB exntends Activity { 

    Bundle bundle; 

    private void hasExtraPower() { 
     bundle = getIntent().getExtras(); 

     if(!bundle.getBoolean("HAS EXTRA POWER") 
      // do something 
     else 
      // do something else 
    } 
}