فلاتر

آموزش ساخت دفترچه یادداشت در فلاتر قسمت دوم

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

اگر هنوز قسمت اول آموزش را مطالعه نکردید میتونید از لینک زیر استفاده کنید.

آموزش ساخت دفترچه یادداشت در فلاتر قسمت ۱

اگر هم هنوز Flutter را شروع نکردید میتونید از دوره های آموزش فلاتر ما استفاده کنید.

برای ادامه کار متدی میسازیم که تعداد کل اطلاعات ذخیره شده در دیتابیس را نمایش دهد.

بریا مثال اگر دو ردیف اطلاعات در دیتابیس داریم این متد عدد 2 را برمیگرداند.

این کار در موارد مختلفی کاربرد. برای مثال زمانی که این متد عدد 0 را برمیگرداند میتونیم به کاربر پیام بدیم که هنوز هیچ اطلاعاتی وارد نکردید.

Future<int> getCount() async {
  var dbClient = await db;
  int count = Sqflite.firstIntValue(await dbClient
      .rawQuery("SELECT COUNT(*) FROM ${Constants.TABLE_NAME}"));
  return count;
}

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

برای این کار در قسمت قبلی گفتیم که نیاز به آیدی رکورد موردنظر خودمون داریم.

با داشتن آیدی و ارسال آن به متد زیر به عنوان پارامتر ورودی اطلاعات رکورد مورد نظرا را دریافت میکنیم.

Future<note> getSingleItem(int id) async {
  var dbClient = await db;
  var result = await dbClient.rawQuery(
      "SELECT * FROM ${Constants.TABLE_NAME} WHERE ${Constants.COLUM_ID} = $id");
  if (result == null) return null;
  return new Note.fromMap(result.first);
}

اگر یادتون باشه در کدهای کلاس Note یک کانستراکتور به نام Note.fromMap() داشتیم.

و همونطور هم که گفتیم در فلاتر اطلاعات بصورت Map در دیتابیس ذخیره میشه و طبیعتا هم موقع دریافت به صورت Map هستند.

این متد کار تبدیل Map به آبجکت معمولی از کلاس Note و انجام میده.

 Note.fromMap(Map<string, dynamic=""> map) {
  this._text = map['name'];
  this._id = map['id'];
  this._date = map['date'];
}

برای پیاده سازی متد مخصوص پاک کردن اطلاعات هم دوباره ما نیاز به آیدی رکورد خودمون داریم.

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

 
Future<int> deleteItem(int id) async {
  var dbClient = await db;
  int count = await dbClient.delete(Constants.TABLE_NAME,
      where: "${Constants.COLUM_ID} = ?", whereArgs: [id]);
  return count;
}

و اما آخرین کار مهمی که باید یاد بگیریم در دیتابیس انجام بدیم بروزرسانی اطلاعات هست.

برای بروزرسانی اطلاعات یک رکورد از دستور update استفاده میکنیم.

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

 Future<int> updateItem(Note note) async {
  var dbClient = await db;
  int count = await dbClient.update(Constants.TABLE_NAME, note.toMap(),
      where: "${Constants.COLUM_ID} = ?", whereArgs: [note.id]);

  return count;
}

خب ما در این دو قسمت تونستیم کار با دیتابیس و به همراه دستورات اصلی یادبگیریم.

امیدوارم که این آموزش برنامه نویسی فلاتر مورد رضایت شما قرار گرفته باشد.

هرگونه کپی برداری از مطالب بدون ذکر نام و لینک مرجع فارسی Flutter ممنوع می باشد.

Hesam

Recent Posts

آموزش افزایش سرعت اجرای وب اپلیکیشن های فلاتر

اگر یک برنامه نویس فلاتر هستید و با از نسخه وب اپلیکیشن پروژتون استفاده میکنید…

3 هفته ago

آموزش جامع انتشار اپلیکیشن اندروید و فلاتر در فروشگاه گوگل پلی Google play

به عنوان یک برنامه نویس فلاتر یا اندروید بعد از اتمام پروسه طراحی اپلیکیشن نیاز…

2 ماه ago

دانلود سورس کد رابط کاربری اپلیکیشن فلاتر پروژه پادکست

طراحی رابط کاربری اپلیکیشن پادکست خود را با استفاده از این کیت توسعه UI/UX فلاتر…

2 ماه ago

فایربیس چیست؟ معرفی سرویس ابری Firebase و کاربردهای آن

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

2 ماه ago

آموزش پیاده سازی Method Channel در فلاتر + فیلم

فلاتر یک فریم ورک برنامه نویسی چندسکویی است که این امکان را برای برنامه نویس…

3 ماه ago

بهترین منابع برای آموزش رایگان برنامه نویسی فلاتر در سال 2024

فلاتر یک فریم ورک برنامه نویسی چندسکویی است که به وسیله آن میتوانید برای سیستم…

3 ماه ago