База данных SQLite создана, но не таблица (android) - PullRequest
0 голосов
/ 02 апреля 2020

Много вопросов уже задавалось по этому поводу, но ни один из них, похоже, не работает для меня. Я открываю проводник файлов> data> data> имя пакета> database> mydatabase.db, чтобы получить свою базу данных, и сохраняю ее на своей p c n, пытаясь просмотреть ее с помощью браузера db для sqlite. Но там нет стола. вот вспомогательный класс, который расширяет sqliteOpenHelper:

package famiddle.smart.apps.businessmanager;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class BusinessDbHelper extends SQLiteOpenHelper {

// If you change the database schema, you must increment the database version.
public static final String DATABASE_NAME = "BusinessManager.db";
public static final int DATABASE_VERSION = 1;

// SQL query for creating the table for items name
private static final String SQL_CREATE_ITEMS_NAME_TABLE =
        "CREATE TABLE itmes_name(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, items_name TEXT NOT NULL);" ;

public BusinessDbHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
    sqLiteDatabase.execSQL(SQL_CREATE_ITEMS_NAME_TABLE);
}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

}
}

В своем одном из приложений я создаю экземпляр вышеупомянутого класса и запускаю метод getReadableDatabase (), чтобы можно было создать базу данных с таблицей.

package famiddle.smart.apps.businessmanager;

import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

import androidx.appcompat.app.AppCompatActivity;

public class PurchaseActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_purchase);

    // Instantiate the subclass of SQLiteOpenHelper.
    BusinessDbHelper dbHelper = new BusinessDbHelper(this);
    SQLiteDatabase db = dbHelper.getReadableDatabase();

}

что мне делать?

1 Ответ

0 голосов
/ 03 апреля 2020

Все хорошо с этим кодом. Я не извлекал два других файла из файла базы данных и не помещал их в одну папку. Когда я поместил все три файла в одну папку и открыл файл с расширением .db с помощью браузера db для SQLite, я смог увидеть таблицы.

...