Java 如何从应用程序将信息保存并加载到手机?

Java 如何从应用程序将信息保存并加载到手机?,java,android,eclipse,Java,Android,Eclipse,我的应用程序是一个基本的高尔夫计数器,主要是一个包含2个整数的“洞”对象数组;孔编号和冲程编号 当应用程序被关闭时,我试图将信息以字符串形式保存到手机中,然后将其读回,并使用string.split()和Integer.parse()将信息写入数组中 我使用了OnPause()和OnResume(),我一直在测试我的应用程序,按下后退箭头按钮查看它是否正在保存。但我似乎无法让它发挥作用 我是否正确地使用了OnPause()和OnResume()?如果我还不熟悉它,正如您在所附的图片上看到的那样,

我的应用程序是一个基本的高尔夫计数器,主要是一个包含2个整数的“洞”对象数组;孔编号和冲程编号

当应用程序被关闭时,我试图将信息以字符串形式保存到手机中,然后将其读回,并使用
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[]我不完全清楚你要的是哪一个)来处理,而不是处理所有的拆分和解析,同样容易。现在,如果你试图添加它们,那么每次你退出时,你的洞和打击都会被添加到一个不断增长的数组中,这就有点复杂了,如果是这样的话,我也可以帮你