جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

اطلاعات شخصی شما برای پردازش سفارش شما استفاده می‌شود، و پشتیبانی از تجربه شما در این وبسایت، و برای اهداف دیگری که در سیاست حفظ حریم خصوصی توضیح داده شده است.

ارسال مجدد کد یکبار مصرف (00:60)
  • 02171058559
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > ORM های برتر برنامه نویسی اندروید

ORM های برتر برنامه نویسی اندروید

1399-03-23
ارسال شده توسط آموزنگار
اندروید
ORM در اندروید

هنگامی که در حال پیاده سازی دیتابیس در برنامه نویسی اندروید برای ذخیره سازی اطلاعات در حافظه داخلی را دارید,میبایستی بتوانید اطلاعات خود را در دیتابیس Sqlite ذخیره سازی نماید.برای اینکه به روش های بهینه تری بتوانید دیتابیس خود را مدیریت کنید,از جمله بهترین کارهای استفاده از ORM میباشد.قبل از هرکاری ابتدا میبایستی با مفهوم  ORM  آشنا شویم.

ORM چیست ؟

ORM مخفف عبارت Object-Relational Mapping  به مفهوم روش یا تکنیکی مدرن که این امکان را به برنامه نویس میدهد تا  Query را از سمت برنامه (Program) انجام دهد و امکان Manipulate یا دستکاری بروی داده بدون اتصال مستقیم به دیتابیس انجام شود در شیوه های قدیمی یا سنتی برای دسترسی به اطلاعات DBMS یا Database Management System عملیات Query میبایستی به شکل SQL نوشته می شد ولی با استفاده از ORM نیاز نیست حتما کدهای SQL را بنویسیم زمانی که از ORM استفاده کنیم نیاز نیست حتما ما دستورات SQL را بلد باشیم کافی است بتوانیم از ORM استفاده کنیم تا داده ها را از دیتابیس دریافت کنیم.

در این مقاله قصد داریم با برترین ORM های اندروید آشنا شویم.پس بیاید با این کتابخانه ها آشنا شویم

Room

کتابخانه Room اندروید

در کنفرانس Google i/o سال ۲۰۱۷  گوگل کتابخانه Room Persistence که یک Wrapper روی Sqlite میباشد را معرفی کرد.هدف از Room پیاده سازی تمیز در استفاده از دیتابیس Sqlite میباشد.یکی از نکات مهم در پیاده سازی کتابخانه Room, پیاده سازی این کتابخانه توسط معماری clean architecture  میباشد.

@Entity(tableName = "user")
public class User {
    @PrimaryKey(autoGenerate = true)
    private int uid;
    @ColumnInfo(name = "first_name")
    private String firstName;
    @ColumnInfo(name = "last_name")
    private String lastName;
   //getters and setters go here
}

برای آشنایی بیشتر با کتابخانه Room میتوانید وارد داکیومنت اصلی Room شوید.

OrmLite

کتابخانه OrmLite

کتابخانه OrmLite یک کتابخانه ORM ساده و قدرتمند برای جاوا و اندروید می باشد.این کتابخانه حتی در فریمورک های مهم جاوا مانند Spring نیز قابلیت استفاده از آن را خواهید داشت.

@DatabaseTable(tableName = "account")
public class Account {
    @DatabaseField(id = true)
    private String username;
    @DatabaseField(canBeNull = false)
    private String password;
    Account() {
        // a must defined no-arg constructor
    }
    public Account(String username, String password) {
        this.username = username;
        this.password = password;
    }
    //...getter and setter methods can go below
}

کتابخانه OrmLite اوپن سورس میباشد و میتوانید از طریق Github آن را دانلود و استفاده کنید.مستندات OrmLite

آیا کامپیوتر من برای اجرای اندروید استودیو مناسب است یا خیر؟
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

SugarORM

SugarORM

کتابخانه SugarORM یک کتابخانه ساده که فقط برای اندروید میباشد که با روش ساده ای میتوانید از این ORM استفاده کنید.با استفاده از این کتابخانه همچنین توانایی  پیاده سازی رابطه های یک به یک و همچنین چند به چند را نیز خواهید داشت.برای پیاده سازی عملیات های دیتابیسی نیاز به نوشتن هیچ دستوری Sql را ندارید و بسیار راحت میتوانید با صدا زدن دستورات save,delete,find و یا findId میتوانید عملیات های دیتابیسی را انجام دهید.

برای پیاده سازی این کتابخانه در پروژه خود ابتدا میبایستی کتابخانه را به پروژه خود اضافه کنید و سپس به فایل AndroidManifest بروید و دستورات زیر را در تگ Application قرار دهید.

<meta-data android:name="DATABASE" android:value="my_database.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.my-domain" />

