在Android开发过程中,数据库操作是非常常见的场景。eclipse是一款较为流行的Java开发工具,同时也可用于Android开发,本文将介绍基于eclipse开发Android数据库,包括数据库的创建、更新、表的创建及表的增删改查等操作。
1. 创建数据库
在eclipse中,Android数据库通常采用SQLite进行操作,因此我们需要引入SQLite的相关库文件。右键点击项目,选择“Build Path” -> “Configure Build Path”,在弹出界面中选择“Java Build Path”选项卡,点击“Add External JARs”按钮,导入SQLite的相关库文件。
创建数据库的过程分为两步:创建数据库名和版本号,并继承SQLiteOpenHelper类。SQLiteOpenHelper是Android提供的便捷操作数据库的封装类,包含创建数据库、升级数据库、打开数据库等方法,使用时需要继承该类。
下面是一个创建数据库的示例代码:
```Java
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "demo.db";
private static final int DB_VERSION = 1;
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTable = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT)";
db.execSQL(createTable);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String dropTable = "DROP TABLE IF EXISTS user";
db.execSQL(dropTable);
onCreate(db);
}
}
```
2.表的操作
在创建了数据库之后,我们需要创建表并操作表数据。常见的操作包括表的增删改查。下面是一个包含表的增删改查的示例代码:
```Java
public class UserDao {
private DBHelper dbHelper;
public UserDao(Context context) {
dbHelper = new DBHelper(context);
}
public long insert(User user) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", user.getName());
long id = db.insert("user", null, values);
db.close();
return id;
}
public int delete(int id) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
String whereClause = "id=?";
String[] whereArgs = {String.valueOf(id)};
int rows = db.delete("user", whereClause, whereArgs);
db.close();
return rows;
}
public int update(User user) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", user.getName());
String whereClause = "id=?";
String[] whereArgs = {String.valueOf(user.getId())};
int rows = db.update("user", values, whereClause, whereArgs);
db.close();
return rows;
}
public List
List
SQLiteDatabase db = dbHelper.getReadableDatabase();
String[] columns = {"id", "name"};
Cursor cursor = db.query("user", columns, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
userList.add(new User(id, name));
}
cursor.close();
db.close();
return userList;
}
}
```
以上代码中,我们分别实现了插入数据、删除数据、修改数据和查询数据的方法。其中,查询方法返回的是一个List集合,表示查询到的所有User对象。
3. 使用示例
下面是一个使用示例:
```Java
UserDao userDao = new UserDao(this);
User user = new User("Tom");
long id = userDao.insert(user);
List
for (User u : userList) {
Log.d(TAG, "id:" + u.getId() + ",name:" + u.getName());
}
user.setName("Jerry");
int rows = userDao.update(user);
Log.d(TAG, "rows updated:" + rows);
rows = userDao.delete(user.getId());
Log.d(TAG, "rows deleted:" + rows);
```
以上代码中,我们先创建了一个User对象,并使用insert方法将该对象插入到数据库中。然后调用queryAll方法查询所有用户,并输出其id和name属性。接着将user对象的name属性修改为Jerry,并调用update方法更新数据库。最后使用delete方法将该user对象从数据库中删除。
本文简要介绍了基于eclipse开发Android数据库的原理,并给出了相关使用示例。由于篇幅所限,示例代码仅供参考,实战中还需根据实际需求做相应调整。