Android数据库操作实例:一次学会数据库操作 (android数据库操作实例)

在Android应用开发中,使用数据库进行数据存储和管理是非常常见的操作。因此,熟练掌握Android数据库操作技术是每个Android开发者必须具备的基本技能之一。

本文将通过一个具体的案例来介绍Android数据库操作的基本知识、操作流程和技巧,帮助初学者快速入门。

一、案例介绍

在本例中,我们将创建一个简单的学生信息管理应用,用来记录和管理学生的基本信息。我们可以通过该应用添加、编辑、删除和查询学生信息。

二、数据库操作基础知识

在进行数据库操作之前,我们需要先了解一些基础知识,包括数据库的概念、创建数据库和数据表、以及基本的数据操作语句。

1.数据库概念

数据库是一种集中存储和管理数据的系统,它采用一定的数据结构,以及相应的操作和管理方法,来确保数据的有效性、正确性、安全性和可用性。在Android应用中,我们通常使用SQLite数据库来进行数据存储和管理。

2.创建数据库

我们可以使用Android提供的SQLiteOpenHelper类来创建和管理数据库,该类提供了创建数据库、升级数据库和降级数据库的方法。

在使用该类创建数据库时,我们需要继承SQLiteOpenHelper类,并实现其中的两个方法onCreate()和onUpgrade(),其中onCreate()方法用于创建数据库和数据表,onUpgrade()方法用于升级数据库和数据表。

下面是一个简单的创建数据库的示例代码:

“`

public class DBHelper extends SQLiteOpenHelper {

private static final String DB_NAME = “student.db”;

private static final int DB_VERSION = 1;

private static final String CREATE_TABLE = “CREATE TABLE student (_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) {

//升级数据库操作

}

}

“`

上述代码通过SQLiteOpenHelper类创建了一个名为student.db,版本号为1的数据库,并创建了一个名为student的数据表。其中_id为自增主键,name和age为普通字段。

3.基本数据操作语句

在进行数据操作时,我们需要了解一些基本的数据操作语句,包括插入数据、查询数据、修改数据和删除数据。

下面是一些常用的数据操作语句:

插入数据:

“`

INSERT INTO table_name (column1, column2, column3,…) VALUES (value1, value2, value3,…)

“`

查询数据:

“`

SELECT * FROM table_name

SELECT column1, column2, column3,… FROM table_name WHERE condition ORDER BY column ASC|DESC

“`

修改数据:

“`

UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition

“`

删除数据:

“`

DELETE FROM table_name WHERE condition

“`

三、实现学生信息管理应用

在了解了数据库操作的基础知识之后,我们可以开始实现学生信息管理应用了。在本例中,我们将使用上述创建数据库的代码,并创建一个包含添加、编辑、删除和查询学生信息的应用。

1.新建项目

在Android Studio中新建一个项目,并添加一个MnActivity和一个DBHelper类。在DBHelper类中,我们需要实现上述的创建数据库的代码,在MnActivity中,我们将添加四个按钮控件,用于添加、编辑、删除和查询学生信息。

2.添加学生信息

在添加学生信息时,我们需要通过EditText控件获取学生的姓名和年龄,并将其保存到数据表中。具体实现代码如下:

“`

//获取输入框的内容

String name = etName.getText().toString().trim();

int age = Integer.parseInt(etAge.getText().toString().trim());

//获取可写的数据库对象

db = dbHelper.getWritableDatabase();

//创建ContentValues对象并添加数据

ContentValues values = new ContentValues();

values.put(“name”, name);

values.put(“age”, age);

//插入数据

long id = db.insert(“student”, null, values);

if(id != -1){

Toast.makeText(this, “添加成功”, Toast.LENGTH_SHORT).show();

}else{

Toast.makeText(this, “添加失败”, Toast.LENGTH_SHORT).show();

}

“`

3.编辑学生信息

在编辑学生信息时,我们需要通过ListView展示已有的学生信息,并通过点击ListView中的项来编辑该项学生的信息。具体实现代码如下:

首先我们需要通过ListView加载已有的学生信息:

“`

//获取可读的数据库对象

db = dbHelper.getReadableDatabase();

//查询数据

Cursor cursor = db.query(“student”, null, null, null, null, null, null);

//适配器

SimpleCursorAdapter adapter = new SimpleCursorAdapter(

this,

android.R.layout.simple_expandable_list_item_2,

cursor,

new String[]{“name”, “age”},

new int[]{android.R.id.text1, android.R.id.text2},

SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER

);

lvStudents.setAdapter(adapter);

“`

然后通过监听ListView的项点击事件,获取该项学生的_id,并从数据库中查询该学生的姓名和年龄,并将其显示到EditText控件中:

