android - 使用 Android Studio 在设备上创建 sqlite 数据库

标签 android sqlite android-studio

我目前正在完成我的学校作业。我目前在调试我的应用程序时遇到创建 SQLITE 数据库的问题。

日志:

E/SQLiteLog﹕ (14) os_unix.c:30046: (2) open(/data/data/com.asus.microfilm/databases/Sugar.db) -
E/SQLiteDatabase﹕ Failed to open database '/data/data/com.asus.microfilm/databases/Sugar.db'.

我想知道为什么它会打开另一个包数据库。我在网上搜索了一些示例,但找不到任何解决方案,这就是我决定将其发布在这里的原因。

此外,我已经使用了adb-shell,但在我的包中没有发现任何东西。

DatabaseHelper.java

public class DatabaseHelper extends SQLiteOpenHelper 
{
    public DatabaseHelper(Context context) 
    {
        super(context, context.getExternalFilesDir(null).getAbsolutePath() + "/" + DATABASE_NAME, null, DATABASE_VERSION);
    }

tab1.java

DatabaseHelper myDb;
myDb = new DatabaseHelper(getActivity());

我的 tab1.java 是一个 fragment 。

最佳答案

例如我的解决方案

public class NotesDB extends SQLiteOpenHelper {


    private static final String DB_NAME = "NotesFile";
    private static final String LOG_TAG = "myLogs";
    private static final String TABLE_NAME = "Notes";
    private static final String COLUMN_KEY = "key";
    private static final String COLUMN_NOTE = "note";
    private static final String COLUMN_NAME = "name";
    private static final String COLUMN_QUESTION = "question";
    private String table = "";

    public NotesDB(Context context) {
        super(context, DB_NAME, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        Log.d(LOG_TAG, "--- onCreate database ---");
        db.execSQL("create table "+TABLE_NAME+" ("
                + "id integer primary key autoincrement,"
                + COLUMN_NAME+" text,"
                + COLUMN_KEY+" integer,"
                + COLUMN_QUESTION+" text,"
                + COLUMN_NOTE+" text" + ");");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

用法

SQLiteDatabase db = new NotesDB(getAppContext()).getWritableDatabase();
        c=db.query("Notes", null, selection, selectionArgs , null, null, null );................

关于android - 使用 Android Studio 在设备上创建 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33648143/

相关文章:

java - 如何根据值在android中选择json对象

始终保留 2 位小数的 SQLite 格式数字

ios - sqlite 准备语句

android - Gradle:文件名、目录名或卷标语法不正确

android-studio - 在 Android Studio 的 XML 文件中转义撇号?

java - Android Java 类转换

java - Websocket 服务器 Android

java - AES256 加密

sqlite - 无关记录的删除命令的外键不匹配

android - 更新到 Android Studio 北极狐后,我无法使用任何自定义主题