2015-10-12 104 views
1

我有一個在onCreate方法中創建的對象,當應用程序運行時它每隔50ms更改一次,並且當用戶關閉一個應用程序時,我想保存這個對象到json文件。我有一個方法,但它需要一個對象作爲參數。我想在activity類中創建另一個對象,以便在onPause方法中將其用作參數,但我不知道如何在關閉應用程序之前從onCreat克隆對象。你有什麼主意嗎? 以下是將對象保存到json文件的方法代碼。如何使用onCreate方法將onCreate作爲參數的方法

public void writeObject(coin coinObj) { 
    SharedPreferences mPrefs = getPreferences(MODE_PRIVATE); 
    SharedPreferences.Editor prefsEditor = mPrefs.edit(); 
    Gson gson = new Gson(); 
    String json = gson.toJson(coinObj); 
    prefsEditor.putString("myObject", json); 
    Log.d("writeObject", "Has been saved successfully"); 
    prefsEditor.commit(); 
} 
+1

申報對象爲本地變量 – stinepike

+0

在這種情況下,當我從閱讀對象一個文件,gson.fromJson(來自Json符號無法解析) –

回答

3

只是聲明你的對象類的成員:

public class YourActivity extends Activity 
{ 

    Coin coin; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    coin = new Coin(); 
} 
} 

然後使用的onPause:

@Override 
protected void onPause() { 
    super.onPause(); 

    writeObject(coin); 
} 
+0

謝謝,它幫助我了出來 –

+0

太棒了,祝你好運:) –