کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

کار با پایگاه داده SQLite در اندروید

پایگاه داده SQLite
شرح مختصر پروژه

ایجاد یک جدول با استفاده از دستور CREATE TABLE توسط خود برنامه نوشتن یک کلاس برای انجام چهار عملیات اصلی select ، insert، update، delete

توضیحات پروژه

دوره  آموزش اندروید

با عرض سلام و خسته نباشید به شما دانشجویان محترم آموزشگاه تحلیلگر داده ها. در این مقاله قصد داریم تا نحوه کار کردن با پایگاه داده SQLite را برای شما توضیح دهیم.

 

اهداف پروژه :

در این پروژه ما  قصد داریم اهداف زیر را پیاده سازی نماییم:

ایجاد یک جدول با استفاده از دستور CREATE TABLE توسط خود برنامه

نوشتن یک کلاس برای انجام چهار عملیات اصلی select ، insert، update، delete

برای کار با پایگاه داده SQLite دو راه وجود دارد:

ایجاد پایگاه داده خارجی و وارد نمودن آن به برنامه و انجام عملیات های مورد نظر بر روی آن

ایجاد پایگاه داده داخلی و توسط کدهای SQL در خود برنامه و انجام عملیات های مورد نظر بر روی آن

در این مقاله قصد داریم که نحوه ایجاد پایگاه داده داخلی و توسط کدهای SQL در خود برنامه را برای شما دانشجویان آموزش دهیم.

برای شروع کار ابتدا می بایست یک پروژه جدید در محیط Eclipse ایجاد نماییم. برای این منظور از منوی File زیر منوی New و سپس زیر منوی Android Application Project را انتخاب می نماییم. (شکل 1)

 

image

 

شکل 1

همچنین برای ساده تر شدن و بالا بردن سرعت کار می توانید از منوی ابزار ها، منوی New و سپس Android Aplication Project را انتخاب نمایید.(شکل 2)

 

image

 

شکل 2

با انجام هر دو روش پنجره جدیدی با عنوان New Android Application باز می گردد. (شکل 3)

 

image

 

شکل 3

در این پنجره قسمت هایی وجود دارد که در زیر به توضیح آنها می پردازیم :

Aplication Name  : در این فیلد می بایست نام برنامه خود را وارد نمایید. توجه داشته باشید که هر مقداری را که در این فیلد وارد نمایید، برنامه با این نام در لیست برنامه های نصب شده قرار خواهد گرفت.

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

Project Name  : در این فیلد می بایست نام کلی پروژه خود را وارد نمایید و بهتر است که یک رشته با معنا و مرطبت با برنامه خود وارد نمایید.

زمانی که مقدار فیلد Aplication Name را وارد می نمایید، فیلد Project Name نیز بصورت خودکار همان نام را وارد می نماید. توجه داشته باشد که اگر فیلد Aplication Name را با یک رشته فارسی مقداردهی نمودید، برای جلوگیری از خطاها می بایست رشته فارسی تولید شده در فیلد Project Name را با یک رشته معادل انگلیسی جایگزین نمایید.

 

Package Name :  در این فیلد می بایست پکیج پروژه خود را تعیین نمایید که بهتر است آدرس وب سایت خود را بدون درج http  و www و بصورت از آخر به اول و به همراه نام وارد شده در فیلد Project Name وارد نمایید. این نوع مقداردهی به برنامه های مارکت نظیر بازار و Google Paly این امکان را میدهد تا زمانی که نسخه جدیدی از برنامه شما ساخته و آماده منتشر گردید باخبر شده و نسخه جدید برنامه تان را جایگزین نسخه قبلی نماید.

Minimum Required SDK : در این لیست انواع API های « نسخه های سیستم عامل اندروید » منتشر شده توسط گوگل وجود دارد. با انتخاب هر کدام از آنها مشخص می نمایید که برنامه تان به چه حداقل نسخه ای از سیستم عامل اندروید نیاز دارد. برای مثال اگر گزینه API 14 را انتخاب نمایید، برنامه تان در سیستم عامل اندروید پایین تر از اندروید 4 یا همان IceCream Sandwich، نصب و اجرا نمی گردد.

اگر از امکانات خاص نسخه های جدیدتر سیستم عامل اندروید استفاده نمی نمایید پیشنهاد می گردد که API 8  را انتخاب نمایید. چرا که با انتخاب این نسخه از سیستم عامل اندروید مطمئن خواهید بود که برنامه شما در تمامی گوشی ها و تبلت ها اجرا خواهد شد.

