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

مشکل تشخیص مسیر کارت حافظه یا حافظه گوشی برای ذخیره دیتابیس (حل شد)

alfredo  10 سال پیش  10 سال پیش
+2 0

سلام به دوستان عزیزم.

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

سرچ کردم دیدم توی گوشی های مختلف مسی های مختلفی برای حافظه گوشی و رم وجود داره. مثل این ها

“/mnt/shell/emulated/0”
“/storage/emulated/0”
“/HWUserData”
“/mnt/sdcard0”
“/mnt/sdcard1”
“/storage/sdcard0”
“/storage/sdcard1”
“/storage/extSdCard”

خوب حالا ما چیکار کنیم که موقع ساخت دیتابیس به مشکل نخوریم ؟! من همه این ها رو هم امتحان کردم ولی برنامه روی گوشی کرش میکنه. روی گوشی نمیتونم لوگ بگیرم ولی با توست متوجه شدم بفهمم مسیر کارت حافظه داخلی اینه : /sdcard0

خوب پیشنهاد شما چیه ؟

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

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

  
private static final String DB_NAME = "/mnt/sdcard/barnameh/database.db";
public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, DB_NAME, factory, version); }

@Override public void onCreate(SQLiteDatabase db) { // Create a database table // if not exists String createQuery = " CREATE TABLE if not exists " + TABLE_NAME + " (_id integer primary key autoincrement," + TI + " , " + NO + " , " + CO + ", " + LI + " );"; db.execSQL(createQuery); }

این روی امولاتور درست کار میکنه !

+1 0
Environment.getExternalStorageDirectory() ==== برای گرفتن آدرس حافظه خارجی استفاده میشه که باید داخل یک متغیر از جنس File ریخته بشه برای اطلاع بیشتر لینک (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
alfredo  10 سال پیش
0 0

خوب، طبق این لینک من این تغییرات رو انجام دادم ولی همچنان روی گوشی با کرش مواجه میشم:

   static String               completePath = "/barnameh/database.db";
    private static final String DB_NAME      = Environment.getExternalStorageDirectory() + "/" + completePath;

طبق لینک این کار هم باید انجام بدم ولی نمیدونم کجا و چطوری ! و چرا ؟!؟

 File file = new File(completePath); 
Uri imageUri = Uri.fromFile(file);
0 0
من توسط توست موفق شدم مسیری که برنامم میخواد دیتابیس رو روی گوشی ایجاد کنه بگیرم. مسیر در حافظه اصلیه، پوشه Barnameh و بعد داخلش فایل دیتابیس قرار داره. ولی مشخص نیست چرا کرش میکنه ! یک سوال : اونجایی که دستور new File(DB_NAME).mkdirs(); رو میدیم، آخر آدرسی که مینیویسه اسم فایل دیتابیسم با پسوندش هست. این مشکل ایجاد نمیکنه ؟ (10 سال پیش)
0 0
یه چیز جدید کشف کردم، اومدم با گوشی اسکرین شات بگیرم، دیدم موقع ذخیره عکس ارور میده که حافظه در دست استفاده است و نمیتونه بهش دسترسی داشته باشی گوشی ! اینو چیکار کنم حالا ؟ (10 سال پیش)
+1 0
حقیقت چند وقت پیش برای من همینطوری شد در آخرشم کارت حافظه (عامیانه ترش رم !!!) سوخته بود و نه دیگه فرمت شد نه هیچی !!! (10 سال پیش)
+1 0
حالا شما یه بار ریست کن گوشی رو (10 سال پیش)
+1 0
اگر امنیت اطلاعاتت و همینطور حجم برنامه زیاد برات مهم نیست برای استفاده از دیتابیس از این روش استفاده کن لینک (10 سال پیش)
0 0
مشکل این بود که حافظش پر بود ! جا نداشته برای دیتابیس ! خداروشکر حل شد ! از دیشب درگیر اینم ! عجب داستانی بود.... ممنونم که کمک کردید. (10 سال پیش)
0 0
قربان چطور مشکل را حل کردین دقیقا؟ میشه بیشتر توضیح بدین؟ (10 سال پیش)
0 0
چهارتا عکس از توی گالری پاک کردم، جا باز شد :) (10 سال پیش)
0 0
ببخشید آقای alfredo یه سوال دارم که البته چند تا سوال توش گنجانده شده اول اینکه آیا موفق به لینک دیتابیس با لیست ویو شدید یا خیر؟ دوم اینکه اگر موفق شدید مراحل انجامش رو برام بزارید ممنون میشم سوم اینکه از چه نسخه ای از برنامه ها استفاده میکنید چون دلیل اشکال در برنامه من توی لینکی که فرستاده بودید پشتیبانی نکردن اندروید های بالای 4 بود توسط خود برنامه ایکلیپیس ، که این برنامه رو استاد برام توی سی دی قرار داده بود نصبش کردم اگر تغییرش بدم intelij هم باید تغییر کنه . آیا شما نسخه دیگه ای داشتید که تونستید توسط همون لینک که فرستادید(لینک اتصال لیست ویو به دیتابیس) رو حل کنید . واقعا ممنون میشم سوال هامو جواب بدید برام خیلی مهمه (10 سال پیش)
0 0
سلام. والا لیست ویو استاد انقدر پیچیدست که اصلا جرعت نمیکنم از دو کیلومتریش هم عبود کنم. یک پروژه آماده از اینترنت پیدا کردم برای اینکار که یک لیست ویو بود که به دیتابیس متصل بود. همون رو تغییر دادم تا چیزی که مدنظرم بود بدست بیارم. البته قابلیتهاش خیلی کمتر از لیست ویو استاد هست ولی حداقل میشه ازش سردرآورد... اگه میخواید ایمیلتون رو بدید، پروژه رو براتون بفرستم. (10 سال پیش)
0 0
اینم ایمیلم sarasz64@yahoo.com خیلی ممنون میشم (10 سال پیش)

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