Tôi không thể tìm thấy tài liệu rõ ràng ở bất cứ nơi nào nếu getters và setters thực sự được yêu cầu cho các trường trong Mô hình Realm. Ví dụ, tài liệu tại https://realm.io/docs/java/latest/api/io/realm/RealmObject.html nóiMô hình Realm có thực sự yêu cầu getters và setters không?
Hạn chế duy nhất một RealmObject có là lĩnh vực không được phép có tính chung thẩm, thoáng' hoặc dễ bay hơi. Bất kỳ phương thức nào cũng như trường công khai đều được phép. Khi cung cấp các hàm tạo tùy chỉnh, một hàm tạo công khai không có đối số nào phải được khai báo và để trống.
Các trường được chú thích bằng Bỏ qua không có những hạn chế này và không yêu cầu trình khởi động hoặc thiết lập.
Có vẻ như gợi ý rằng nó là bắt buộc với getters và setters cho các trường không bị bỏ qua. Tuy nhiên, tài liệu tại số https://realm.io/docs/java/latest/#customizing-objects cho biết
Có thể sử dụng RealmObject gần giống như POJO. Mở rộng từ RealmObject, bạn có thể cho phép các trường được công khai và sử dụng các bài tập đơn giản thay vì các bộ định cư và getter.
và sau đó hiển thị mã cho mô hình Realm không có bất kỳ getters and setters nào và thay vào đó có trường công khai, chúng tôi nên sử dụng. Có thật không? Tôi nghĩ Realm thậm chí không lưu trữ bất kỳ giá trị nào trong các lĩnh vực thực tế, vì vậy việc đọc và viết từ chúng có lẽ là một ý tưởng tồi? Ý tôi là tài liệu gỡ lỗi của họ https://realm.io/docs/java/latest/#debugging là:
Thật không may những giá trị này sai vì giá trị của trường không được sử dụng . Realm tạo một đối tượng proxy đằng sau hậu trường và ghi đè các getters và setters để truy cập dữ liệu được lưu giữ trong Realm
Vì vậy, ai đó có thể vui lòng khai sáng cho tôi? Tôi có thể bỏ qua getters và setters và chỉ cần gắn bó với các lĩnh vực công cộng? Có tài liệu kỹ lưỡng nào về điều này không?
Cá nhân tôi sử dụng getters/setters. – EpicPandaForce
OK, vì vậy nếu tôi hiểu chính xác: Truy cập trường hoạt động tốt, ngoại trừ bên trong một hàm tạo RealmObject và trong bất kỳ mã nào trong 'androidTest /'. Vì vậy, nếu tôi có thể sống với điều đó, tôi có thể bỏ qua getters và setters? –
Yup!bạn thấy nó đúng (mặc dù như tôi đã nói, tôi thích setters/getters bởi vì họ có vẻ ổn định hơn với tôi) – EpicPandaForce