安卓 数据库 开发

Android应用开发中,数据库是非常重要的一部分,除了存储和管理数据外,还有不少应用涉及到几个或多个表格之间的相互关系,因此,良好的数据库设计和实现就显得尤为重要了。

一、SQLite数据库

Android 被设计为高性能的移动操作系统,它使用轻量级的 SQLite 数据库来存储应用程序数据。SQLite 是一种免费,开源的数据库引擎,它最初是一个独立的项目,并在多个编程语言,平台和操作系统上使用,包括 Android 中。SQLite 并不是一个完整的数据库服务器,而是一个库,即嵌入式库,由一个小型的,自包含的,正式的 ANSI C 的源码库组成,它在需要时可以动态链接库。SQLite 旨在提供一种嵌入式 ACID 数据库,适用于从小型的嵌入式设备到超大型的信息库的服务器情景。

下面是 Android 中简单使用 SQLite 的例子:

1.创建一个 Helper 从而打开/创建一个数据库

public class DBHelper extends SQLiteOpenHelper {

private static final String DB_NAME = "mydata.db";

private static final int DB_VERSION = 1;

public static final String TABLE = "t_person";

public DBHelper(Context context) {

super(context, DB_NAME, null, DB_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("CREATE TABLE " + TABLE + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age INTEGER)");

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL("DROP TABLE IF EXISTS " + TABLE);

onCreate(db);

}

}

在MyApplication里初始化数据库

public class MyApplication extends Application {

public static DBHelper dbHelper;

@Override

public void onCreate() {

super.onCreate();

dbHelper = new DBHelper(this);

}

@Override

public void onTerminate() {

super.onTerminate();

dbHelper.close();

}

}

在Activity里执行SQL语句

Button bt_insert = (Button)findViewById(R.id.bt_insert);

bt_insert.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

SQLiteDatabase db = MyApplication.dbHelper.getWritableDatabase();

String sql = "INSERT INTO " + DBHelper.TABLE + "(name,age) values (?,?)";

Object[] bindArgs = {"Tom",12};

db.execSQL(sql, bindArgs);

}

});

2.数据库操作语句

SQLite 通过 SQL 语句进行数据库操作,包括增、删、改和查四个基本操作,下面列出一些 SQLite 常用的 SQL 语句:

创建表格: CREATE TABLE table_name (column_name data_type);

删除表格: DROP TABLE table_name;

清空数据表: DELETE FROM table_name;

查询数据: SELECT column1, column2, ... FROM table_name;

插入数据: INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

更新数据: UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE some_column = some_value;

删除数据: DELETE FROM table_name WHERE some_column = some_value;

二、数据库基本操作示例

1.插入数据

SQLiteDatabase db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put("name", "Tom");

values.put("age", "12");

db.insert(DBHelper.TABLE, null, values);

db.close();

2.获取数据

SQLiteDatabase db = dbHelper.getReadableDatabase();

Cursor cursor = db.query(DBHelper.TABLE, new String[] { "_id", "name", "age" }, null, null, null, null, null);

if (cursor.moveToFirst()) {

do {

int idIndex = cursor.getColumnIndex("_id");

int id = cursor.getInt(idIndex);

String name = cursor.getString(cursor.getColumnIndex("name"));

int age = cursor.getInt(cursor.getColumnIndex("age"));

//代码处理...

} while (cursor.moveToNext());

}

3.修改数据

SQLiteDatabase db = dbHelper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put("age", 20);

db.update(DBHelper.TABLE, values, "name = ?", new String[] { "Tom" });

db.close();

4.删除数据

SQLiteDatabase db = dbHelper.getWritableDatabase();

db.delete(DBHelper.TABLE, "_id = ?", new String[] { "1" });

db.close();

三、总结

Android中的 SQLite 数据库是一款轻量级数据库,适用于中小型的数据库应用,它支持 SQL 语句。在使用 SQLite 数据库时,应该遵循数据库设计的一些基本原则,如遵循约定,不重复,在设计时应该考虑未来的扩展性和变更,保持简单并且易于维护。以上内容只是数据库知识的一个简要介绍,希望能对你有所帮助。


