Почему SharedPreferences не выбрасывает исключения? - PullRequest
0 голосов
/ 14 октября 2019

Общие настройки в android используют XML-файл для чтения / записи данных, тогда почему они не генерируют исключения, которые генерируются, если мы используем File вместо SharedPreferences.

Пример кода для чтения данных из файла. Мы должны отловить исключение.

 private void readFile(Context context){
    FileInputStream fis;
    try {
        fis= context.openFileInput("FileName"); // open file for reading
        fis.read(); 
    } catch (FileNotFoundException e){

    } catch (IOException e){

    }
}

Пример кода для чтения данных из SharedPreferences. Не нужно ловить исключение.

 private void readSharedPreference(Context context) {
    SharedPreferences settings = context.getSharedPreferences("FileName", Context.MODE_PRIVATE);
    String testRead = settings.getString("sample", "");
    // above statement does not throw IOException.(however it reads from file).
}

1 Ответ

0 голосов
/ 14 октября 2019

Ну, SharedPreferences на самом деле могут генерировать IOException, но почему они должны делать код таким, чтобы это происходило все время? Если вы хотите узнать, что у вас под рукой, просто взгляните на исходный код: SharedPreferences.Java и ContextImpl.java .

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