2013-04-26 85 views
0

我沒有可序列化的數據,我必須發送到其他Activity。 我嘗試使用Intent,但這是不可能的。發送不可序列化的數據到新的活動

Intent intent = new Intent(v.getContext(), UserDetailActivity.class); 
intent.putExtra("class", user); 
v.getContext().startActivity(intent); 

如何從以前Activity將數據發送到新Activity

+0

'user'究竟是什麼?一個自定義的'User'類? – 2013-04-26 13:48:16

+0

什麼是「用戶」的類型? – SKK 2013-04-26 13:48:18

+0

你能詳細說明一下什麼樣的數據? – 2013-04-26 13:48:26

回答

1

我不認爲你可以這樣做,因爲ParseUser需要實現可Parcelable或Serializable。您可能無法修改該課程,因此您可以這樣做:

  1. 創建一個包裝類並重建ParseUser對象。這個包裝器需要實現Parcelable或者Serializable。這可能並不總是奏效。

  2. 在此創建的應用程序類創建ParseUser對象的實例。

  3. 使用單身。

1可能比較棘手,2和3比較容易。

+0

我使用了2,因爲解析SDK是不可能的。 3與2相同。 – Val 2013-04-27 11:14:05

0

您可以通過兩種方式

1.方式做到這一點,你正在做它通過意向

傳遞數據

要使用的數據通過此方法使用getIntent()方法來發送你的第二個活動中,其你想傳遞的數據,這給你的意圖對象,並從thatvyou可以reteive數據傳遞你的密鑰

0

您可以使用Google Gson lib將對象轉換並解析爲JSON格式的字符串,並將它們作爲普通Java字符串傳遞。

將對象轉換爲JSON字符串:

ParseUser user=new ParseUser(); 
Gson gson = new Gson(); 
String json = gson.toJson(user); 

要從JSON字符串解析它回對象:

ParseUser user = gson.fromJson(json, ParseUser.class); 

一種無關的考慮,但是,是是否通過ParseUser到另一個活動是個好主意。 ParseUser可能因爲不好的庫設計而無法序列化,或者因爲它不應該以這種方式使用。由於我不使用這個特定的庫,我無法爲你回答這個問題。