2012-05-20 21 views
5

Tôi muốn viết một đối tượng có thể tuần tự hóa vào tệp trong bộ nhớ trong. Sau đó, tôi muốn tải lại đối tượng đó từ tệp đó sau. Làm thế nào tôi có thể làm điều này trong Android?Android: Viết và Nhận đối tượng

Trả lời

13

Trước hết đối tượng của bạn phải triển khai Serializable. Đừng quên thêm serialVersionUID vào lớp có thể tuần tự hóa được.

Sau đó, nếu bạn không muốn lưu trường cụ thể của đối tượng đánh dấu nó là transient. Đảm bảo tất cả các trường đều có thể tuần tự hóa.

Tiếp theo tạo một tệp trong bộ nhớ trong và tạo một ObjectOutputStream để lưu đối tượng của bạn. Nếu bạn muốn lưu trong một thư mục cụ thể mà bạn có thể tạo ra một con đường như thế này:

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

Sau đó, bạn có thể dùng đường dẫn này để lưu đối tượng của bạn:

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

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

Reading cũng tương tự như:

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

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

in.close(); 
Các vấn đề liên quan