我制作了一个应用程序,它只是一个简单的计数器,可以跟踪用户在打高尔夫球时的击球并在进行比赛时保存他们的得分。我只是希望在用户退出时不会杀死应用程序。我只是想让它在后台运行。因此,用户可以在执行其他操作后重新输入程序(如发短信或查看电子邮件)
我理解我需要使用服务,但在尝试在网络和其他论坛中研究该主题时,似乎他们都解释了如何在应用中继续使用特定活动,而不是整个应用。
我该怎么做?
答案 0 :(得分:1)
你可以做这样的事情
@Override
protected void onPause()
{
super.onPause();
SharedPreferences settings = getSharedPreferences("YourOwnPickedName", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("score", the_users_score);
}
并通过
获得分数 @Override
protected void onResume()
{
super.onResume();
SharedPreferences settings = getSharedPreferences("YourOwnPickedName", 0);
the_users_score = settings.getString("score", "0");
}
答案 1 :(得分:0)
您应该只将数据存储到永久存储中,而不是试图让应用程序无限期保持活动(无论如何都无法实现100%):
http://developer.android.com/guide/topics/data/data-storage.html
答案 2 :(得分:0)
我想指出Ben Williams大多是正确的,但他在保存文件中错过了一步( editor.commit(); )。在提交之前,数据不会存储在设置文件中:
@Override
protected void onPause()
{
super.onPause();
SharedPreferences settings = getSharedPreferences("YourOwnPickedName", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("score", the_users_score);
editor.commit();
}
我建议查看http://developer.android.com/reference/android/app/Activity.html以查看生命周期(确切了解您希望在何种情况下放置它)。
答案 3 :(得分:-1)
您可以将其设为Windows服务应用程序。