나는 완벽한 기능의 퀴즈 게임이 있다고 생각합니다. 결과 페이지의 게임이 끝나면 스코어 (long)와 퍼센티지 (int)를 보여줍니다. 나는 rank (int), score (long) 및 percentage (int)와 같이 3 개의 변수가 입력되는 오프라인 SharePreferences 상한값을 구현하려고합니다. 처음에는 변수 중 하나를 사용하여 최고 점수를 구현하고 나중에 다른 2 점을 추가하려고했지만 나쁘게 실패하는 것 같습니다. 내 활동에서 내가 시도한 코드를 주석 처리 한 코드가 많이 있으며 다른 많은 시도가 이미 삭제 된 것을 볼 수 있습니다.SharedPreferences를 사용한 오프라인 상향 기록 - Android (java)
SharedPreferences를 사용하려고 한 것은 이번이 처음이기 때문에 아직 그것에 대한 확실한 이해가 없습니다.
Results.java 것은
요점은public class Results extends Activity {
public static final String SP_NAME = "TEST";
public static final String INT_PERCENTAGE = "SP_percentage";
public static final String INT_RANK = "SP_rank";
public static final String LONG_SCORE = "SP_score";
private SharedPreferences mPrefs;
QuestionView qv = new QuestionView();
ArrayList<Question> queryList = qv.getQueries();
int cAnswers, wAnswers, percentage, rank;
long score;
ArrayList<Question> qs;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.resultsmain);
mPrefs = getSharedPreferences(SP_NAME, 0);
cAnswers = getIntent().getIntExtra("correctAnswers", -1);
wAnswers = getIntent().getIntExtra("wrongAnswers", -1);
score = getIntent().getLongExtra("score", -1);
qs = getIntent().getParcelableArrayListExtra("queries");
Button mainmenuBtn = (Button)findViewById(R.id.mainmenuBtn);
mainmenuBtn.setText("Main Menu");
mainmenuBtn.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
restart();
}
});
//Retrieving high score
SharedPreferences mPrefs = getSharedPreferences(LONG_SCORE, 0);
SharePreferences.Editor editor = prefs.edit();
long highscore = mPrefs.getLong(LONG_SCORE, 0);
//Saving current score as high score
/* SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInteger(HIGH_SCORE, currentScore);*/
// Commit the edits!
editor.commit();
SharedPreferences prefs = mContext.getSharedPreferences("preferencename", 0);
/* SharedPreferences.Editor editor = prefs.edit();
return editor.commit();*/
showResults();
}
//...other code
}
무엇이 문제입니까? 정확히 어디에서 문제가 있습니까? – thedan
나는 완벽하게 작동하고 나에게 두 가지 가치 - 점수와 백분율을주는 프로그램을 가지고있었습니다. 내 질문은 이전에 작동하는 프로그램에 SharedPreference 최고 기록 테이블을 구현하는 방법입니다. 위의 코드에서 내 SP 코드를 볼 수는 있지만 컴파일 할 곳이 없습니다. 최고 점수 구현을 완료하는 방법에 대한 지침을 찾고 있습니다. – Matt
StackOverflow에서 질문을하면 "여기에 몇 가지 코드가 있습니다. 해결 방법을 알려주세요."라는 질문에 대한 답변이 거의 없을 것입니다. 질문을 편집하여 수행하려는 작업, 코드가 수행하는 작업, "*이 왜 null을 반환합니까?"와 같은 * 특정 * 질문을 포함하면됩니다. "왜 이것이 작동하지 않는가?"대신에 의미있는 오류 출력 (logcat 또는 스택 출력의 스택 추적)이 있으면 다른 사람들이 무엇을 찾아야 할지를 알기 때문에 더 많은 답변을 얻게됩니다 먼저 도움이 필요한 것이 무엇인지 알아 내려고 노력했습니다. 질문을 수정하고 수정하십시오. –