У меня очень простой код, я пытаюсь создать базу данных SQL lite, но он не создается, пока я проверяю свою папку DEVICE FILE EXPLORER, в папке с моими приложениями нет папки базы данных. вот код: DatabaseHelper.java
package com.example.ali.schoolapp;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "Student.db";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db = this.getWritableDatabase();
db.execSQL("CREATE TABLE Items " + " (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT, description TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onCreate(db);
}
}
MainActivity.java
package com.example.ali.schoolapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
DatabaseHelper myDb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDb = new DatabaseHelper(this);
}
}
да, я создал виртуальное устройство, я использую Android SDK, я также проверил Device file explorer> Data> Data> com.example.ali.schoolapp
База данных не будет создана, пока вы не попытаетесь что-то с ней сделать. Только тогда (при вызове getWritableDatabase или getReadableDatabase) база данных будет создана.
Итак, вы могли попробовать: -
myDb = new DatabaseHelper(this); //<<<<<<<<<<< EXISTING LINE
Cursor csr = myDB.getWritableDatabase().query("Items",null,null,null,null,null,null);
csr.close();
И тогда база данных была бы создана.
P.S. ваш метод onUpgrade, скорее всего, не сработает, если вы измените номер версии (4-й параметр (который равен 1) при вызове super). То есть onUpgrade вызывает onCreate, поскольку таблица существует, вы получите сообщение об ошибке. Вы обычно УРОНИТЬ таблицы перед вызовом onCreate).
Он создается во внутреннем хранилище. У вас есть рутированное устройство? Или просмотр через Android Studio?