توضیح این سازنده و شرط هاگذاشته شده در کلاس دیتابیس sqlite

گزارش
سوال

لطفا علت گزارش خود را توضیح دهید.

گزارش لغو

سلام اساتید خسته نباشید میخواستم ببینم این چند خط کد کارشون چیه ؟

private SQLiteOpenHelper openHelper;
کد پایین یک شی از کلاسی که داخلش هستیم.
private static DB_method instance;

سوال اول این سازنده توی این کلاس کارش چیه و کد هایی که داخلش زده شده به چه معنا
public DB_method(Context context) {
    this.openHelper = new MyDateBase(context); }
public static DB_method getInstance(Context context) {
    if (instance == null) {
        instance = new DB_method(context);
    }
    return instance;
}

سوال دوم دوتا متد باز کردن بستن دیتابیس برای چیه ؟ و اینکه من ازشون توی دیتابیسم استفاده نکردم و همچی درست کار میکنه آیا بعدا به مشکلی بر میخورم ؟
public void open() {
    this.database = openHelper.getWritableDatabase(); }
    
public void close() {
    if (database != null) {
        this.database.close();
    }
}
حل شده 0
اندروید - android 2 پاسخ 408 بازدید 0

درباره نویسنده

جنوب کشوری هستم خوزستان تخصصم اندروید استودیو |: و دیگرهیچ (:

پاسخ ها ( ۲ )

  1. محمد حسین جعفری پور
    0
    ۱۳, مهر , ۱۳۹۷ در ۲:۰۳ ب.ظ

    لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.

    گزارش لغو

    سلام و درود
    به طور کلی اگر بخواهیم سازنده DB_method را توضیح دهیم میشه گفت کارش ساخت یک نوع instance یا نمونه از کلاس SqliteHelper است و ورودی این متد یک Context می گیرید (Context برای کار کردن با برنامه در بعضی موارد لازم هست مثلا بخواهیم دیتا از جایی بخونیم یک Toast نمایش بدیم و… اطلاعات بیشتر در لینک زیر)

    https://programchi.ir/2017/05/07/context-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%D9%86%D9%82%D8%B4%DB%8C-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%A7%D8%B1%D8%AF-%D8%9F/

    و درود مورد سوال دوم هرکدی یک اصولی دارد شاید الان شما دارید تست می کنید درست کار کند ولی مثل این می ماند که از buffer Reader استفاده کنید و آن را close نکنید و در نهایت باعث memory leak می شود در مورد Sqlite هم همین است شما هر زمان که می خواهید داده رو بخونید مجبورید بخونیدش و در نهایت ببندیش و هر زمان عملیات CRUD نیز انجام می شود باید دیتابیس باز و بسته شود.

    موفق و پیروز باشید.

    بهترین پاسخ

ارسال نظر