Target SDK : در این لیست انواع API های « نسخه های سیستم عامل اندروید » منتشر شده توسط گوگل وجود دارد. با انتخاب هر کدام از آنها مشخص می نمایید که بالاترین نسخه اندرویدی که برنامه شما می تواند در آن نصب و اجرا گردد کدام نسخه است. بدیهی ست که هرچه سطح API انتخاب شده بالاتر باشد، گوشی ها و تبلت های جدید نیز می توانند از برنامه شما استفاده نمایند.

Compile With : در این لیست انواع API های « نسخه های سیستم عامل اندروید » منتشر شده توسط گوگل وجود دارد. با انتخاب هر کدام از آنها مشخص می نمایید که برنامه Eclipse از کدام نسخه از سیستم عامل اندروید برای نوشتن کلاس های

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

Theme : در این لیست می توانید یک Theme برای برنامه خود انتخاب نمایید.

توجه داشته باشید زمانی که مقدار Compile With را کمتر از API 14 انتخاب نمایید، از این قسمت نمی توانید استفاده نمایید و می بایست از لیست موجود گزینه None رو انتخاب نمایید.

پس از مقداردهی نمودن فیلد های ذکر شده بر روی دکمه Next کلیک می نماییم تا به مرحله بعدی ایجاد پروژه برویم. (شکل 4)

image

 

شکل 4

در مرحله بعدی اگر گزینه Create custom lunche icon را انتخاب نمایید، برنامه Eclipse به شما اجازه میدهد تا برای برنامه خود یک عکس جهت ساختن icon انتخاب و یا با استفاده از ابزار های خود برنامه Eclipse، icon مورد نظر خود را ترسیم نمایید. توجه داشته باشید که در صورت عدم انتخاب این گزینه، صفحه مربوطه برای شما باز نخواهد شد.

همچنین اگر گزینه Create Activity را انتخاب نمایید، برنامه Eclipse به شما اجازه میدهد که نام و نوع activity برنامه تان را انتخاب نمایید.

این دو گزینه را انتخاب می نماییم و سایر گزینه ها را به حالت پیش فرض خود می گذاریم. حال مجددا بروی دکمه Next کلیک می نماییم تا به مرحله بعدی ایجاد پروژه برویم. (شکل 5)

 

image

 

شکل 5

در مرحله بعدی می توانید برای برنامه خود یک icon انتخاب و یا رسم نمایید.

دکمه image برای انتخاب یک عکس ترجیحا با فرمت png به عنوان icon برنامه

دکمه Clipart برای انتخاب یک clipart « شکلک » به عنوان icon برنامه

دکمه Text برای ورود یک نوشته به عنوان icon برنامه

مورد استفاده قرار می گیرند.

ما دکمه image را انتخاب و پس از انتخاب کردن عکس مورد نظر به عنوان icon برنامه بر روی دکمه Next کلیک می نماییم تا به مرحله بعدی ایجاد پروژه برویم. (شکل 6)

 

image

 

شکل 6

در مرحله بعدی گزینه Create Activity را انتخاب می نماییم و از لیست موجود که بیانگر انتخاب نوع Activity برنامه می باشد گزینه Blank Activity را انتخاب می نماییم. (شکل 7)

 

image

 

شکل 7

در مرحله آخر نیز باید برای activity و layout خود یک نام انتخاب نمایید. ما نام انتخاب شده پیش فرض را قبول کرده و بر روی دکمه Finish کلیک می نماییم تا پروژه مان ساخته شود. (شکل 8)

 

image

 

شکل 8

تا اینجای کار ما پروژه خود را در برنامه Eclipse ایجاد نموده ایم. حال برای ادامه کار می بایست ساختار جدول را مشخص نماییم. (شکل 9)

 

image

 

شکل 9

توصیه می گردد که در تمامی جدول هایی که می سازید فیلد _id وجود داشته باشد و حتما به این نکته نیز توجه نماید که نام این فیلد حتما می بایست _id باشد.

بعد از مشخص نمودن ساختار جدول، می بایست کلاسی را ایجاد نماییم تا نام فیلدهای جدول خود را در آن وارد نماییم تا بتوانیم در برنامه به آنها دسترسی پیدا کرده و اطلاعات مورد نظر خود را در آنها ذخیره و یا بازیابی نماییم. قبل از ساختن یک کلاس، برای دسته بندی کردن برنامه ایتدا یک Package می سازیم. برای این کار ابتدا بر روی پروژه خود کلیک نموده و از نوار ابزار منوی  را انتخاب می نماییم. در پنجره باز شده در فیلد Name مقدار com.tahlildadeh.model را وارد می نماییم. حال برای ایجاد یک کلاس « java class »، بر روی نام پروژه خود در پنجره Package Explorer کلیک راست می نماییم و از منوی باز شده منوی New

