2012-01-18 28 views
5

Tôi đã tìm thấy trong trang này nhiều câu hỏi hỏi cách mở tệp cơ sở dữ liệu nằm trong thư mục nội dung. Luôn luôn là điểm chính của câu trả lời đúng - chính xác là: cơ sở dữ liệu nằm trong tài sản không thể mở được vì thư mục (toàn bộ nội dung của APK) chỉ đọc. Do đó, tệp cơ sở dữ liệu cần phải được sao chép ở một nơi khác trước khi có thể sử dụng nó (Ship an application with a database).Mở một cơ sở dữ liệu chỉ đọc trực tiếp trong thư mục tài sản

Tuy nhiên, điều gì sẽ xảy ra nếu tệp cơ sở dữ liệu trên thực tế không bị sửa đổi? Trong trường hợp đó, không quan trọng việc hạn chế thư mục tài sản chỉ đọc.

Sau đó, câu hỏi của tôi là:

Có cách nào để mở một cơ sở dữ liệu chỉ đọctrong thư mục tài sản mà không cần sao chép nó đầu tiên đến một vị trí?

+0

có giải pháp nào không? –

Trả lời

0

Sử dụng cờ OPEN_READONLY, ví dụ:

SQLiteDatabase.openDatabase(myPath,null,OPEN_READONLY); 

Bạn có thể tìm thêm cờ here

Và tôi nghĩ bạn phải sao chép cơ sở dữ liệu ở một nơi khác đầu tiên để có thể mở nó.

0

Bạn sẽ cần phải sao chép nó vào thư mục dữ liệu, sau đó đọc từ đó.

+1

vì vậy không có cách nào để đọc một cơ sở dữ liệu từ thư mục tài sản ngay cả khi tôi không bị ảnh hưởng bởi sự hạn chế mà thư mục này chỉ đọc (cho rằng DB không cần phải sửa đổi)? – Sergio

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