Adakah yang bekerja di Android ('gPhone') memiliki atau mengetahui tempat di mana saya dapat menemukan alat ORM yang bagus untuk itu? Kode ini ditulis dalam Java, dan basis datanya adalah SQLite. Apa yang ingin saya temukan adalah alat yang memberikan definisi objek, dapat secara otomatis menghasilkan tabel dan fungsi CRUD (yang akan luar biasa), atau, kecuali itu, alat yang dapat mengambil definisi tabel, definisi objek, dan secara otomatis menghasilkan fungsionalitas CRUD. Intinya adalah semua ini harus terjadi dalam kerangka Android, yang memiliki konvensi sendiri tentang cara kerja akses basis data.
285
Jawaban:
Saya pikir saya baru saja menambahkan $ 0,02 saya di sini tentang paket ORMLite saya .
Ini adalah pengganti Hibernate yang ringan dan menggunakan panggilan basis data OS Android asli untuk mendukung SQLite di Android. Ini juga mendukung banyak tipe database lain menggunakan JDBC pada arsitektur lain. Kami memiliki milis Android untuk pertanyaan ORMLite.
sumber
Pertanyaan ini tidak bisa menua tetapi kerangka kerja yang disarankan bisa. Jadi, inilah daftar pertama yang menurut saya penting dalam kerangka kerja seperti itu untuk perbandingan:
Dan di sini adalah daftar kerangka kerja dengan catatan pada poin di atas. Saya mencari beberapa lebih seperti aBatis dan Hadi tetapi saya menambahkan hanya mereka yang memiliki beberapa kegiatan setelah 2011.
Saya belum mencoba salah satu dari itu tetapi mungkin saya dapat menyisihkan sedikit pembaca saat ini dengan mendaftar proyek yang aktif saat ini. Silakan tambahkan komentar jika Anda mengetahui proyek lain yang memuaskan beberapa poin di atas dan ada beberapa perkembangan serius (dari waktu ke waktu) yang sedang berlangsung.
EDIT (2013 Nov): memperbarui daftar ke status proyek saat ini. Beberapa di antaranya telah menambahkan tag rilis ke repositori github mereka serta dukungan Maven / Gradle. Kerja bagus!
EDIT (2015 Apr): memperbarui daftar, menambahkan Sprinkles (sesuai komentar oleh @AndroidGecko) dan Realm.io.
sumber
Jika kinerja dan ukuran kode penting, periksa greenDAO . Saya penulisnya, dan motivasi saya untuk membuat ORM lain adalah untuk menghindari refleksi di hotspot. Ternyata greenDAO dapat mencapai 4 kali lebih cepat dari ORMLite. Lihat halaman fitur untuk detailnya.
sumber
Saya tidak tahu apa pun yang persis apa yang Anda minta, tetapi ada alternatif untuk SQLite yang mungkin berguna jika persyaratan arsitektur Anda fleksibel. Mungkin perlu dicoba db4o :
sumber
ActiveAndroid
($ 20)sepertinya memang tepat seperti yang Anda butuhkan.sumber
Saya menyukai ActiveAndroid. Tampaknya ini ditulis khusus untuk Android. Itu terasa seperti nilai tambah bagi saya.
Saya memiliki pengalaman Ruby on Rails dan jika Anda menyukai cara Rails dari ActiveRecord, Anda dapat dengan cepat bergerak dengan perpustakaan ini.
https://www.activeandroid.com/
sumber
https://github.com/ahmetalpbalkan/orman
Kerangka kerja Orman mungkin membantu Anda. Ini dirancang khusus untuk itu dan sangat kecil dan bermanfaat.
sumber
Saya juga mencari ORM di Android. Saya diuji ActiveAndroid , NeoDatis dan db4o , dan saya berpikir bahwa saya akan menggunakan salah satu dari dua terakhir.
NeoDatis dan db4o sangat mirip, jadi saya ingin beberapa saran untuk memilih yang terbaik. Apakah seseorang menggunakan salah satunya di proyeknya? Saya akan menggunakannya untuk aplikasi gratis dan berbayar, tetapi tampaknya keduanya tidak memiliki batasan lisensi untuk Android.
Ada tolok ukur di sini yang tampaknya mengatakan bahwa NeoDatis lebih cepat daripada db4o, tapi saya tidak tahu apakah kita bisa mendasarkan pendapat saya pada ini.
sumber
Satu lagi pendatang baru: android-active-record. Ini sangat ringan dan mudah digunakan kerangka kerja untuk Android yang didukung oleh SQLite http://code.google.com/p/android-active-record/
sumber
ActiveRecordJS dari Aptana adalah ORM Javascript yang harus dijalankan pada gPhone. Ini dirancang untuk bekerja dengan Jaxer dan Gears. Saat Anda menggunakan Jaxer Adapters, Anda dapat terhubung ke SQLLite.
UPDATE: Saya rasa saya tidak menjelaskannya, tetapi ActiveRecordJS adalah ORM yang menjalankan sisi klien, yang bisa menjadi keuntungan bagi Anda di gPhone.
sumber
http://hadi.sourceforge.net
Alat ini sangat sederhana dan mudah digunakan.
sumber
Saya telah mengembangkan implementasi JPA ORM untuk Android saya sendiri. Ini belum sepenuhnya fitur lengkap, tetapi Anda dapat membuat anotasi kelas dengan penjelasan @Entity, @Id, @Column dan Anda mendapatkan entitas JPA yang dapat disimpan dan diambil dari database SQLite. Perlu beberapa fitur & pembersihan sebelum saya mempostingnya ke publik, tetapi jika ada minat yang cukup mungkin mempercepat usaha saya.
sumber
Meskipun ini adalah posting lama, topiknya masih relevan. Oleh karena itu, saya ingin berbagi artikel yang menarik dan pendekatan yang bagus untuk menyelesaikan sebagian besar masalah yang disebutkan dalam pertanyaan:
http://blog.codecentric.de/en/2011/04/android-persistence-accelerated-small-inhouse-orm/
Semoga ada yang menemukan ini berguna seperti saya!
sumber
DroidParts saya sendiri /http://droidparts.org/ baru saja mencapai v0.5. Ini adalah perpustakaan DI / ORM & lainnya.
Tidak banyak dokumentasi, tetapi termasuk aplikasi sampel.
sumber
Memiliki pengalaman negatif dengan db4o (v. 8): pengindeksan tidak berfungsi dengan baik (pengecualian dll.). Jadi saya tidak berhasil bagaimana menghindari membuat duplikat di tabel asing ketika memiliki objek dalam struktur objek. Penjelasan lebih rinci dalam pertanyaan saya . Semoga suatu hari nanti akan lebih baik.
sumber