首页 > App

eclipse开发安卓数据库

2024-01-02 浏览: 38

在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 queryAll() {

List userList = new ArrayList<>();

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 userList = userDao.queryAll();

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数据库的原理,并给出了相关使用示例。由于篇幅所限,示例代码仅供参考,实战中还需根据实际需求做相应调整。

标签: eclipse开发安卓数据库