安卓 数据库 开发

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 数据库时,应该遵循数据库设计的一些基本原则,如遵循约定,不重复,在设计时应该考虑未来的扩展性和变更,保持简单并且易于维护。以上内容只是数据库知识的一个简要介绍,希望能对你有所帮助。


相关知识:
安卓app 开发语言
Android是由谷歌开发的一种轻量级的移动操作系统,它是基于Linux内核的操作系统,支持多种硬件架构。安卓开发语言主要用于安卓应用程序的开发,一般采用 Java语言、C/C++、Kotlin语言。Java语言Java语言开发安卓App是最常用的一种开发
2023-05-23
安卓8
在Android系统中,开发者模式是一个非常有用的选项,可以用来进行一些高级设置和调试。允许用户在Android设备上进行额外的设置和功能的修改,以便于进行开发、测试和调试。要进入开发者模式,在Android设备上首先要进行以下操作:1. 打开 “设置”
2023-05-23
安卓10开发者模式功能
安卓10开发者模式是一个提供给安卓开发者的全新工具集,该模式包含了许多有用的功能。在此文章中,我们将详细介绍一些安卓10开发者模式的功能以及其原理。1. USB调试USB调试是安卓开发中最重要的工具之一,它允许开发人员在设备上运行并调试应用程序。要启用US
2023-05-23
安卓10开发工具
安卓10作为一款全新的操作系统,为开发者带来了很多新的特性和功能,因此在开发安卓10应用时需要使用一些相关的开发工具。本文将对安卓10开发工具做详细介绍。1. Android StudioAndroid Studio是Google在2013年推出的一款针对
2023-05-23
web开发看不懂安卓
Web开发和安卓开发都是互联网领域中的重要领域,但两者在实现和技术上有很大的区别。在这里,我们将为您介绍Web开发和安卓开发的不同之处以及安卓开发的基本原理。Web开发Web开发是指通过网络创建和维护一个网站的过程,包括设计、编写和发布网站。与安卓开发不同
2023-05-23
uniapp开发安卓app教程
UniApp是一款基于Vue.js开发的跨平台应用开发框架,支持同时发布到iOS、Android、H5、小程序等多个平台。UniApp在使用上非常便捷,它能够快速创建和运行应用,同时提供了丰富的组件和插件,使得开发者可以更加快速地完成跨平台应用的开发。具体
2023-05-23
teact安卓开发
React是一种用于构建用户界面的JavaScript库,具有数据驱动和组件化的特点,它将UI抽象为一个组件树。React可以单独使用,也可以与其他库和框架结合使用。React Native是React的衍生产品,它是一个用于将React中编写的组件渲染到
2023-05-23
springboot开发安卓
Spring Boot 是一个开源框架,主要用于快速开发 Java 应用程序。它基于 Spring 框架,节省了开发人员配置 Spring 应用所需的大量时间。因此,Spring Boot 适合开发现代 Web 应用程序和微服务。但是开发安卓应用的时候,我
2023-05-23
qt开发的安卓程序权限在哪
在Qt开发安卓程序时,程序需要获得安卓系统的权限才能访问一些敏感的数据或功能。下面将介绍Qt开发安卓程序权限的原理和详细流程。首先,在Qt中获取权限需要使用AndroidManifest.xml文件。该文件类似于安卓应用程序的清单文件,用于描述应用程序的一
2023-05-23
微软安卓app 开发
微软安卓 App 开发可以使用 Visual Studio 和 Xamarin,这些工具使用 C# 编程语言并通过 Xamarin.Android 库提供应用程序与 Android 操作系统的交互能力。1. 安装 Visual Studio安装 Visua
2023-04-28
安卓app开发过程中如何构建框架
在构建一个高效、便于维护的Android应用程序时,确保您的开发环境遵循一定的架构原则是很重要的。对于初学者来说,了解如何构建一个完善的Android应用程序框架是关键。本文将详细介绍布局框架的原理以及搭建一个基本的Android应用程序框架的步骤。1.
2023-04-28
介绍一款安卓app开发工具
文章标题:Android Studio:您的入门级安卓App开发利器引言:要成为一名成功的安卓App开发者,了解和熟练使用一款合适的开发工具是至关重要的。今天,我们将详细介绍一款非常受欢迎的安卓App开发工具——Android Studio。这是一款谷歌推
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1