Android sqlite 完整示例
时间: 2023-08-05 18:45:54 浏览: 51
以下是一个简单的 Android SQLite 完整示例:
1. 创建一个 SQLiteOpenHelper 子类
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE users (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS users");
onCreate(db);
}
}
```
该类继承自 SQLiteOpenHelper 并实现了 onCreate() 和 onUpgrade() 方法。onCreate() 方法用于创建数据库表,onUpgrade() 方法用于升级数据库。
2. 在 Activity 中使用该类
```java
public class MainActivity extends AppCompatActivity {
private SQLiteDatabase database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DatabaseHelper helper = new DatabaseHelper(this);
database = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "John");
values.put("age", 30);
database.insert("users", null, values);
Cursor cursor = database.rawQuery("SELECT * FROM users", null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.d("MainActivity", "Name: " + name + ", Age: " + age);
} while (cursor.moveToNext());
}
cursor.close();
}
@Override
protected void onDestroy() {
database.close();
super.onDestroy();
}
}
```
在该 Activity 中,我们首先创建了 DatabaseHelper 对象并获取可写的 SQLiteDatabase 对象。接着,我们向 users 表中插入一条数据,并查询该表中的所有数据并打印输出。最后,在 Activity 销毁的时候关闭 SQLiteDatabase 对象。
注意:这只是一个简单的示例,实际应用中应该更加完善和健壮。