نقل قول نوشته شده توسط poorman مشاهده تاپیک
آموزش کار با دیتابیس آماده SQLite

برای ساخت یک دیتابیس خارجی و آماده نرم افزار SQLite Database Browser رو پیشنهاد میکنم

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

-----------------------------------------------------------------------------------------------

بالاخره من دیشب تونستم تمام مشکلات مربوط به دیتابیس آماده رو حل کنم و ارتباط خوبی برقرار کنم با لایبری
sqlite asset helper

( با تشکر از hamedjj به خاطر پافشاری روی استفاده از این لایبری )

ولی خب استفاده از این لایبری هم یکم برام گیج کننده بود که خدا رو شکر تونستم آخرش راه بندازمش
من یه توضیح میدم واسه کسایی که میخوان با دیتابیس آماده کار کنن و مثل من به مشکل خوردن

انصافا استفاده از
sqlite asset helper راحته و بسیار کارا
یکی از مشکلاتی که من برخورد کردم توی استفاده از کلاس های دیگه، این بود که توی اندروید 10 به پایین دیتابیس رو ایجاد نمیکرد ولی این لایبری مشکل رو حل کرد

خب دوستانی که با اکلیپس کار میکنن این فایل jar رو دانلود کنن و توی پروژه مورد نظر در پوشه
libs قرار بدن

لینک فایل jar


توی پوشه
assets یک پوشه به اسم databases بسازید

بعد دیتابیس خودتون رو
zip کنید ( فایل دیتابیس به تنهایی باید پسوند .db داشته باشه )

فایل زیپ شده رو با فرمت اسم
( DataBaseName.db.zip ) توی پوشه databases بذارید. ( دقت کنید باید هم پسوند db هم پسوند zip داشته باشه )

یعنی نمایش فایل زیپ توی ویندوز به صورت
DataBaseName.db و نمایش توی اکلیپس به شکل DataBaseName.db.zip باشه

بعدش این کلاس رو ایجاد کنین



public class MyDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "DataBaseName.db";
private static final int DATABASE_VERSION = 1;

public MyDatabase (Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
}


توی کلاسی که ایجاد کردین اسم دیتابیس خودتون رو با پسوند
db وارد کنین

بعدش توی اکتیویتی توی متغیرهای عمومی یک نمونه از این کلاس تعریف کنید، به این صورت :
private MyDatabase MyDataBase;


و بعد توی متد onCreate این خط کد رو بنویسین :
MyDataBase = new MyDatabase(this);


حالا هر جایی که خواستین دیتابیس رو باز کنین، میتونین از دو تا حالت
getWritableDatabase() و getReadableDatabase() که برای خوندن و نوشتن هست استفاده کنین
به صورت زیر مثلا :

mydb = MyDataBase.getReadableDatabase();


وقتی getReadableDatabase استفاده میکنید، فقط عملیات خواندن رو میتونید انجام بدید

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

به همین سادگی، فقط باید تمام این مراحل رو به ترتیب و همینطور که گفتم انجام بدید که به مشکل نخورید
( zip کردن دیتابیس برای اینه که توی اندروید 10 به پایین خطا نگیرید )

آموزش کار با دیتابیس ( خواندن، نوشتن، آپدیت و دیلت ) توی همین تاپیک قرار داده شده

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


----------------------------------------------------------------------------------------------

برای آپدیت کردن اطلاعات دیتابیس آماده به این پست مراجعه کنید

اگر مفید واقع شد، دکمه تشکر این پایینه
ممنون از آموزشتون، نسبت به اون چیزایه دیگه ای که دیدم خیلی ساده تر به نظر می رسه،
وقتی کد ها رو می نویسم به Sqlite assethelper گیر میده، فک کنم باید کلاسش ساخته بشه، و اگه باید ساخته بشه سوپرکلسش باید چی باشه؟
خیلی ممنون