2013-03-21 167 views
1

我是Android開發的新手,以及數據如何從一個活動傳遞到另一個活動對我而言仍然不清楚。
在活動之間傳遞自己的對象是否是一種很好的做法?在活動之間傳遞自己的對象

他們有哪些尺寸?編輯: 也許我沒有解釋清楚。我知道如何在活動之間傳遞數據。問題是:這是一種好的做法,還是應該更好地從SQLlite數據庫獲取數據?在這種情況下,我可以通過哪種最大尺寸來獲得良好的性能?

+5

請參閱本http://androidhub.wordpress.com/2011/08/03/android-intents-for-passing-data-between-activities-part-3/ – rajeshwaran 2013-03-21 10:53:33

+0

添加到什麼@rajeshwaran是說我會建議您閱讀並實施了從非常基礎到高級的Intent示例。 Indepth意圖知識對於Android應用開發非常重要。 – 2013-03-21 11:13:54

回答

2

發送對象與發送預先定義的對象(例如String或變量)相同,可以通過將對象綁定到Intent,通過將putParceble()或putSerializable()方法直接用於intent或通過將對象綁定到bundle對象來完成。 但是你必須確保你的類實現了Parcelable或者Serializable。

喜歡這裏:

 UserDefined myObject=new UserDefined(); 
    Intent i = new Intent(this, Activity2.class); 
    Bundle b = new Bundle(); 
    b.putParcelable("myObject", myObject); 
    i.putExtras(b); 
    startActivity(i); 

而且在接收活動:

Bundle b = this.getIntent().getExtras(); 
    myObject = b.getParcelable("myObject"); 

您還可以發送對象,而無需使用軟件包:

Intent i=new Intent(PicActivity.this,PostPhotoActivity.class); 
    i.putExtra("myObject", myObject); 
    startActivity(i); 

上receivingActivity:

 UserDefined myObj=(UserDefined)getIntent().getParcelableExtra("myObject"); 

在Android parcelable是首選,而不是可序列化。