安卓 数据库 开发

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开发者模式调显示颜色
在安卓开发者模式中,可以调整许多高级设置,除了OTA更新、启用USB调试、设置CPU和GPU使用率、显示CPU使用情况和流量信息等,还有一项功能是调整显示颜色,也就是显示模式。下面详细介绍安卓9开发者模式中调整显示颜色的原理和方法。一、调整显示颜色的原理安
2023-05-23
安卓4
安卓4.1是Android操作系统的一个版本,如果您需要退出安卓4.1的开发者模式,可以按下面的步骤进行:1. 打开“设置”应用程序在安卓设备主屏幕或应用程序列表中找到“设置”应用程序,然后点击打开。2. 找到“开发者选项”在“设置”中滑动到屏幕的底部,找
2023-05-23
vue 开发安卓应用
Vue是一种用于构建用户界面的渐进式框架,它已经成为了现今最流行的前端框架之一。举例来说,如果你想要构建一个移动应用,同时使用Vue,你可能会想,"为什么不在移动端应用中使用Vue呢?"。这个问题同样也被其他开发者所思考过,所以他们尝试着将Vue嵌入到移动
2023-05-23
stripe安卓开发
Stripe是一种流行的在线支付平台,它允许商家以及个人将信用卡、银行卡等多种支付方式集成到他们的在线服务中。Stripe不仅强大而且易于使用,它为开发人员提供了一套开放式的API,允许他们构建自己定制的支付系统。作为一个移动APP开发者,如果你需要在你的
2023-05-23
mono开发安卓人多吗
Mono 是一个由 Xamarin 所开发的软件框架,它的目标是能够让 .NET 运行环境在不同的平台上运行。由于 Mono 可以实现跨平台的编码,因此近年来成为许多开发者争相学习的技术之一。同时,在安卓的开发中,使用 Mono 进行开发也越来越成为一种新
2023-05-23
m1对安卓开发者
M1芯片是苹果公司自主设计的一款芯片,它采用了5纳米工艺,集成了CPU、GPU、神经网络引擎、ISP、信号处理器等多个模块,强大的计算能力和低能耗使得它成为了苹果产品的重要组成部分。在2020年11月发布的新款Mac电脑中,苹果首次将M1芯片应用于Mac电
2023-05-23
eclipse如何开发安卓应用
Eclipse是一种广泛使用的Java集成开发环境(IDE),可以用于多种编程语言,包括Java、C++和安卓应用开发。在本文中,我们将讨论如何使用Eclipse进行安卓应用程序开发。安卓是世界上最受欢迎的移动操作系统之一,截至2019年,安卓在移动设备市
2023-05-23
简单开发安卓app用什么语言
如何简单地开发安卓app:使用Kotlin和Java安卓应用开发是一个非常热门的领域,许多开发者及刚入门的初学者都对此产生了浓厚的兴趣。在开发一个安卓应用时,最常用的编程语言是Java和Kotlin。这两种语言都具有各自的优势,下面我们将简要介绍它们的特点
2023-04-28
想自己开发安卓app用什么软件
如果你想自己开发安卓App,你可以选择以下几种常用的开发工具:1. Android StudioAndroid Studio是谷歌官方推出的Android集成开发环境(IDE),它支持Java和Kotlin两种编程语言,可以用于开发Android App、
2023-04-28
快速安卓app开发
快速安卓App开发可以利用一些App开发框架和工具,帮助开发者快速创建原型或应用程序,而不需要深入了解复杂的编程技术。下面介绍一些常用的快速安卓App开发工具和框架:1. App Inventor:是由谷歌开发的在线移动应用程序开发工具,允许用户使用拖放式
2023-04-28
安卓app开发守住后台方法
在安卓App开发中,需要守住后台方法来确保App在后台时不被系统自动杀死。一般而言,安卓系统会在系统内存不足时自动清理后台运行的应用程序,从而释放内存供其他应用程序使用。为了保证App在后台能够正常运行,以下是一些常用的守住后台方法:1. 启动前台服务:通
2023-04-28
app开发选ios还是安卓
在面临要为自己的应用选择开发平台时,很多人会面临一个关键问题:到底是选择iOS还是安卓?这个选择取决于不少因素,例如目标用户、预算、功能要求等。这篇文章将详细讲解两者的主要区别,助您决定适合自己的开发平台。1. 目标用户及市场份额作为世界上最流行的两大移动
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1