2012-05-20 6 views
5

シリアル化可能なオブジェクトを内部メモリにファイルに書きたいと思います。その後、そのファイルからそのオブジェクトを後でロードします。 Androidでこれをどうすればできますか?Android:オブジェクトの書き込みと取得

答えて

13

まず、あなたのオブジェクトはSerializableを実装する必要があります。シリアライズ可能クラスにserialVersionUIDを追加することを忘れないでください。

オブジェクトの特定のフィールドを保存しない場合は、transientというマークを付けます。 すべてのフィールドがシリアル化可能であることを確認してください。

次に、内部メモリにファイルを作成し、ObjectOutputStreamを作成してオブジェクトを保存します。そして、あなたがオブジェクトを保存するためにそのパスを使用することができます

File path=new File(getFilesDir(),"myobjects"); 
path.mkdir(); 

File filePath =new File(path, "filename"); 
FileOutputStream fos = new FileOutputStream(filePath); 
ObjectOutputStream oos = new ObjectOutputStream(fos);    

oos.writeObject(object); 
oos.close(); 

読書が似ています。

FileInputStream fis = new FileInputStream(file); 
ObjectInputStream in = new ObjectInputStream(fis);    

MyObjectClass myObject = (MyObjectClass) in.readObject(); 

in.close(); 
あなたが特定のフォルダに保存したい場合は、このようなパスを作成することができます
関連する問題