Десериализовать объект в файловую систему ПК и использовать в качестве ресурса? - PullRequest
1 голос
/ 22 июня 2011

Это может быть глупый вопрос:

Я ищу сериализацию объекта как разового, чтобы затем использовать его в качестве ресурса (десериализацию при каждом чтении).Как я могу написать этот сериализованный объект один раз, чтобы я мог получить к нему доступ с ПК и поместить его в папку /res/raw (где он всегда будет просто считываться и десериализироваться)?

Я пробовал:

                 try
                 {
                   FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory().toString() + "/solver.sol"));
                   ObjectOutputStream out = new ObjectOutputStream(fos);
                   out.writeObject(solver);
                   out.close();
                 }
                 catch(IOException ex)
                 {
                   ex.printStackTrace();
                 }

Также как поместить <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> в AndroidManifest.xml Но я не могу получить к нему доступ со своего ПК, чтобы поместить его в папку ресурсов?

Заранее спасибо

Calum

Ответы [ 2 ]

0 голосов
/ 23 июня 2011

@ MisterSquonk прав. Кроме того, попробуйте закрыть FileOutputStream перед размонтированием SD-карты.

0 голосов
/ 23 июня 2011

Try ...

Environment.getExternalStorageDirectory().getAbsolutePath()

... вместо .toString()

...