رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

پایگاه داده SQLite یکی از راه های ذخیره داده های برنامه شما به صورت محلی در اندروید است. در این پایگاه داده من میخوام به شما یک راه ساده تر بهنشان دهم. با استفاده از Sugar ORM .

دیتابیس اندروید

به طور معمول با استفاده از SQLite در اندروید، مقدار زیادی از کد های boilerplate مورد نیاز بوده که زمان قابل توجهی صرف می شود. اما با Sugar ORM، همه ی شما نیاز به یک مدل (Bean) دارید:

  • (Add a new note (save  : اضافه کردن
  • Delete note  : حذف کردن
  • Modify : تغییرات

 

در ابتدا کتابخانه زیر را اضافه کنید : 

compile 'com.github.satyan:sugar:1.4'

 

تنظیمات زیر را وارد منیفست کنید:

<application 
    android:name="com.orm.SugarApp"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    >
   
<meta-data 
        android:name="DATABASE"
        android:value="notes.db" />
    <meta-data 
        android:name="VERSION"
        android:value="1" />
    <meta-data 
        android:name="QUERY_LOG"
        android:value="true" />
    <meta-data 
        android:name="DOMAIN_PACKAGE_NAME"
        android:value="com.grafixartist.noteapp" />
</application>

 

 

یک مدل (Bean) کلاس شما نیاز دارید که به صورت زیر باشد :

public class Note extends SugarRecord {

String title, note;
    long time;
    // Default constructor is important!
    public Note() {
    }

public Note(String title, String note, long time) {
        this.title = title;
        this.note = note;
        this.time = time;
    }
 
// Getter setters here
}

 

برای Create کردن کد زیر را وارد کنید : 

Note note = new Note(title, desc, time);
note.save();

برای Update کردن کد زیر را وارد کنید : 

 

Note note = Note.findById(Note.class, id);
note.title = updated title here";
note.save();

 

برای  Delete کردن کد زیر را وارد کنید : 

 

Note note = Note.findById(Note.class, id);
note.delete();

برای بدست آوردن فهرست همه لیست ها :

List<Note> notes = Note.listAll(Note.class);

Query

برای این کار 2  راه برای انجام این کار وجود دارد. بیایید مثال را مقایسه کنیم:

استفاده از Raw Query :

List<Note> notes = Note.findWithQuery(Note.class, "Select * from Note where name = ?", "mynote");

 

استفاده از  Query Builder :

 

Select.from(Note.class)
.where(Condition.prop("title").eq("mynote"),
Condition.prop("description").eq("notedesc"))
.list();

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...