چگونه از SQLite در اپلیکیشن‌های موبایل استفاده کنیم

خلاصه
1404/04/24

استفاده از SQLite در اپلیکیشن‌های موبایل یک روش رایج و قدرتمند برای ذخیره و مدیریت داده‌های محلی است. SQLite یک پایگاه داده رابطه‌ای سبک و بدون نیاز به سرور است که به طور مستقی

چگونه از SQLite در اپلیکیشن‌های موبایل استفاده کنیم

استفاده از SQLite در اپلیکیشن‌های موبایل یک روش رایج و قدرتمند برای ذخیره و مدیریت داده‌های محلی است. SQLite یک پایگاه داده رابطه‌ای سبک و بدون نیاز به سرور است که به طور مستقیم در داخل اپلیکیشن شما اجرا می‌شود.

در اینجا یک راهنمای کلی برای استفاده از SQLite در اپلیکیشن‌های موبایل به همراه مثال‌هایی برای پلتفرم‌های اندروید و iOS ارائه می‌شود:

**مراحل کلی:**

1. **انتخاب زبان برنامه‌نویسی و فریم‌ورک:**
* **اندروید:** Kotlin یا Java با استفاده از Android SDK و کتابخانه‌های Jetpack (مانند Room Persistence Library)
* **iOS:** Swift یا Objective-C با استفاده از Core Data یا SQLite.swift (یک wrapper برای SQLite)
* **کراس پلتفرم:** React Native، Flutter، Xamarin و غیره با استفاده از پلاگین‌ها و کتابخانه‌های مربوطه

2. **راه‌اندازی محیط توسعه:**
* نصب Android Studio (برای اندروید) یا Xcode (برای iOS)
* ایجاد یک پروژه جدید

3. **اضافه کردن وابستگی‌ها (dependencies):**
* **اندروید (Room):**
```gradle
dependencies {
def room_version = "2.5.2"

implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"

// optional - Kotlin Extensions and Coroutines support for Room
implementation "androidx.room:room-ktx:$room_version"

// optional - RxJava2 support for Room
implementation "androidx.room:room-rxjava2:$room_version"

// optional - RxJava3 support for Room
implementation "androidx.room:room-rxjava3:$room_version"

// optional - Guava support for Room, including Optional and ListenableFuture
implementation "androidx.room:room-guava:$room_version"

// optional - Paging 3 support for Room
implementation "androidx.room:room-paging:$room_version"

// optional - Test helpers
testImplementation "androidx.room:room-testing:$room_version"
}

kapt {
generateStubs = true
}
```
* **iOS (SQLite.swift):** با استفاده از CocoaPods یا Swift Package Manager این کتابخانه را اضافه کنید.

4. **تعریف Schema پایگاه داده:**
* **اندروید (Room):** با استفاده از کلاس‌های Entity و DAO
* **iOS (SQLite.swift):** تعریف جداول و ستون‌ها با استفاده از کد

5. **ایجاد پایگاه داده و جداول:**
* **اندروید (Room):** Room این کار را به صورت خودکار انجام می‌دهد.
* **iOS (SQLite.swift):** ایجاد connection به پایگاه داده و اجرای دستورات SQL برای ایجاد جداول

6. **انجام عملیات CRUD (Create, Read, Update, Delete):**
* **اندروید (Room):** با استفاده از DAO ها
* **iOS (SQLite.swift):** اجرای دستورات SQL

**مثال‌ها:**

**اندروید (Kotlin با Room):**

* **Entity (کلاس داده برای یک جدول):**

```kotlin
@Entity(tableName = "users")
data class User(
@PrimaryKey(autoGenerate = true) val id: Int = 0,
@