Bạn có thể sử dụng hệ thống tài nguyên Qt. Theo mặc định, tất cả các ứng dụng Qt có thể truy cập nội dung của tệp qrc bằng tiền tố ": /" hoặc tiền tố lược đồ URL, "qrc:".
Cách tiếp cận khác là triển khai tài nguyên vào thư mục nội dung của gói. Đây là tùy chọn tốt nhất nếu bạn muốn đạt được khả năng tương tác tốt hơn với API Android. Bạn có thể truy cập tất cả các tài nguyên trong thư mục bằng tiền tố "asset:". Không giống như qrc, cách tiếp cận này không phải là một giải pháp đa nền tảng.
Khi bạn tạo dự án, một thư mục có tên là "nội dung" được tạo trong Build-Directory/android-build/
. Sau khi sao chép các tệp của bạn trong thư mục nội dung, bạn có thể thêm các tệp này vào chuyên gia của mình:
deployment.files += MyFile1
deployment.files += MyFile2
...
deployment.path = /assets
INSTALLS += deployment
Tệp trong nội dung là chỉ đọc. Vì vậy, đầu tiên bạn nên sao chép nó vào một số vị trí khác nếu bạn muốn thay đổi chúng:
QFile dfile("assets:/MyFile1");
if (dfile.exists())
{
dfile.copy("./MyFile1");
QFile::setPermissions("./MyFile1",QFile::WriteOwner | QFile::ReadOwner);
}
1. Tôi đã thử nó (không thành công) nhưng sau đó tôi đã học được rằng Qt không cho phép sử dụng cơ sở dữ liệu đi kèm với tệp qrc ngay cả ở chế độ chỉ đọc. – user2400925
2. Qt 5.2 không tạo ra một thư mục "tài sản". Tôi nên làm gì? – user2400925
Tôi đã cập nhật câu trả lời bằng ví dụ về cách tôi đã sử dụng thư mục asset:. – jwernerny