以下是一个小型的Android数据库操作的示例。在这个示例中,我将创建一个用户表,然后插入和查询数据。该数据库使用SQLite。
假设有一个User类如下:
public class User {
public int id;
public String name;
public int age;
}
首先,创建一个SQLiteOpenHelper:
public class DbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "TestAppDB";
private static final int DATABASE_VERSION = 1;
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_USER_TABLE =
"CREATE TABLE " + User.TABLE + "("
+ User.KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT ,"
+ User.KEY_name + " TEXT, "
+ User.KEY_age + " INTEGER )";
db.execSQL(CREATE_USER_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+ User.TABLE);
onCreate(db);
}
}
然后在数据库中插入数据可以如下:
public int insert(User user) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(User.KEY_age, user.age);
values.put(User.KEY_name, user.name);
long user_Id = db.insert(User.TABLE, null, values);
db.close();
return (int) user_Id;
}
查询数据可以如下:
public User getUser(int Id){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String selectQuery = "SELECT "
+ User.KEY_ID + ","
+ User.KEY_name + ","
+ User.KEY_age +
" FROM " + User.TABLE
+ " WHERE " +
User.KEY_ID + "=?";
int iCount =0;
User user = new User();
Cursor cursor = db.rawQuery(selectQuery, new String[] { String.valueOf(Id) } );
if (cursor.moveToFirst()) {
do {
user.user_ID =cursor.getInt(cursor.getColumnIndex(User.KEY_ID));
user.name =cursor.getString(cursor.getColumnIndex(User.KEY_name));
user.email =cursor.getInt(cursor.getColumnIndex(User.KEY_age));
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return user;
}
在这个示例中,我们创建了一个用户数据库,并演示了如何在数据库中插入和查询用户数据。
在Android中,一种常见的数据库操作是使用SQLite。以下是一个使用SQLite实现的数据库操作的简单Demo:
首先创建一个SQLiteOpenHelper的子类,用于创建和更新数据库:
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "app_db"; // 数据库名
private static final int DB_VERSION = 1; // 数据库版本
// 建表语句
private static final String CREATE_TABLE = "create table my_table(id integer primary key autoincrement, name text, age integer)";
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 这里是更新数据库版本时所执行的操作
}
}
然后在Activity中使用DBHelper来操作数据库:
public class MainActivity extends AppCompatActivity {
private DBHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new DBHelper(this);
// 插入数据
insertData();
// 查询数据
queryData();
}
private void insertData(){
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 20);
db.insert("my_table", null, values);
db.close();
}
private void queryData(){
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query ("my_table", null, null, null, null, null, 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();
db.close();
}
}
以上为简单的插入和查询数据的方法,更复杂的数据库操作可以参考SQLite的语法进行。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/167292.html