SugarORM یک کتابخانه با ساختار Orm است که برای اندروید ساخته شده که کار با دیتابیس را بسیار راحت میکند . از ویژگی های این کتابخونه که میشه به موارد زیر اشاره کرد:
- یکسری api ها رو فراهم میکنه که یادگیری و به خاطر سپردنشون راحته .
- جداول مورد نیاز رو خودش به صورت خودکار میسازه
- متد های ساده ای برای برقراری ارتباط یک به یک ، یک به چند و چند به چند در اختیارتون میزاره
- عملیات CRUD رو با متد های save(), delete() and find() (or findById()). میتونین به راحتی انجام بدین.
۱- برای شروع با گریدل دستور زیر رو به پروژه اضافه کنید یا فایل aar رو دانلود کنید: sugar-1.5
compile 'com.github.satyan:sugar:1.5'
۲- برای استفاده از این کتابخانه لازمه این متا هارو به منیفست اضافه کنید(مقادیر را به دلخواه تغییر دهید) :
<meta-data android:name="DATABASE" android:value="sugar_scriptestan.db" /> <meta-data android:name="VERSION" android:value="2" /> <meta-data android:name="QUERY_LOG" android:value="true" /> <meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="ir.scriptestan" />
۳- موجودیت ها
خب حالا لازمه موجودیت های اپلیکیشنتون رو به صورت یک کلاس تعریف کنین و کلاس SugarRecord رو مادر قرار بدید.
public class Book extends SugarRecord { @Unique String isbn; String title; String edition; // Default constructor is necessary for SugarRecord public Book() { } public Book(String isbn, String title, String edition) { this.isbn = isbn; this.title = title; this.edition = edition; } }
همین !! حالا پس از کامپایل خود کتابخانه جدولی از این شی (Book) برای شما در دیتابیس میسازد و نیاز به کار اضافی دیگری نیست.
۴- نحوه استفاده
نحوه استفاده بسیار ساده است . کافیست فقط کد های زیر را نگاه کنید :
ذخیره کردن :
Book book = new Book("isbn123", "Title here", "2nd edition") book.save();
پیدا کردن یک ردیف (انتخاب کردن):
Book book = Book.findById(Book.class, 1);
آپدیت کردن(بروزرسانی):
Book book = Book.findById(Book.class, 1); book.title = "updated title here"; // modify the values book.edition = "3rd edition"; book.save(); // updates the previous entry with new values.
حذف:
Book book = Book.findById(Book.class, 1); book.delete();
به صورت یک لیست (لیست کردن):
List<Book> books = Book.listAll(Book.class); Book.deleteAll(Book.class);
صفحه کتابخانه در گیتهاب: https://github.com/chennaione/sugar
موفق باشید.