“`

lvStudents.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView parent, View view, final int position, long id) {

//获取_id

Cursor cursor = (Cursor) lvStudents.getItemAtPosition(position);

final int _id = cursor.getInt(cursor.getColumnIndex(“_id”));

//获取可读的数据库对象

db = dbHelper.getReadableDatabase();

//查询数据

Cursor c = db.query(“student”, new String[]{“_id”, “name”, “age”}, “_id=?”, new String[]{String.valueOf(_id)}, null, null, null);

if(c.moveToFirst()){

//获取数据

String name = c.getString(c.getColumnIndex(“name”));

int age = c.getInt(c.getColumnIndex(“age”));

//将数据显示到输入框中

etName.setText(name);

etAge.setText(String.valueOf(age));

//更新记录

btnAdd.setText(“更新”);

btnAdd.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//更新记录

String name = etName.getText().toString().trim();

int age = Integer.parseInt(etAge.getText().toString().trim());

db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put(“name”, name);

values.put(“age”, age);

int rows = db.update(“student”, values, “_id=?”, new String[]{String.valueOf(_id)});

if(rows > 0){

Toast.makeText(MnActivity.this, “更新成功”, Toast.LENGTH_SHORT).show();

etName.setText(“”);

etAge.setText(“”);

btnAdd.setText(“添加”);

}else{

Toast.makeText(MnActivity.this, “更新失败”, Toast.LENGTH_SHORT).show();

}

}

});

}

}

});

“`

4.删除学生信息

在删除学生信息时,我们需要通过EditText控件获取学生的姓名和年龄,并将其从数据表中删除。具体实现代码如下:

“`

String name = etName.getText().toString().trim();

int age = Integer.parseInt(etAge.getText().toString().trim());

//获取可写的数据库对象

db = dbHelper.getWritableDatabase();

//删除数据

int rows = db.delete(“student”, “name=? and age=?”, new String[]{name, String.valueOf(age)});

if(rows > 0){

Toast.makeText(this, “删除成功”, Toast.LENGTH_SHORT).show();

etName.setText(“”);

etAge.setText(“”);

}else{

Toast.makeText(this, “删除失败”, Toast.LENGTH_SHORT).show();

}

“`

5.查询学生信息

在查询学生信息时,我们需要通过EditText控件获取学生的姓名和年龄,并从数据表中查询符合条件的学生信息,并在ListView中展示查询结果。具体实现代码如下:

首先我们需要通过输入框获取查询条件:

“`

String name = etName.getText().toString().trim();

int age = Integer.parseInt(etAge.getText().toString().trim());

“`

然后通过SQL语句查询符合条件的学生信息:

“`

//获取可读的数据库对象

db = dbHelper.getReadableDatabase();

//查询数据

Cursor cursor = db.rawQuery(“select _id, name, age from student where name=? and age=?”, new String[]{name, String.valueOf(age)});

if(cursor.getCount() > 0){

//适配器

SimpleCursorAdapter adapter = new SimpleCursorAdapter(

this,

android.R.layout.simple_expandable_list_item_2,

cursor,

new String[]{“name”, “age”},

new int[]{android.R.id.text1, android.R.id.text2},

SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER

);

lvStudents.setAdapter(adapter);

}else{

Toast.makeText(this, “没有符合条件的学生信息”, Toast.LENGTH_SHORT).show();

}

“`

四、

通过本文的学习,相信大家已经初步掌握了Android数据库操作的基本知识和操作流程。同时,我们也了解到了一个简单的学生信息管理应用的实现过程。

对于初学者而言,学习Android数据库操作,还需要不断地实践和不断提高自己的能力和技巧。希望大家能够通过不断地学习和实践,成为一名优秀的Android开发者。

相关问题拓展阅读:

Android 联系人数据库介绍以及对联系人的基本操作

一、 联系人数据库

 联系人的数据库文件的位置

/data/data/com.Android.providers.contacts/databases.contacts2.db

 数据库中重要的几张表

1、contacts表

该表保存了所有的手机测联系人,每个联系人占一行,该表保存了联系人的

ContactID、联系次数、最后一次联系的时间、是否含有号码、是否被添加

到收藏夹等信息。

2、raw_contacts表

该表保存了所有创建过的手机测联系友嫌人,每个联系人占带丛一行,表里有一列标

识该联系人是否被删除,该表保存了两个ID:RawContactID和ContactID,

从而将contacts表和raw_contacts表联系起好行手来。该表保存了联系人的

RawContactID、ContactID、联系次数、最后一次联系的时间、是否被添

加到收藏夹、显示的名字、用于排序的汉语拼音等信息。

3、 mimetypes

该表定义了所有的MimeTypeID,即联系人的各个字段的唯一标志。

4、data表

 该表保存了所有创建过的手机测联系人的所有信息,每个字段占一行 ,该表

保存了两个ID:MimeTypeID和RawContactID,从而将data表和

raw_contacts表联系起来。

 联系人的所有信息保存在列data1至data15中,各列中保存的内容根据

MimeTypeID的不同而不同。如保存号码(MimeTypeID=5)的那行数据中,

data1列保存号码,data2列保存号码类型(手机号码/家庭号码/工作号码等)。

二、对联系人的基本操作

 这里的基本操作只是针对手机测的联系人,(U)SIM侧的联系人的操

作后续介绍。

 如果对联系人的基本操作,我们必须得到许可。

方法就是在AndroidManifest.xml文件中配置如下权限:

android数据库操作实例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于android数据库操作实例,Android数据库操作实例:一次学会数据库操作,Android 联系人数据库介绍以及对联系人的基本操作的信息别忘了在本站进行查找喔。


数据运维技术 » Android数据库操作实例:一次学会数据库操作 (android数据库操作实例)