سپس یک مدل ایجاد کنید و از SugarRecord ارث بری کنید.در این کلاس قصد داریم اطلاعات User را در دیتابیس ذخیره نماییم

public class User extends SugarRecord<User> {
    String username;
    String password;
    int age;
    @Ignore
    String bio; //this will be ignored by SugarORM
 
    public User() { }
 
    public User(String username, String password,int age){
        this.username = username;
        this.password = password;
        this.age = age;
    }
}

در قدم اخر کافی است یک شی از کلاس User ایجاد کنید

User johndoe = new User(getContext(),"john.doe","secret",19);
johndoe.save(); //stores the new user into the database

مثال دیگر برای این کتابخانه بدست آوردن  کل اطلاعات این جدول  براساس شرط نوشته شده و همچنین حذف تمامی اطلاعات میباشد.

List<User> nineteens = User.find(User.class,"age = ?",new int[]{19});
foreach(user in nineteens) {
    user.delete();
}

برای آشنایی بیشتر با این کتابخانه می توانید وارد کتابخانه رسمی SugarORM آن شوید.

Active Android

یکی دیگر از کتابخانه های ORM برای اندروید Active Android میباشد که توانایی ذخیره سازی و fetch کردن اطلاعات بدون نوشتن هیچ Query را می دهد.برای پیاده سازی Active Android فقط کافی است فایل jar کتابخانه را وارد پروژه خود کنید تا بتوانید این ORM را استفاده کنید.

برای شروع بکار با Active Android کافی است به فایل AndroidManifest رفته و در تگ Application دستورات زیر را قرار دهید.

<meta-data android:name="AA_DB_NAME" android:value="my_database.db" />
<meta-data android:name="AA_DB_VERSION" android:value="1" />

در قدم بعدی حتما میبایستی در اکتیویتی دستور زیر را قرار دهید

public class MyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActiveAndroid.initialize(this);
 
    }
}

برای پیاده سازی این ORM میبایستی Annotation کتابخانه را در بالای کلاس قرار دهید.

@Table(name = "User")
public class User extends Model {
    @Column(name = "username")
    public String username;
 
    @Column(name = "password")
    public String password;
 
    public User() {
        super();
    }
 
    public User(String username,String password) {
        super();
        this.username = username;
        this.password = password;
    }
}

GreenDAO

greenDAO orm

شعار اصلی GreenDAO سرعت و کارایی میباشد و ۴.۵ برابر پر سرعت تر از OrmLite میباشد.کتابخانه GreenDAo روی اپلیکیشن های مشهوری مانند Pinterest,Path و همچنین Glide وجود دارند

greenDAO performance

Realm

realm در اندروید

سرانجام میرسیم به Realm. کتابخانه Realm از جمله برترین ORM های اندروید میباشد.Realm با زبان برنامه نویسی سی پلاس پلاس توسعه داده شده و همین موجب شده است دارای سرعت بالایی نسب به بقیه ORM ها شده است.Realm برای هر دو سیستم عامل اندروید و iOS توسعه داده شده است. نکته اصلی که در مورد Realm بدانید این میباشد که Realm برساس Sqlite نمی باشد و خود یک دیتابیس جدید برای موبایل میباشد که بصورت No Sql میباشد.

public class Dog extends RealmObject {
    private String name;
    private int age;
 
    // ... Generated getters and setters ...
}

برای پیاده سازی ابتدا باید یک instance از Realm ایجاد کنید و کارهای لازمه را ایجاد کنید

Dog dog = new Dog();
dog.setName("Rex");
dog.setAge(1);
 
// Initialize Realm (just once per application)
Realm.init(context);
 
// Get a Realm instance for this thread
Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
final Dog managedDog = realm.copyToRealm(dog); // Persist unmanaged objects
realm.commitTransaction();

در آموزش های بعد حتما بطور کامل کار با کتابخانه Realm قرار داده خواهد شد. برای اشنایی بیشتر با Realm می توانید به وب سایت Realm.io مراجعه نمایید.

آموزش اندروید Auto
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

نتیجه گیری

در این آموزش با شش کتابخانه ORM آشنا شدیم که در بسیاری از اپلیکیشن های اندروید مورد استفاده قرار میگیرند.به جرات میشه گفت در حال حاضر Room و Relam در حال حاضر محبوب ترین ORM ها در اندروید می باشند.همچنین با جستجو در اینترنت میتوانید با بقیه ORM ها مانند DBFlow,Androrm,ormDroid نیز آشنا شوید.

قبلی آموزش برنامه نویسی اندروید و پیش نیاز های آن
بعدی برترین IDE ها برای توسعه دهندگان

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، ازگل ، مجتمع تجاری الماس ایرانیان، پارک علم و فناوری فردا

021-71058559

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=10866
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط   
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-71058559
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com