2012-04-27 18 views
8

Tôi sử dụng bộ nhớ trong (http://developer.android.com/guide/topics/data/data-storage.html#filesInternal) để lưu trữ một số tệp ứng dụng cần thiết mà người dùng tạo .Bộ nhớ trong của Android khi cập nhật ứng dụng

Tôi cho rằng các tệp này được lưu trữ mãi mãi phải không? Chúng chỉ bị xóa khi người dùng gỡ cài đặt ứng dụng, tôi có đúng không?

Trong trường hợp cập nhật ứng dụng (ví dụ từ phiên bản 1.0 lên 1.1) thông qua Android Market, thì điều gì sẽ xảy ra với các tệp được lưu trữ từ phiên bản trước? Họ có bị xóa hay không?

Cảm ơn bạn trước.

Trả lời

3

Trong trường hợp cập nhật ứng dụng (ví dụ từ phiên bản 1.0 đến 1.1) thông qua Android Market, các tệp được lưu trữ từ phiên bản trước sẽ có trên thiết bị và nếu bạn gỡ cài đặt ứng dụng để tải phiên bản mới sau đó các tập tin sẽ bị xóa.

+0

Vì vậy, đó là khá an toàn để lưu trữ tệp tại bộ nhớ trong, phải không? (Tôi không sử dụng cơ sở dữ liệu) – MScott

+0

Tốt hơn để sử dụng cơ sở dữ liệu và kích thước của tệp là –

+0

Nó thực sự phụ thuộc vào nhu cầu của bạn. Nếu bạn có thể cho chúng tôi biết những gì bạn sẽ sử dụng bộ nhớ trong, thì chúng tôi có thể đưa ra câu trả lời thẳng. – josephus

0

Câu hỏi hay - các tài liệu thực sự không nói bất kỳ điều gì về bất kỳ giải pháp kiên trì nào giữ lại dữ liệu của họ khi nâng cấp. Nhưng cũng giống như SharedPreferences và cơ sở dữ liệu Sqlite, tôi cho rằng nó cũng sẽ tồn tại trong quá trình nâng cấp ứng dụng. Cách tốt nhất để chắc chắn là tự mình thử nghiệm nó. (Tôi biết điều đó nghe có vẻ thô lỗ, vì tôi muốn bảo bạn "tự mình xem". Nhưng tôi sẽ không bận tâm làm điều đó cho bạn nếu máy hiện tại của tôi được thiết lập để phát triển Android)

+0

Tôi cũng đã thử nghiệm nó nhưng tôi hỏi chỉ để chắc chắn. Tôi đã thử nghiệm nó với trình mô phỏng (đã thay đổi mã phiên bản và tên tại tệp kê khai) và các tệp vẫn được lưu trữ khi cài đặt lại ứng dụng (đang cập nhật). Tôi hy vọng nó sẽ giống với Android Market. Và như bạn đã nói, các tài liệu không nói bất cứ điều gì thực sự. – MScott