2014-09-02 4 views
0

Я пытаюсь экспортировать и импортировать файл SharedPreferences из моего устройства я задал здесь вопрос, прежде чем и я увидел пример кода кого-то, но у меня есть проблемы с «Входа»: он дал мне:Как импортировать и экспортировать файл SharedPreferences?

Тип DropBoxManager.Entry не является общим; она не может быть параметризованных с аргументами <String, ?>

private boolean saveSharedPreferencesToFile(File dst) { 
     boolean res = false; 
     ObjectOutputStream output = null; 
     try { 
      output = new ObjectOutputStream(new FileOutputStream(dst)); 
      SharedPreferences pref = context.getSharedPreferences(MySharedPreferences.MY_TEMP, 1); 

      output.writeObject(pref.getAll()); 

      res = true; 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     }finally { 
      try { 
       if (output != null) { 
        output.flush(); 
        output.close(); 
       } 
      } catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     } 
     return res; 
    } 

    @SuppressWarnings({ "unchecked" }) 
    private boolean loadSharedPreferencesFromFile(File src) { 
     boolean res = false; 
     ObjectInputStream input = null; 
     try { 
      input = new ObjectInputStream(new FileInputStream(src)); 
       Editor prefEdit = context.getSharedPreferences(MySharedPreferences.MY_TEMP, 1).edit(); 
       prefEdit.clear(); 
       Map<String, ?> entries = (Map<String, ?>) input.readObject(); 
       for (Entry<String, ?> entry : entries.entrySet()) { 
        Object v = entry.getValue(); 
        String key = entry.getKey(); 

        if (v instanceof Boolean) 
         prefEdit.putBoolean(key, ((Boolean) v).booleanValue()); 
        else if (v instanceof Float) 
         prefEdit.putFloat(key, ((Float) v).floatValue()); 
        else if (v instanceof Integer) 
         prefEdit.putInt(key, ((Integer) v).intValue()); 
        else if (v instanceof Long) 
         prefEdit.putLong(key, ((Long) v).longValue()); 
        else if (v instanceof String) 
         prefEdit.putString(key, ((String) v)); 
       } 
       prefEdit.commit(); 
      res = true;   
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     }finally { 
      try { 
       if (input != null) { 
        input.close(); 
       } 
      } catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     } 
     return res; 
    } 

ответ

Смежные вопросы