私は最初のAndroidゲームを作っています。ユーザー名とスコアをファイルに保存して後で読みたいです。arraylistを使用して5つのユーザーオブジェクトを保存しようとしています。ファイルに効率的に書き込む方法がわかりません。それを読み返して、arraylistに格納します。別のより良い方法を知っているなら、教えてください。これが私が書くのに使っている方法です。
public static void save(FileIO file) {
preferences = file.getSharedPref();
Editor editor = preferences.edit();
for(int i=0;i<5;i++){
editor.putString("username"+String.valueOf(i), User.userList.get(i).userName);
editor.putInt("userscore"+String.valueOf(i), User.userList.get(i).highScore);
}
editor.commit();
}
そして、これは私が読むために使用している方法です。
public static void read(FileIO file) {
preferences = file.getSharedPref();
for(int i=0;i<5;i++){
User.userList.get(i).userName=preferences.getString("username"+String.valueOf(i), "abc");
User.userList.get(i).highScore=preferences.getInt("userscore"+String.valueOf(i), 0);
}
}
そして、これは私がハイスコアを表示しようとしているループです。
for(int i=0;i<5;i++){
g.drawString(String.valueOf(i+1)+"."+String.valueOf(User.userList.get(i).userName), 100, y, paint);
g.drawString(String.valueOf(User.userList.get(i).highScore),150, y, paint2);
y+=80;
}
indexoutofbounds例外が発生しています