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

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

Saeed Mozaffari  11 سال پیش  11 سال پیش
0 0

سلام.

تویه آموزش دیتا بیس در همون ابتدای کار (حدود 10-12 دقیقه اول آموزش)کدهایی که استاد نوشتن من هم نوشتم ,اما در زمان اجرا برنامه کرش میکنه و در logcat مینویسه ((:  java.lang.RuntimeException: Unable to create application mozaffari.saeed.database.G: android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file))
کدهای نوشته شد رو هم در پایین درج کردم. از خط آخر این کد در logcat ایراد میگیره.کلاس G رو هم تعریف کردم.یه نکته دیگه اینکه من کلا همه برنامه ها رو روی گوشی تست میکنم و اصلا با emulator کار نمیکنم, به اونم ربط داره؟. در ضمن بین سوالات کاربرا هم یه گشتی زدم ولی اونها تقریبا در اواسط یا اواخر برنامه دچار مشکل شده بودن , بنابراین من نتونستم از اطلاعاتشون استفاده کنم.

 
public class G extends Application {

public static Context context;
public static SQLiteDatabase database;
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String DIR_DATABASE = DIR_SDCARD + "/database-test/";


@Override
public void onCreate() {
super.onCreate();

context = this.getApplicationContext();

new File(DIR_DATABASE).mkdirs();

database.openOrCreateDatabase(DIR_DATABASE + "/database.sqlite/", null);

}
}
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
ajn91  11 سال پیش
+4 0

شما اصلا به دیتابیستون مقدار نمدید این کد رو جایگزین کنید

 database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "/database.sqlite", null);

 

0 0
من هم همین مشکل رو داشتم و با کد شما مشکلم حل شد اما یه سوال: این دقیقا کد استاده پس چرا کد استاد به این اصلاحیه نیاز نداره؟ و کد ایشون کرش نمیده؟ ویدیو ۱۴ (11 سال پیش)
+1 0
البته یه نکته ای رو هم من برخورد کردم. و اونم این بود که اگه برای امولاتورت SDcard تعریف نکرده باشی کرش پیش میاد. (11 سال پیش)

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