相关知识:
安卓9怎么开开发者
开发者选项是Android操作系统中的一个隐藏的设置,它允许开发人员以更高的权限访问设备,以便他们可以更轻松地进行测试和调试应用程序。在Android 9中,开发者选项同样被隐藏,但是您可以按照以下步骤开启它:1. 打开“设置”应用。2. 滚动到底部,找到
2023-05-23
php开发安卓app
随着移动互联网的飞速发展,移动应用开发越来越受到人们的关注。而安卓系统作为目前全球市场占有率最高的移动操作系统,其应用开发就显得尤为重要。而php语言作为一种常用的服务器端编程语言,其在安卓应用开发中也有其一席之地。首先,需要理解安卓应用的本质是什么。简单
2023-05-23
miui 7
首先,MIUI是小米公司推出的一款基于安卓系统的定制化ROM,其中MIUI 7是MIUI系列中的一个版本。而MIUI 7.1.28开发版则是这个版本的一个更新版本,主要在原MIUI 7基础上进行了一定的修复和优化。下面,我们就来详细介绍一下这个版本的特点和
2023-05-23
java后端开发和安卓开发
Java后端开发Java后端开发是指使用Java语言进行服务器端开发,它主要关注于实现业务逻辑和数据处理。Java后端开发最常见的应用场景是Web应用开发,例如电子商务网站、社交网站、博客等。Java后端开发需要掌握以下基础知识:1. Java编程语言:J
2023-05-23
安卓系统app开发公司
安卓系统app开发公司是专门为安卓系统开发应用程序的专业公司。它们一般使用Java编程语言和Android SDK软件开发工具来设计和构建Android应用程序。以下是详细介绍:1. 需求分析:在开发安卓应用程序之前,公司首先需要你提供该应用程序的详细需求
2023-04-28
安卓手机dock栏制作app
安卓手机的Dock栏是指屏幕底部的一排固定图标,通常包含常用应用的快捷方式。如果想要自定义这个Dock栏,可以使用一些特定的应用程序,如Nova Launcher、Microsoft Launcher等等。下面介绍一下如何使用Nova Launcher来自
2023-04-28
安卓app开发软件工具
安卓app开发软件工具是开发安卓应用程序的必要软件。以下是几种常见的安卓app开发软件工具:1. Android StudioAndroid Studio是谷歌官方提供的安卓开发环境,是开发最为流行的安卓应用程序时用到最多的软件。它为开发者提供了一整套的开
2023-04-28
安卓app开发的网络协议
安卓app开发使用的网络协议包括HTTP协议和TCP/IP协议。HTTP协议,也称为超文本传输协议,是应用层协议的一种,用于在Web浏览器和Web服务器之间传输数据。HTTP协议的主要特点是简单、快速、灵活,并且易于扩展。使用HTTP协议可以在Intern
2023-04-28
好的学安卓app开发
安卓(Android)是由谷歌(Google)与开放手机联盟(Open Handset Alliance)共同开发的操作系统和应用平台。它基于Linux内核,主要为触屏移动设备(如智能手机、平板电脑等)设计,提供了丰富的应用、多样化的用户界面和开放的生态系
2023-04-28
app打包封装苹果安卓应用
应用打包封装是将应用程序封装为软件包以方便发布、安装的过程。在移动应用开发中,应用打包封装是将应用程序打包成IPA或APK格式发布到苹果或安卓应用商店的过程。以下是应用打包封装的原理和详细介绍:1. 原理应用打包封装的原理是将应用程序的源代码、资源文件、库
2023-04-28
app打包安卓软件
打包安卓软件的过程,简单来说就是将开发完成的安卓应用程序打包成一个可安装的.apk文件,让用户可以直接下载、安装和使用。打包安卓软件的具体步骤如下:1. 编写代码和资源文件:先根据需要,使用Java语言和安卓开发工具,编写应用程序需要的代码和资源文件。2.
2023-04-28
app安卓和ios一起开发
Android和iOS是目前智能手机市场占有率最高的两种操作系统。想要开发一个全平台通用的应用程序,既能在Android系统上运行,又能在iOS系统上运行,成为了开发者们面临的一个重要问题。下面介绍两种实现方式:1. 基于Web技术的跨平台开发这种方式一般
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1