2012-02-02 46 views
6

Tôi đang làm theo một hướng dẫn đơn giản tạo ra một lớp mở rộng từ SQLiteOpenHelper và tạo một DB với một bảng và 5 hàng.Vòng đời cơ sở dữ liệu Sqlite? Nó bị xóa khi ứng dụng bị đóng?

OK, nhưng tôi cần hiểu thêm một số thông tin về cơ sở dữ liệu Sqlite trên Android. Ví dụ: điều gì xảy ra nếu ứng dụng bị đóng hoặc tắt điện thoại? Cơ sở dữ liệu có bị xóa không?

Cảm ơn

+4

Cơ sở dữ liệu không bị xóa ngay cả khi điện thoại của bạn bị nghiền nát dưới một chuyến tàu ..! – Mudassir

+0

Dữ liệu cũng bị mất nếu bạn thay đổi phiên bản của db –

Trả lời

10

Tất nhiên cơ sở dữ liệu không bị xóa. Tôi cho rằng bạn đang làm nó theo cách "thích hợp". Trong trường hợp đó, cơ sở dữ liệu tồn tại lâu dài. (Tất nhiên nếu bạn chọn tạo một cơ sở dữ liệu trong một thư mục tạm thời hoặc một cái gì đó tương tự thì nó sẽ không hoạt động đúng).

Hãy nghĩ về nó như thế này. Cơ sở dữ liệu về cơ bản là một tệp văn bản. Những gì bạn đang làm cho cơ sở dữ liệu là sửa đổi nội dung của tập tin văn bản đó (ok nó phức tạp hơn một chút trong cuộc sống thực, nhưng nó là một cách hay để suy nghĩ về nó).

Khi bạn đã thực hiện thay đổi đối với cơ sở dữ liệu (ví dụ: thêm hàng), tệp cơ sở dữ liệu được lưu vào đĩa, do đó hãy lưu giữ nó. Nếu điện thoại bị tắt hoặc ứng dụng bị thoát thì tệp cơ sở dữ liệu vẫn tồn tại và bạn có thể tiếp tục kết nối với nó trong tương lai.

4

điều gì sẽ xảy ra nếu ứng dụng bị đóng hoặc tắt điện thoại?

trả lời là Không, cơ sở dữ liệu không bị xóa, dữ liệu của bạn chỉ bị xóa khi bạn Uninstall Application hoặc Clear data từ Application->Manage Application->Application_Name từ điện thoại của bạn.

3

Khi cơ sở dữ liệu được tạo, nó sẽ được lưu trữ trong ứng dụng của bạn và chỉ bị xóa khi bạn xóa nó một cách rõ ràng (sử dụng Context.deleteDatabase) hoặc khi ứng dụng của bạn được gỡ cài đặt.

3

Cơ sở dữ liệu chỉ bị xóa khi ứng dụng của bạn bị xóa, người dùng xóa dữ liệu được liên kết với ứng dụng hoặc bạn thực hiện theo cách lập trình.

Do đó, ứng dụng của bạn có thể bị giết hoặc khởi động lại điện thoại và cơ sở dữ liệu của bạn vẫn tồn tại. Đó là lý do tại sao cơ sở dữ liệu được coi là một lưu trữ liên tục.

Các vấn đề liên quan