Java 如何从应用程序将信息保存并加载到手机?
我的应用程序是一个基本的高尔夫计数器,主要是一个包含2个整数的“洞”对象数组;孔编号和冲程编号 当应用程序被关闭时,我试图将信息以字符串形式保存到手机中,然后将其读回,并使用Java 如何从应用程序将信息保存并加载到手机?,java,android,eclipse,Java,Android,Eclipse,我的应用程序是一个基本的高尔夫计数器,主要是一个包含2个整数的“洞”对象数组;孔编号和冲程编号 当应用程序被关闭时,我试图将信息以字符串形式保存到手机中,然后将其读回,并使用string.split()和Integer.parse()将信息写入数组中 我使用了OnPause()和OnResume(),我一直在测试我的应用程序,按下后退箭头按钮查看它是否正在保存。但我似乎无法让它发挥作用 我是否正确地使用了OnPause()和OnResume()?如果我还不熟悉它,正如您在所附的图片上看到的那样,
string.split()
和Integer.parse()
将信息写入数组中
我使用了OnPause()
和OnResume()
,我一直在测试我的应用程序,按下后退箭头按钮查看它是否正在保存。但我似乎无法让它发挥作用
我是否正确地使用了
OnPause()
和OnResume()
?如果我还不熟悉它,正如您在所附的图片上看到的那样,它非常值得一读。OnPause()和OnResume()是正确的位置:
你应该检查你的代码。您如何保存数据?它是如何读回的?执行一些logcat调试输出
也许您应该使用mySQL数据库来持久保存数据 如果希望永久保存这些值,则需要如下使用:
(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()
,则什么也不会发生。你也可以(我也会)对SharedReferences
使用方法链接,我只是觉得应该保持简单
把它们作为int(或者int[]我不完全清楚你要的是哪一个)来处理,而不是处理所有的拆分和解析,同样容易。现在,如果你试图添加它们,那么每次你退出时,你的洞和打击都会被添加到一个不断增长的数组中,这就有点复杂了,如果是这样的话,我也可以帮你