آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استفاده از دیتابیس های آماده در پروژه ها

hasan20n  4 سال پیش  4 سال پیش
0 0

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

1.چجوری فایل آماده با فرمت .db رو ایمپورت کنم؟

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

3.اگر کسی سمپل کدی داره بی زحمت واسم تو قسمت جواب درج کنه.

با تشکر.

+1 0
لینک (4 سال پیش)
0 0
متشکرم دوست عزیز لینک جالبی بود و تونستم از این طریق مشکلمو حل کنم. (4 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
ChookD1  4 سال پیش
+1 0

با سلام.

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

برای اینکار:
1- باید دیتابیس رو درون پوشه ی assets کپی بکنید ( تا برنامه یکبار برای همیشه اونو روی حافظه کپی بکنه و درصورتی که کاربر اونو حذف کرد ، دوباره اضافش بکنه ) توی همین مورد هم احتمال داره به مشکلاتی بخورید
2- دسترسی های لازم رو براش میدید توی androidmanifest
3- بعدش میتونید مثل سابق که مسیر دیتابیس رو میگرفتید و ازش میخوندید و دستور بهش میدادید ، با این هم همین برخورد رو داشته باشید.

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

راستش منم تابحال آموزشای استاد رو پیش رفتم و دقیق اطلاع ندارم اما طوری که از یکی از دوستان شنیدم ، دیتابیسی که گوگل داره همیشه توی داکیومنتاش جایگزین SQLite معرفیش میکنه ، Room هست.
با این دیتابیس بنظرم نیازی نیست که کپی بکنی توی حافظه ، البته بهتر میدونم که سایر دوستان بیان و نظر بدن تا اصلاحش بکنم اگه اینطور نیست.

و در آخر اینکه همه ی مراحل بالا اعم از کپی کردن ، دسترسی گرفتن و ... همه رو در یک اسنیپ کدهای کار رو براتون گرد آوری کردم که میتونید در این قسمت به همراه توضیحاتش مطالعه کنید :     لینک     لایک فراموش نشه


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .