PDA

View Full Version : پاک شدن دیتابیس از روی تبلت



sara_traveler
شنبه 03 خرداد 1393, 08:51 صبح
سلام
من میخوام برنامه جدید روی تبلت بریزم
و باید قبلی unistall کنم و بعد برنامه جدید بریزم
میخواستم بدونم با unistall کردن اطلاعاتی که کاربر در تبلت وارد کرده پاک نمیشه؟
چون من نمی خوام اطلاعات پاک بشه

ممنون

#root#
شنبه 03 خرداد 1393, 09:22 صبح
سلام
من میخوام برنامه جدید روی تبلت بریزم
و باید قبلی unistall کنم و بعد برنامه جدید بریزم
میخواستم بدونم با unistall کردن اطلاعاتی که کاربر در تبلت وارد کرده پاک نمیشه؟
چون من نمی خوام اطلاعات پاک بشه

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

data/data/com.my.app/

sara_traveler
شنبه 03 خرداد 1393, 11:21 صبح
انطوری که خیلی بده
چون هر بار بخوایم ورژن جدید برنامه بریزیم اطلاعات پاک میشه
چطور میشه مسیر ذخیره اطلاعات کارت حافظه داد؟

#root#
شنبه 03 خرداد 1393, 11:41 صبح
انطوری که خیلی بده
چون هر بار بخوایم ورژن جدید برنامه بریزیم اطلاعات پاک میشه
چطور میشه مسیر ذخیره اطلاعات کارت حافظه داد؟

تو برنامه های خارجی من یادم نمیاد مجبور به پاک شدن نسخه قدیم موقع نصب نسخه جدید باشم (به غیر اونایی که پچ شده (کرک) هستن و امضاشون دستخورده)،

ولی تو برنامه های ما معمولا توسعه دهنده های محترم (خودم که بیسوادم) اونایی که دیتابیس دارن موقع انشار نسخه جدید میگن برنامه رو حذف کنید(نسخه قدیم) تا به مشکل برنخورید (بلد نیستن دیتابیس رو مدیریت کنن :بامزه:) ،

خب اگه این مورد بالا رو حل کنید چه نیازی به حذف برنامه هستش (یعنی دلیل قانع کننده ای من پیدا نمیکنم) !

poorman
شنبه 03 خرداد 1393, 12:02 عصر
اگر از دیتابیس آماده استفاده میکنید و از لایبری SQLite Asset Helper، این لایبری این قابلیت رو داره که علاوه بر آپدیت برنامه، اطلاعات کاربر رو حفظ کنه

saeed_g21
شنبه 03 خرداد 1393, 23:49 عصر
موقع نصب برنامه من 2تا ایکون ظاهر میشه یکی برای کار با برنامه و دیگری برای اصلاح ساختار!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

sara_traveler
یک شنبه 04 خرداد 1393, 14:28 عصر
میشه در مورد SQLite Asset Helper بیشتر توضیح بدید
نمونه مثالی دارید که از این روش استفاده شده باشه ؟

چون فکر میکنم روش منطقی باشه و من نیاز دارم اطلاعاتم حتما حفظ بشه

poorman
یک شنبه 04 خرداد 1393, 20:55 عصر
استفاده از دیتابیس آماده رو که آموزشش رو قرار دادم با لایبری SQLite Asset Helper ( توی این پست (http://barnamenevis.org/showthread.php?441406-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-SQLite-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B3%D8%A7%D8%AF%D9%87-%D8%A8%D8%AF%D9%88%D9%86-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%DA%A9%D9%84%D8%A7%D8%B3-DataBaseHelper&p=1987677&viewfull=1#post1987677))

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

من روی این روش کار نکردم، اما میدونم چیز سختی نیست، نمونه برنامش توی github هست

https://github.com/jgilfelt/android-sqlite-asset-helper

توی قسمت samples و upgrade