【发布时间】:2020-09-28 17:11:55
【问题描述】:
我目前正在开发 Android 项目,它有一个 SQLite 数据库。我之前使用颤振创建了数据库,并使用下面的代码来获取创建数据库的路径。
// Get the directory path for both Android and iOS to store database.
Directory directory = await getApplicationDocumentsDirectory();
String path = directory.path + '/ideaDatabase.db';
它指向路径
/data/data/com.example.myprojet01/app_flutter/ideaDatabase.db
根据我的要求,我必须为项目添加 android 特定代码(Java)。我必须从 java 和 dart 部分在数据库上方添加数据/访问。任何人都可以帮助我如何从 Java 访问数据库。 我正在使用 SQliteOpenhelper 类来访问数据库。
SQLiteopenhelper 默认在创建数据库
/data/data/com.example.myprojet01/databases/ideaDatabase.db
是否可以指定 SQliteopenhelper 从 /app_flutter/ 目录而不是 /databases/ 打开数据库。?
代码 java 数据库助手
public class Database_Helper_widget extends SQLiteOpenHelper {
public static final String TAG="Database_Helper_widget";
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "ideaDatabase.db";
public Database_Helper_widget(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CreateTable=MycreateString;
db.execSQL(CreateTable);
}
代码颤动:
Future<Database> initializeDatabase() async {
// Get the directory path for both Android and iOS to store database.
Directory directory = await getApplicationDocumentsDirectory();
String path = directory.path + '/ideaDatabase.db';
debugPrint('path to database $path');
// Open/create the database at a given path
var ideaDatabase =
await openDatabase(path, version: 1, onCreate: _createDb);
return ideaDatabase;
}
【问题讨论】:
标签: java android flutter android-sqlite