2011-05-14 38 views
1

我的应用程序是一个基本的高尔夫计数器,主要是一个包含2个整数的“洞”对象的数组;孔数和笔划编号。如何从应用程序中将信息保存并加载到手机中?

我试图将信息以字符串形式保存在应用程序被终止时,然后再次读取并使用String.split()Integer.parse()将信息写回到阵列中。

我使用OnPause()OnResume(),我一直在测试我的应用程序,按后退箭头按钮查看它是否正在保存。但我似乎无法让它工作。

我有权利用OnPause()OnResume()

回答

0

,如果你婉值被永久保存,那么你需要使用SharedPreferences这样的:

(within onCreate) 
... 
SharedPreferences user_info = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
hole = user_info.getInt("hole", 0); 
stroke = user_info.getInt("stroke", 0); 
... 
} 

@Override 
public void onPause() 
    { 
    super.onPause(); 
    SharedPreferences user_info = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
    user_info.edit() 
    user_info.putInt("hole", hole) 
    user_info.putInt("strike", stroke) 
    user_info.commit(); 
    } 

,如果你不包括commit()然后什么也没有发生。你也可以(我会)使用方法链接SharedPreferences,我只是觉得我应该保持简单。

把它们作为int(或者int []我并不完全清楚你要去做什么),而不是处理所有的分裂和解析。现在,如果你试图添加它们,以便每次你放弃,你的洞和罢工被添加到一个不断增长的阵列,这更复杂一点,如果是这样的话,我也可以帮助你。

0

正如你所附加的图像上看到。在onPause()和的onResume()是在正确的地方:

enter image description here

你应该检查你的代码。你如何保存数据?它如何回读?做一些logcat调试输出...

也许你应该使用mySQL数据库来保存数据持久化。

相关问题