Tôi không nghĩ rằng tôi hiểu đầy đủ vấn đề của bạn là gì. Nếu bạn đang hỏi liệu có công cụ nào sẽ tự động di chuyển dữ liệu cho bạn hay không, thì không, không có công cụ nào như vậy.
Nếu không thì nó khá thẳng về phía trước:
-
Xử lý
onCreate
,onDowngrade
vàonUpgrade
trong việc triển khaiSQLiteOpenHelper
của bạn lớp học. -
Trong
onCreate
của bạn , ngay sau khi bạn tạo bảng, hãy lấy tất cả dữ liệu của bạn từ Realm và chèn vào các bảng SQLite.
Một cái gì đó như thế này:
Realm realm = Realm.getDefaultInstance();
RealmResults<MyClass> all = realm.where(MyClass.class)
.findAll();
for (MyClass instance : all) {
doInsert(instance);
}
Tôi thực sự khuyên bạn nên xem xét cách giảm kích thước APK khi sử dụng Realm, nhưng điều đó tùy thuộc vào bạn
CHỈNH SỬA 1 Bạn sẽ phải đảm bảo rằng bạn di chuyển dữ liệu trước tiên và sau đó xóa các tệp Realm. Mặc dù nó không phải là các tệp dữ liệu làm cho APK của bạn lớn, mà là các thư viện thực tế đi kèm với Realm. Vì vậy, thật không may, đối với điều này, bạn sẽ phải thực hiện hai bước:bản cập nhật phát hành đầu tiên di chuyển dữ liệu sang SQLite và sau một thời gian hợp lý (như một tuần), bạn có thể phát hành bản cập nhật loại bỏ hoàn toàn thư viện Realm. Hy vọng nó có ý nghĩa.