و سپس منوی Class را انتخاب می نماییم. (شکل 10)

 

image

 

شکل 10

در پنجره باز شده و در قسمت Package، نام کامل پکیجی که مایل به اضافه شدن کلاس به آن هستیم را وارد می نماییم. برای راحتی کار نیز می توانیم بر روی دکمه Browse.. کلیک کرده و از پنجره باز شده پکیج مورد نظر را انتخاب نماییم. (شکل 11)

image

 

image

 

 

 

شکل 11

 

سپس در قسمت Name نام دلخواه خود برای کلاس را وارد می نماییم و در قسمت Superclass نیز نام کلاسی که می خواهیم از آن ارث بری نماییم وارد می نماییم. چون نیازی به ارث بری از کلاس دیگری نمی باشد این فیلد را خالی می گذاریم. (شکل 12)

 

image

 

شکل 12

و در آخر بر روی دکمه Finish کلیک می نماییم تا کلاس مان در پکیج انتخاب شده ایجاد گردد.

بعد از ایجاد نمودن کلاس UserData، متغیرهای مورد نیاز و همچنین متد constructor را به کلاس خود وارد می نماییم. (شکل 13)

 

image

 

 

شکل 13

در زمان تعریف متغیرها، می بایست به تعداد فیلدهایی که در جدول وجود دارد متغییر تعریف نمایم.

در زمان تعریف متغیرها، توصیه می گردد که از همان نام های به کار برده شده در تعریف فیلدهای جدول استفاده گردد تا در زمان استفاده دچار مشکل نشویم.

بعد از تعریف نمودن متغیر ها و متد constructor، نیاز است تا برای متغیرهای تعریف شده متد های Setter و Getter تعریف نماییم تا بوسیله این متدها بتوانیم داده های مورد نظر خود را در آنها ذخیره کرده و بعد از آن در داخل جدول ذخیره نماییم و یا بر عکس عمل نماییم. (شکل 14)

 

image

 

شکل 14

در اینجا کار ما با کلاس UserDate تمام می شود.

در برنامه نویسی به این کلاس اصطلاحا model گفته می شود.

در ادامه می بایست کلاس دیگری را ایجاد نماییم که وظیفه ساخت پایگاه داده و جدول مورد نظر و انجام چهار عمل اصلی ذکره شده را دارا می باشد. برای انجام این کار، کلاس جدیدی با توجه به روال ذکر شده در قبل با نام DBAdapter در پکیج com.tahlildadeh.persistence ایجاد کرده و متغیرهای لازم و همچنین متد constructor را در آن وارد می نماییم. (شکل 15)

 

image

 

شکل 15

در تعریف متغیرها، هرگاه از کلمه کلیدی final استفاده گردد، تمامی مقادیر پیش فرض اختصاص داده شده به آنها ثابت و غیر قابل تغییر خواهند بود.

در تعریف متغیرها، هرگاه از کلمه کلیدی static استفاده گردد، از آنها می توان به راحتی در تمامی متدهای موجود در آن کلاس استفاده نمود.

در کدهای بالا، اولین متغیر تعریف شده برای تعیین نمودن نسخه پایگاه داده و متغیر های دوم و سوم به ترتیب برای تعیین نمودن نام جدول و نام پایگاه داده می باشند.  متغیرهای تعریف شده بعد از آن نیز برای تعیین نمودن نام فیلدهای جدول برنامه می باشند و آخرین متغیر تعریف شده نیز دستور ساخت جدول برنامه می باشد.

در ادامه می بایست کلاسی را به کلاس جاری اضافه نماییم که پایگاه داده و جدول برنامه را بسازد و یا در زمانی که پایگاه داده برنامه تغییر داده شد و نسخه آن به بروز رسانی گردید، نسخه جدید را جایگزین قبلی نماید. (شکل 16)

 

image

 

شکل 16

کدهای بالا را بعد از متد constructor کلاس DBAdapter وارد نمایید.

بعد از وارد نمودن کدهای بالا، حتما دستور زیر را قبل از متد constructor وارد نمایید. (شکل 17)

