Android 数据库操作主要涉及到以下几个方面:
- 创建数据库:可以使用 SQLiteOpenHelper 类来创建数据库。在 onCreate() 方法中执行创建数据库的操作。
- 创建表格:通过执行 SQL 语句来创建表格。可以使用 SQLiteDatabase 类的 execSQL() 方法执行创建表格的操作。
- 插入数据:可以使用 SQLiteDatabase 类的 insert() 方法插入数据。该方法接收表格名、列名和要插入的数据值作为参数。
- 更新数据:可以使用 SQLiteDatabase 类的 update() 方法更新数据。该方法接收表格名、要更新的数据和更新条件作为参数。
- 查询数据:可以使用 SQLiteDatabase 类的 query() 方法查询数据。该方法接收表格名、要查询的列、查询条件和排序方式作为参数。
- 删除数据:可以使用 SQLiteDatabase 类的 delete() 方法删除数据。该方法接收表格名和删除条件作为参数。
上述操作都是基于 SQLite 数据库的操作。在使用数据库操作前,可以先进行数据库的初始化操作,例如打开或者创建数据库。在使用完数据库后,需要及时关闭数据库连接,以释放资源。
此外,还可以使用其他框架或者库来简化数据库操作,例如使用 Room Persistence Library 或者 GreenDAO 等。这些库提供了更高级的数据库操作 API,能够更方便地进行数据库的增删改查操作。
Android数据库操作主要涉及以下几个方面:
- 创建数据库:使用SQLiteOpenHelper类来创建数据库和定义表结构。
- 数据库的打开和关闭:使用SQLiteOpenHelper的getWritableDatabase()方法获取可写数据库对象和getReadableDatabase()方法获取可读数据库对象,在使用完毕后使用close()方法关闭数据库。
- 创建表:通过执行SQL语句(CREATE TABLE)来创建表。
- 插入数据:使用insert()方法向表中插入数据。
- 查询数据:使用query()方法查询表中数据。
- 更新数据:使用update()方法更新表中数据。
- 删除数据:使用delete()方法删除表中数据。
- 数据库事务的操作:使用beginTransaction()方法开启事务操作,在事务中执行多个操作,最后通过setTransactionSuccessful()方法设置事务成功,使用endTransaction()方法结束事务。
例如,以下是一个简单的创建和查询数据库的示例代码:
首先,在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
然后,在MainActivity.java文件中创建数据库和插入数据:
public class MainActivity extends AppCompatActivity {
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建或打开数据库
DBHelper dbHelper = new DBHelper(this, "mydb.db", null, 1);
db = dbHelper.getWritableDatabase();
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 20);
db.insert("student", null, values);
}
}
接下来,在DBHelper.java文件中定义数据库的创建和更新逻辑:
public class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表
String sql = "CREATE TABLE student (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 数据库升级时执行的操作
}
}
最后,在MainActivity.java文件中查询表中的数据:
public class MainActivity extends AppCompatActivity {
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建或打开数据库
DBHelper dbHelper = new DBHelper(this, "mydb.db", null, 1);
db = dbHelper.getWritableDatabase();
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 20);
db.insert("student", null, values);
// 查询数据
Cursor cursor = db.query("student", null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.d("MainActivity", "id: " + id + ", name: " + name + ", age: " + age);
}
cursor.close();
}
}
以上是Android数据库操作的基本流程,根据实际需求可以进行更复杂的操作。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/145154.html