首页 新闻 会员 周边 捐助

ANDROID的APP启动运行,SQLITE创建数据库可以连接吗?

0
[待解决问题]

在android里,如下代码通过SQLITE方式创建数据库BookStore.db,然后用android自带模拟器启动运行,请问在运行这时能连接刚创建数据数据库吗?要怎么连接?
public class MyDatabaseHelper extends SQLiteOpenHelper {
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
myContent = context;
}
}
public class MainActivity extends AppCompatActivity {

private MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //构建一个 MyDatabaseHelper 对象,通过构造函数将数据库名指定为 BookStore.db
    dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,1);
    Button createDatabase = (Button)findViewById(R.id.create_database);

}

herry507的主页 herry507 | 菜鸟二级 | 园豆:243
提问于:2023-09-17 16:34
< >
分享
所有回答(1)
0

在你的代码中,你已经创建了一个名为 "BookStore.db" 的数据库,并且定义了一个名为 MyDatabaseHelper 的帮助类来管理数据库连接和升级。但是,在你的 onCreate 方法中,并没有实际执行创建数据库表或连接数据库的操作。

要连接到数据库并执行操作,你需要在适当的时机调用 getWritableDatabase 或 getReadableDatabase 方法。这两个方法会返回一个 SQLiteDatabase 对象,允许你执行数据库操作。

通常,在 onCreate 方法中,你可以执行一些初始化数据库的操作。例如,你可以在 onCreate 中创建表格,如下所示:

java
Copy code
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// 构建一个 MyDatabaseHelper 对象,通过构造函数将数据库名指定为 BookStore.db
dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,1);

// 获取可写的数据库对象
SQLiteDatabase db = dbHelper.getWritableDatabase();

// 执行数据库初始化操作,比如创建表格
createTable(db);

// 在完成操作后,你可以关闭数据库连接
db.close();

Button createDatabase = (Button)findViewById(R.id.create_database);

}

private void createTable(SQLiteDatabase db) {
// 创建表格的 SQL 语句
String createTableSQL = "CREATE TABLE IF NOT EXISTS Books ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "title TEXT,"
+ "author TEXT)";

// 执行创建表格的 SQL 语句
db.execSQL(createTableSQL);

}
上述代码示例在 onCreate 方法中获取了可写的数据库连接,并调用了 createTable 方法来创建一个名为 "Books" 的表格。然后,你可以在 createTable 方法中定义你的表格结构。

请注意,在实际应用中,你可能需要更多的方法来执行其他数据库操作,如插入、查询、更新和删除数据。确保在使用完数据库连接后关闭它,以释放资源。

Technologyforgood | 园豆:7541 (大侠五级) | 2023-09-17 22:30

谢谢,那创建后,要怎么用可视化工具连接来查看?在启动测试时数据库路径怎么选?

支持(0) 反对(0) herry507 | 园豆:243 (菜鸟二级) | 2023-09-18 10:01

@herry507: Navicat 可以可视化 把db文件复制到PC

支持(0) 反对(0) _York | 园豆:38 (初学一级) | 2023-10-02 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册