image

 

شکل 17

متد counstructor کلاس بالا چهار پارامتر ورودی دریافت می نماید. پارامتر اول شئی از نوع Context می باشد و به کلاس Activity اشاره می نماید که کلاس DBAdapter را فراخوانی نموده است. پرامتر دوم نام پایگاه داده می باشد و می بایست یک مقدار یکتا و ثابت انتخاب نماییم. پارامتر سوم را نیز همیشه null وارد می شود و پارامتر چهارم نیز نسخه پایگاه داده می باشد. این متد پایگاه داده برنامه را با نام تعیین شده در مسیر ROOT/data/data/APP_NAME/databases/FILENAME ایجاد می نماید.

ROOT برابر با مسیر پوشه اصلی حافظه خارجی « External Storage »  می باشد و APP_NAME نیز برابر با نام package  برنامه ما وFILENAME  نیز برابر با نامی می باشد که در کدهایمان، برای پایگاه داده تعیین نموده ایم.

زمانی که برنامه مان برای اولین بار در دستگاه اندرویدی کاربر اجرا گردید و بعد از آنکه متد constructor کلاس DataBAseHelper اجرا و پایگاه داده در مسیر ذکر شده ایجاد گردید، متد onCreate اجرا شده و جداول تعیین شده را ایجاد می نماید.

کدهای SQL ساخت جدول را که قبلا در متغیر USER_CREATE وارد نموده بودیم، با استفاده از متد execSQL شی db که نمونه ای از کلاس SQLiteDatabase می باشد اجرا نمودیم.

متد execSQL رشته ای از دستورات SQL دریافت و سپس آنها را اجرا می نماید.

دستور ساخت جدول را در بلاک try / catch قرار داده ایم تا اگر زمانی برنامه در هنگام اجرا نمودن کدهای SQL با خطایی مواجع گردید، برنامه دچار force close نگردد و به کار خود با درج یک لاگ جهت اطلاع به برنامه نویس به کار خود ادامه دهد.

توجه داشته باشید که متد onCreate تنها زمانی اجرا می گردد که برنامه برای اولین بار در دستگاه اندرویدی کاربر نصب و اجرا گردد.

اگر برنامه نویس، نسخه پایگاه داده را بروزرسانی نماید « مقدار متغیر DATABASE_VERSION را تغییر دهد » و برنامه مان بر روی دستگاه اندرویدی کاربر از قبل نصب و اجرا شده باشد، آنگاه متد onUpgrade کلاس DataBaseHelper به صورت خودکار اجرا می گردد.

تنها کاری که نیاز است در این متد انجام دهیم آن است که جداول نسخه قبلی پایگاه داده را حذف نماییم و متد onCreate را مجددا اجرا نماییم.

کلاس Log برای درج پیغام هایی در پنجره LogCat برای دیباگ نمودن پروژه های اندرویدی مورد استفاده قرار می گیرد. این کلاس دارای 6 متد مهم و کاربردی می باشد که عبارتند از : e، w، i، d، v، wtf. تمامی این متد ها دو پارامتر ورودی از نوع String دارند. پارامتر اول برای مشخص نمودن مقدار فیلد Tag و پارامتر دوم برای مشخص نمودن مقدار فیلد Text پنجره LogCat می باشد.

برای دسترسی به پنجره LogCat می بایست به منوی Window -> Show View -> Other رفته و در پنجره باز شده، در کادر type filter text، عبارت LogCat را وارد نمایید و گزینه LogCat را انتخاب و بر روی دکمه OK کلیک نمایید.

تفاوت بین انواع Log ها:

Log.e

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

Log.w

زمانی به کار می رود که بخواهیم در مورد به وجود آمدن یک وضعیت، هشدار بدهیم. اگرچه وضعیت به وجود آمده، اختلال مهمی در روند اجرای کدها ایجاد نمی کند، ولی می بایست به صورت یک نکته مهم به برنامه نویس تذکر داده شود تا در صورت نیاز، موارد مربوط به آن را در کدنویسی های بعدی مد نظر قرار بدهد .

Log.i

برای نمایش اطلاعات مفیدی در زمینه اجرای بخش های مختلف برنامه اندروید به کار گرفته می شود. مثلا اگر کد شما در کل شامل 5 مرحله باشد، می توانید در انتهای اجرای هر مرحله، با Log.i، پیامی مبنی بر اجرای موفقیت آمیز هر مرحله، در LogCat نمایش بدهید.

