在Android Studio中,使用SQLiteOpenHelper可写数据时可能会遇到一些问题。以下是一个包含代码示例的解决方法:
class DatabaseHelper(context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
companion object {
private const val DATABASE_NAME = "my_database.db"
private const val DATABASE_VERSION = 1
}
override fun onCreate(db: SQLiteDatabase?) {
// 创建表格的SQL语句
val createTableQuery = "CREATE TABLE my_table (id INTEGER PRIMARY KEY, name TEXT)"
db?.execSQL(createTableQuery)
}
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
// 更新表格的SQL语句
val dropTableQuery = "DROP TABLE IF EXISTS my_table"
db?.execSQL(dropTableQuery)
onCreate(db)
}
fun insertData(name: String) {
val db = writableDatabase
val contentValues = ContentValues().apply {
put("name", name)
}
db.insert("my_table", null, contentValues)
db.close()
}
}
class MainActivity : AppCompatActivity() {
private lateinit var databaseHelper: DatabaseHelper
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
databaseHelper = DatabaseHelper(this)
// 插入数据
databaseHelper.insertData("John Doe")
}
}
这样,你就可以使用SQLiteOpenHelper在Android Studio中写入数据了。请注意,这只是一个示例,你可以根据自己的需求进行修改和扩展。