2015-04-14 3 views
0

Как сохранить редактируемый объект, например mEditText.getText();, в файл? Я пробовал со следующим кодом, и он работает, но в конце я получаю IOException и IOException.getLocalizedMessage(); и IOException.getMessage(); обе отображают следующую строку.Сохранение редактируемого объекта в файл

E/Error:(5223): android.text.SpannableStringBuilder 

Вот код, я попытался с:

 try {                        
     SpannableStringBuilder ssb = new SpannableStringBuilder(mMainEditText.getText()); 

     //Create a File object with user entered file name... 
     File outputFile = new File(getDocStorageFolder(), 
       mUserEnterFileName 
       + ".msd"); 

     Log.e("Path:", "" + outputFile.getAbsolutePath());   
    Toast.makeText(MainActivity.this, "" + outputFile.getAbsolutePath(), Toast.LENGTH_LONG).show(); 

    FileOutputStream fos = new FileOutputStream(outputFile); //create your FileOutputStream here      

     ObjectOutputStream oos = new ObjectOutputStream(fos); 
     oos.writeObject(ssb); 
     oos.close(); 
     oos.flush(); 
     fos.close();            

     Toast.makeText(MainActivity.this, "Success!", Toast.LENGTH_LONG).show(); 
    } catch (IOException e) { 
     e.printStackTrace();  
     Log.e("Error: ", e.getMessage()); 
     Log.e("Error: ", e.getLocalizedMessage()); 
     Toast.makeText(MainActivity.this, "Error occured while " 
       + "attempting to create the Document file!", Toast.LENGTH_LONG).show(); 
    } 
+2

Ничто, связанное с логикой развернутой строки Android, не поддерживает 'Serializable'. – CommonsWare

+0

Спасибо. Итак, можете ли вы предложить другую возможность выполнить эту работу? – mifthi

ответ

1

Вы не можете напрямую сохранить Editable или SpannableStringBuilder, в файл.

Вы можете преобразовать содержание из Spanned во что-то, что вы можете записать в файл. Я не знаю ничего, что охватывает все возможные промежутки, в значительной степени потому, что каждый может изобретать свои собственные.

Html.toHtml() в Android SDK возьмет подмножество промежутков и сгенерирует HTML из них.

Также my CWAC-RichEdit library содержит a SpannedXhtmlGenerator, который преобразует другое подмножество пролетов в XHTML, предназначенное для чтения с использованием SpannableStringGenerator из той же библиотеки.

+0

https://github.com/commonsguy/cwac-richedit кажется очень полезным, позвольте мне проверить его. – mifthi

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