Log.d

برای خطایابی برنامه اندروید به کار گرفته می شود. « اگر زمانی با خطا روبرو شویم، با پیام های نوشته شده توسط

 

Log.d می توانیم علت ایجاد خطا را پیدا نماییم »

Log.v

برای نمایش تمامی نکات کوچک و بزرگ از اجرای برنامه اندروید، در قسمت LogCat ، به کار گرفته می شود.

Log.wtf

مشابه Log.e می باشد، اما برای مواردی به کار گرفته می شود که یک خطای خیلی مهم رخ داده باشد که با وقوع آن خطا، باید کل روند اجرای برنامه اندروید متوقف گردد.

در ادامه، کدهای لازم برای باز نمودن پایگاه داده جهت انجام چهار عمل اصلی و همچنین کدهای خود چهار اعمال اصلی را در کلاس DBAdapter وارد می نماییم.

کدهای لازم برای باز نمودن پایگاه داده. (شکل 18)

 

image

 

شکل 18

مجموعه ی مفیدی از  APIها در کلاس SQLiteOpenHelper وجود دارد. وقتی که از این کلاس برای ارجاع به پایگاه داده استفاده می نماییم، سیستم عملیات زمان بری را برای ایجاد و به روز رسانی پایگاه داده در هر زمانی که نیاز باشد انجام می دهد. تنها کاری که ما می بایست انجام دهیم فراخوانی متد getWritableDatabase یاgetReadableDatabase  می باشد.

به این دلیل که فراخوانی متدهایgetWritableDatabase  وgetReadableDatabase  می توانند زمان بر باشند، بهتر است که آنها را در یک thread در پس زمینه برنامه اجرا نماییم.

کدهای لازم برای اضافه نمودن داده های مورد نظر در پایگاه داده (شکل 19)

 

image

 

شکل 19

هنگام انجام دادن هر عملی بر روی پایگاه داده ابتدا می بایست آنرا باز نماییم و بعد از اتمام کار حتما می بایست آنرا با استفاده از متد close ببندیم.

پارامتر ورودی این متد می بایست کلاس UserData باشد تا بتوانیم به داده هایی که کاربر وارد نموده است دسترسی پیدا نماییم.

بعد از آنکه مقادیر لازمه را از کلاس UserData خواندیم، برای آنکه بتوانیم هر عملی را که مد نظر داریم بر روی پایگاه داده اعمال نماییم می بایست ابتدا در شئی از نوع ContentValues ذخیره نماییم. این عمل را با استفاده از متد put شی cVal ساخته شده از کلاس ContentValues انجام می دهیم. این مند دو پارامتر ورودی دریافت می نماید. پارامتر اول یک کلید از نوع String می باشد « این کلید می بایست یکتا و ثابت باشد » و پارامتر دوم نیز داده مورد نظر جهت ذخیره در شی cVal می باشد.

برای انجام عملیات درج « Insert »، می بایست از متد insert شئی که با استفاده از آن پایگاه داده را باز نموده ایم استفاده نماییم. این متد سه پارامتر ورودی دریافت می نماید. پارامتر اول نام جدولی که می خواهیم داده های ذخیره شده در شی ContentValues در آن ذخیره گردد می باشد. پارامتر دوم نام فیلدهایی می باشد که می خواهیم مقدار آنها Null باشد و پارامتر سوم نام شی ساخته شده از کلاس ContentValues می باشد.

کدهای لازم برای بروزرسانی داده های از قبل وارد شده در پایگاه داده. (شکل 20)

 

image

 

شکل 20

برای انجام عملیات بروزرسانی « Update »، می بایست از دستور update شئی که با استفاده از آن پایگاه داده را باز نموده ایم استفاده نماییم. این متد چهار پارامتر ورودی دریافت می نماید. پارامتر اول نام جدولی که می خواهیم یک یا تعدادی رکورد از آن را تغییر و بروزرسانی نماییم می باشد. پارامتر دوم نام شی ساخته شده از کلاس ContentValues می باشد. پارامتر سوم یک دستور شرطی می باشد که بر اساس آن شرط رکورد یا رکوردهایی از جدول را تغییر و بروزرسانی می نماییم و پارامتر چهارم نیز مقدار مورد نظر برای قرار گرفتن در شرط می باشد و می بایست آرایه ای از نوع String باشد.

چون متد getID شی uDate یک عدد از نوع int باز می گرداند و این پارامتر چهارم می بایست از نوع String باشد، با استفاده از متد valueOf کلاس String، عدد دریافت شده را به String تبدیل می نماییم.

