دیتابیس Sqlite در kotlin (اندروید)

سلام توسعه دهندگان عزیز در این سری از آموزش برنامه نویسی اندروید به آموزش دیتابیس Sqlite در kotlin (اندروید) می پردازیم از دیتابیس در اندروید به منظور ذخیره سازی داده استفاده می شود قبلا آموزش دیتابیس Sqlite را در برنامه نویسی اندروید برای شما قرار داده بودیم در این آموزش نحوه پیاده سازی دیتابیس Sqlite را در کوتلین (kotlin) برای شما قرار میدهیم.
 
برخی تصور می کنند دیتابیس در اندروید البته در برنامه نویسی کوتلین (kotlin) کمی سخت باشد اما شاید ساده تر از کد جاوا نیز باشد (این آموزش به صورت کلی قرار می گیرد سپس به صورت بخش بخش هر متد توضیح داده خواهد شد.)
به صورت رسمی دیتابیس SQlite برای Kotlin عرضه نشده ولی مثل قبل بیشتر توسعه دهندگان کارها رو جلو میبرند دیتابیسی که در ادامه معرفی می کنم کاملا رسمی است.
وارد فایل Build.gradle شده و کتاب خانه زیر را sync کنید.

پروزه را sync کنید قند شکن فراموش نشود.
اگر دیتابیس SQlite را در اندروید تست کرده باشید از یک کلاس Helper به منظور استفاده از دیتابیس ساخته شده و با دیتابیس کار می کردیم در اینجا هم به همان شکل است.
پس یک کلاس به نام MyDatabaseOpenHelper ایجاد کرده و کدهای زیر را در آن قرار دهید.

در اینجا هم از دو کد برای دسترسی به دیتا  getReadableDatabase() یا getWritableDatabase() همانند جاوا استفاده می کنیم. در بالا به همان شیوه قبل به منظور ساخت دیتابیس عمل کردیم یعنی یک Table ساختیم یکسری ستون برای آن در نظر گرفتیم.
در Sqlite کلا شما می توانید با پنج نوع داده کار کنید که عبارتند از :

  • NULL
  • INTEGER
  • REAL
  • TEXT
  • BLOB

برای اینکه یک Table را drop کنید می توانید از کد زیر استفاده کنید.

برای اینکه داده را Insert کنیم باید از ContetValues استفاده کنیم (قبلا توضیح داده شده است از این لینک استفاده کنید.)

یکی از ویژگی های که این کتاب خانه دارد و فوق العاده است می توانید داده ها را به شکل مختلف Insert کنید کد زیر را بررسی کنید.

با استفاده از کلمه کلیدی database.use می توانید Insert نیز انجام دهید.

دستور Select در این دیتابیس همانند زیر است.

در بالا به جای فیلد {userId} مقدار 42 می نشنید و به جای {userName} مقدار John.
همانند Cursor در SQlite در اینجا نیز چیزی برای parse دیتا بازگشتی داریم.

Method Description
parseSingle(rowParser): T Parse exactly one row
parseOpt(rowParser): T? Parse zero or one row
parseList(rowParser): List<T> Parse zero or more rows

در صورتی که اگر مطمئن هستید که همیشه یک row برمیگردد از متد parseSingle استفاده کنید.
در صورتی که تعداد ستون ها بین 0 تا یک است از متد parseOpt استفاده کنید.
در صورتی بیش از یک یا 0 است از متد parseList استفاده کنید.
به عنوان مثال اگر یک Data Model ایجاد کرده باشید مثل زیر

و بخواهید یک شئی یا row از person بسازید مثل زیر می شود بعد می تواند داده برگشتی از دیتابیس  را در آن قرار دهید.

اگر بخواهید داده ای را آپدیت کنید از کدهای زیر استفاده کنید.

در بالا هم همانند دستور select است.
دستور update همراه با where همراه با مقدار فیلد به صورت مستقیم

برای حذف داده هم از کد زیر استفاده کنید

 
 
این آموزش هم به پایان رسید.
موفق و پیروز باشید.

مطالعه بیشتر