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

یادداشت های یک برنامه نویس معمولی

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

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

۷ مطلب با موضوع «آموزش اندروید :: SQLite» ثبت شده است

1. حتما از کلاس Labels استفاده بشه (برای اسامی دیتابیس، جدول و ستون ها و ...)

 

2. اگر بخواهیم سرچ کنیم مثلا کدوم کاربر اسم یا فامیلیش یه چیز خاصی هست میشه از Where توی دستور query استفاده کرد. (برای اطلاعات بیشتر به سایت اندروید مراجعه شود)

 

3. حتما حتما حتما برای دسترسی به دیتابیس توی هر اکتیویتی دیتابیس باید باز بشه. (چند ساعت سر همین رفتم سر کار!)

 

4. هر جا کارمون با Cursor تموم شد باید اونو close کنیم.

 

5. استفاده از سینگل تون هم روش خوبیه برای اینکه توی هر اکتیویتی از دیتابیس شی نسازیم. (اینو تست نکردم هنوز)

 

6. لینک های مفید دیتابیس:

 

لینک 1

 

لینک 2

 

لینک 3 (استفاده از شی سینگل تون)

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۷ دی ۹۸ ، ۲۳:۳۹
میم دال

متد  delete

 

این متد مثل متد آپدیت هست ولی contentValues نداره. خروجی int هم داره. این int شماره اون سطری که تحت تاثیر قرار گرفته (یعنی حذف شده) رو نشون میده در غیر این صورت "صفر" برمیگردونه. 

برای اینکه کل سطرها حذف شه باید بجای whereClause "یک" بذاریم. (اینو تست نکردم توی سایت اندروید نوشته)

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۷ دی ۹۸ ، ۲۱:۴۱
میم دال

متد update

 

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

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۶ دی ۹۸ ، ۲۱:۰۲
میم دال

متد Select

 

این متد خیلی مهمه. کلا برای خوندن از دیتابیس از این متد استفاده میشه. یعنی هر کاری از قبیل سرچ و نمایش و اینا وظیفه این متد هست. مثل قبل، برای استفاده از این متد دو روش وجود داره:

 1. استفاده از متد "rawQuery"

 2. استفاده از متد "query"

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۵ دی ۹۸ ، ۱۵:۴۴
میم دال

متد insert در دیتابیس

 

این متد برای اینه که یک سطر به دیتابیس اضافه بشه. به صورت کلی دو روش برای این کار وجود داره:

1. استفاده از دستورات SQL و متد execSQL

متد "execSQL" خروجی نداره و فقط یه دستور SQL رو اجرا میکنه. مشکلش اینه که ممکنه ارور داشته باشه و برنامه کرش کنه. بخاطر همین حتما باید توی try-catch باشه. مضاف بر اینکه، اندروید توصیه میکنه از این استفاده نکنیم چون خروجی نداره. ولی خب در هر صورت هر چی عشقتون میکشه :))

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۵ دی ۹۸ ، ۱۵:۰۰
میم دال

در واقع اندروید اینجوریه که توی کلاس SQliteOpenHelper عملیات ساخت و کانفیگ دیتابیس انجام میشه و توی کلاس SqLiteDatabse متدهای CRUD فراخونی میشه (یعنی متدهای عملیات روی دیتابیس)

توی پست قبل ما فقط دیتابیس رو ساختیم. حالا باید دیتابیس رو باز کنیم. از کلاسی که ساختیم (DatabaseHelper) یک نمونه میسازیم و متد getWritable رو از این شی فراخونی میکنیم. 

 

شی DatabaseHelper دو نوع دیتابیس خوندنی (getReadable) و نوشتنی (getWritable) رو میده. دیتابیس خوندنی فقط امکان select رو به ما میده ولی برای نوشتن و آپدیت و اینا باید از دیتابیس نوشتنی استفاده کنیم.

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۵ دی ۹۸ ، ۱۴:۵۰
میم دال

توی اندروید دو تا روش برای ذخیره سازی وجود داره: 

1. Shared Preferences

2. Database

 

اول دومی رو میگم!

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

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

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۵ دی ۹۸ ، ۰۳:۴۹
میم دال