【发布时间】:2011-12-29 09:39:12
【问题描述】:
我正在开发简单的应用程序,就像游戏一样。当我完成游戏后,页面显示为 time 和 score。现在,如果我想一次又一次地玩那个游戏。如何存储以前的所有时间和分数以及当前完成的时间。
我想在点击得分按钮后,按得分从高到低显示所有时间和得分。
我在赠与页面中完成了共享偏好,并且该值从分数页面中获取。但是为什么我第三次玩时不显示。第二次就好了。第三次等等..只是向上替换。我没有足够的想法,如何将所有信息存储到数组中并显示在列表中。但我尝试使用地图,但没有更多的想法。
我想在乐谱页面中显示这种格式:
时间............得分
1:10 .................... 175
2:05 ................... 145
1:15 .................... 110
2:50 ............... 90
这里我刚开始写小代码但不完整和更好,
GaveOver.Java
Where just diplay socre , time and mistakes after finish game.
Score.Java
public class Scores extends Activity {
private static String strTime;
private static int intScore;
public static SharedPreferences settings;
public static final String MY_PREFS_NAME = "PrefName";
@Override
protected void onCreate(Bundle savedInstanceState) {
ImageView back, reset, score_home;
super.onCreate(savedInstanceState);
setContentView(R.layout.score);
// lv = (ListView) findViewById(R.id.listView);
getValuesFromGaveOver();
SharedPreferences pref = this.getSharedPreferences(MY_PREFS_NAME, 0);
String data=pref.getString("DATA", "Nothing");
Log.i("horror", "DATA "+data);
}
private void getValuesFromGaveOver() {
SharedPreferences pref = this.getSharedPreferences(MY_PREFS_NAME, 0);
strTime = pref.getString(TIME, "n/a");
intScore = pref.getInt(SCORE, -1);
Log.i("horror", "From Gave Over "+"Time="+strTime+" "+"Score="+intScore);
}
@Override
protected void onStop() {
super.onStop();
SharedPreferences pref = this.getSharedPreferences(MY_PREFS_NAME, 0);
strTime = pref.getString(TIME, "");
intScore = pref.getInt(SCORE, -1);
savePreferences(intScore, strTime);
}
private void savePreferences(int s, String t) {
SharedPreferences sPref = this.getSharedPreferences(MY_PREFS_NAME, 0);
SharedPreferences.Editor edit = sPref.edit();
edit.putString("DATA", strTime+" "+intScore);
edit.commit();
}
}
请给我好的建议,怎么做?
【问题讨论】:
标签: android arraylist sharedpreferences