मैं डेटाबेस एप्लिकेशन बना रहा हूं, और मेरा प्रोग्राम काम करता है और मैंने जो ट्यूटोरियल अनुसरण किया है, मैंने उसे समझा है। हालांकि, एक पहलू मेरे लिए अस्पष्ट है।SQLiteOpenHelper - डेटाबेस कैसे बनाया गया है?
SQLDOpenHelper को विस्तारित MyDBHelper का एक आंतरिक वर्ग है। बाहरी चरों में SQLiteDatabase नामक डी शामिल है। MyDBHelper के लिए कोड है:
private static class MyDBHelper extends SQLiteOpenHelper {
MyDBHelper(Context c) {
super(c, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(DATABASE_CREATE);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVers, int newVers) {
Log.w(TAG, "Upgrading database from version " + oldVers + " to " + newVers + ", which will destroy all old data.");
db.execSQL("DROP TABLE IF EXISTS GM");
onCreate(db);
}
}
मेरा प्रश्न यह है कि यह वास्तव में प्रारंभिक डेटाबेस कैसे बनाता है। यह ऑनक्रेट() विधि में होता है, लेकिन जहां तक मैं देख सकता हूं, यह कभी भी कहा जाता है। मैं समझता हूं कि डेटाबेस को पहली बार बनाया गया है, लेकिन कहां? और इसके अलावा, यह SQLiteDatabase डीबी कैसे पारित किया जाता है? मैंने विधि में कोई डेटाबेस नहीं पारित किया है। और बनाया गया डेटाबेस में बाहरी वर्ग से मेरा SQLiteDatabase डीबी चर कैसे है? क्या कोई मुझे बेवकूफ की तरह इस बारे में बात कर सकता है?