Проблемы записи в файл Android - PullRequest
0 голосов
/ 27 марта 2012

Я пытаюсь сохранить некоторые данные в файл в Android, я использую здесь для внутреннего хранения системы Android.Я посмотрел его на руководстве разработчика Android и пришел к этому.

String FILENAME = "LangFile";
                String data ="NL";
                FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
                fos.write(data.getBytes());
                fos.close();

Вот как я могу сохранить его в файл.

String FILENAME = "LangFile";
        String languege = "lang";
        FileInputStream fos = openFileInput(FILENAME);
        fos.read(languege.getBytes());
        fos.close();
        if(languege=="NL"){
            newgame.setText(R.string.dutchgames);
            stats.setText(R.string.duthstats);
        }

Вот как я читаю изтот же файл, но если я запускаю его, он просто дает пустую кнопку?

Ответы [ 3 ]

1 голос
/ 27 марта 2012

Вы не можете сравнивать строки, используя ==, на самом деле вам нужно использовать либо equals, либо equalsIgnoreCase методы. Вам также нужно немного изменить логику чтения. Измените свой код, как показано ниже:

FileInputStream fos = openFileInput(FILENAME);
byte[] b = new byte[2]; //since lang-prefix should have at least length 2
fos.read(b);
fos.close();

if(new String(b).equalsIgnoreCase("NZ")){
     newgame.setText(R.string.dutchgames);
     stats.setText(R.string.duthstats);
}
0 голосов
/ 27 марта 2012
if(languege=="NL"){
            newgame.setText(R.string.dutchgames);
            stats.setText(R.string.duthstats);
        }

, если условие блокирует чтение байтов из файла.Поскольку == соответствует объектным ссылкам, а не их содержимому.

0 голосов
/ 27 марта 2012

Вы добавили разрешение на запись во внутреннюю память?

  <uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

в вашем файле manifest.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...