4

そのため、プログラムのスコアを保存するためにファイルを使用していますが、問題は、それらを単に印刷できないことです。私はいくつかのことを試しましたが、正しいものが私のコードではありません:

try{
        String FILENAME = "FrogScoreFile";
        FileInputStream fos = openFileInput(FILENAME);
        byte[] b = new byte[1];
        fos.read(b);
        fos.close();
        String score= String b;
        game5HighScore.setText(b);
        }catch (java.io.FileNotFoundException e) {
        } catch (IOException e) {
                e.printStackTrace();
    }
4

2 に答える 2

15

Byte arrayオブジェクトを作成することで文字列に変換できnew stringます。

byte[] b = new byte[1];
fos.read(b);
fos.close();
String message = new String(b);
于 2012-05-03T09:21:13.057 に答える
0
try{
        String FILENAME = "FrogScoreFile";
        FileInputStream fos = openFileInput(FILENAME);
        BufferedReader br = new BufferedReader(new InputStreamReader(fos));
        String yourText = br.readLine();
        br.close();
        game5HighScore.setText(yourText);
    }catch (java.io.FileNotFoundException e) {
    } catch (IOException e) {
            e.printStackTrace();
}

ところで。SharedPreferencesまたはSQLiteデータベースでスコアを保存してみませんか?

SharedPrefrencesガイド。

public static void saveScore(Context context) {
    final SharedPreferences.Editor editor = context.getSharedPreferences(
            "settings", Context.MODE_PRIVATE).edit();
    editor.putInt("score", 100);
    editor.commit();
}

public static int readScore(Context context) {
    final SharedPreferences sp = context.getSharedPreferences("settings",
            Context.MODE_PRIVATE);
    return sp.getInt("score", 0);
}
于 2012-05-03T09:19:04.170 に答える