کدهای لازم برای حذف داده های از قبل وارد شده در پایگاه داده. (شکل 21)

 

image

 

شکل 21

برای انجام عملیات حذف « Delete »، می بایست از دستور delete شئی که با استفاده از آن پایگاه داده را باز نموده ایم استفاده نماییم. این متد سه پارامتر ورودی دریافت می نماید. پارامتر اول نام جدولی که می خواهیم یک یا تعدادی رکورد از آن را حذف نماییم می باشد. پارامتر دوم یک دستور شرطی می باشد که بر اساس آن شرط رکورد یا رکوردهایی از جدول را حذف می نماییم و پارامتر سوم نیز مقدار مورد نظر برای قرار گرفتن در شرط می باشد و می بایست آرایه ای از نوع String باشد.

کدهای لازم برای انتخاب تمامی داده های از قبل وارد شده در پایگاه داده. (شکل 22)

 

image

 

شکل 22

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

برای انتخاب رکوردهای موجود در پایگاه داده از دستور select استفاده می نماییم.  دستور مورد نظر خود را در یک متغیر از نوع String ذخیره می نماییم. سپس شئی از کلاس List می سازیم تا رکوردهای خوانده شده از پایگاه داده را درون ان ذخیره نماییم.

دستورات SQL ای که از نوع select می باشند، می بایست توسط متد rawQuery شئی که با استفاده از آن پایگاه داده را باز نموده ایم استقاده نماییم. این متد خورجی از نوع Cursor برمی گرداند بنابراین می بایست خروجی متد rawQuery در یک

شی از کلاس Cursor ذخیره گردد. از این کلاس جهت حرکت بر روی داده های واکشی شده از پایگاه داده و یا خواندن آنها و یا ... استفاده می نماییم.

با دستور moveToFirst کلاس Cursor، به ابتدای کلاس Cursor می رویم. اگر این عمل با موفقیت انجام شود مقدار true و در غیر اینصورت false برمی گرداند.

با استفاده از حلقه ها، داده های رکوردهای واکشی شده را می خوانیم. این عمل را با استفاده از متد getString کلاس Cursor انجام می دهیم. این متد یک عدد صحیح دریافت می نماید که همان شماره ایندکس فیلدهای موجود در جدول مورد استفاده شده می باشد. بعد از خواندن داده های هر رکورد آنها را در List ساخته شده ذخیره می نماییم.

در آخر لیست ساخته شده را با استفاده از دستور return جهت نمایش به کاربر، به برنامه باز می گردانیم.

در انتها برای آنکه بتوانیم به کلاس و متدهای آن دسترسی پیدا نماییم متد دیگری را به کلاس DBAdapter اضافه می نماییم. (شکل 23)

 

image

 

شکل23

در اینجا کارمان با کلاس DBAdapter به اتمام میرسد و در ادامه نحوه استفاده از کلاس فوق را آموزش خواهیم داد. (شکل 24)

 

image

 

شکل 24

در کلاس MainActivity ابتدا با استفاده متد init کلاس DBAdapter، کلاس DataBaseHelper را فراخوانی می نماییم و دیتابیس و جدول مورد نیاز برنامه را می سازیم.

علت نساختن شئی از کلاس DBAdapter به این خاطر است که تمامی متدهای این کلاس به صورت static تعریف شده اند. در بحث شی گرایی، اگر متدهای یک کلاس بصورت static تعریف شوند، آن متد را می توان با استفاده از نام خود کلاس و نساختن شی از کلاس مورد استفاده قرار داد.

این متد یک پارامتر از نوع کلاس Context دریافت می کند که برای مقداردهی کردن آن می توانیم از دستور MainActivity.this استفاده نماییم. خروجی این دستور شئی از کلاس Context می باشد.

در ادامه با استفاده از کلاس Log، یک log ایجاد نمودیم و بعد از آن با استفاده از متد addUserData کلاس DBAdapter، یک رکورد در پایگاه داده ثبت نمودیم.

و در انتها تمامی اطلاعات ذخیره شده در پایگاه داده را خوانده و با استفاده از کلاس Log، بصورت log در پنچره LogCat نمایش دادیم.

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

شاد و پیروز باشید.

1394/07/27 9245 916
رمز عبور : tahlildadeh.com یا www.tahlildade.com
نظرات شما

نظرات خود را ثبت کنید...