2015-10-12 182 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

太棒了,祝你好运:) –