安卓 数据库 开发

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


相关知识:
安卓11怎么退出开发者
在安卓11中,退出开发者模式并不是一个复杂的过程,大致可以分为两种方法,具体行动请见下文。第一种方法:通过设置菜单退出开发者模式1. 打开手机的“设置”应用程序。2. 滚动找到“关于手机”选项,并点击它。3. 在“关于手机”选项菜单中,找到“版本号”选项,
2023-05-23
安卓10开发者模式在哪里
在 Android 10 中,开发者模式同样存在,其本质是在 Android 设备上为开发者提供了一些额外的选项和功能,以便更方便的进行调试和开发。下面将会详细介绍 Android 10 中的开发者模式。Android 10 中的开发者模式默认是隐藏的,需
2023-05-23
安卓 在线开发
Android是一个开源的移动操作系统,在手机、平板电脑、手表等设备上运行。随着智能设备的普及,Android成为了一种非常流行的操作系统,其市场占有率和用户数量均居于首位。在这个背景下,开发Android应用成为了人们非常热门的话题之一。其中,在线开发A
2023-05-23
lora安卓开发
LoRa是一种低功耗广域无线电网络技术,用于连接远距离的传感器设备,通常适用于物联网(IoT)等项目。使用LoRa技术,设备可以在不需要昂贵且能源密集的中央基础设施支持的情况下,定期发送和接收小型数据包。本文将介绍LoRa技术的原理和在安卓设备上开发的步骤
2023-05-23
java开发工程师和安卓开发工程师
Java开发工程师和安卓开发工程师都是软件开发领域的职业,虽然他们有着相同的开发语言,但是他们的工作职责和技能要求还是有所不同的。Java开发工程师Java开发工程师是指那些将Java语言用于企业级应用开发的专业人员。Java是一种面向对象的编程语言,最初
2023-05-23
安卓拍照器app开发
安卓拍照器应用的开发分为三个主要步骤:1. 调用相机应用2. 捕获照片3. 显示照片1. 调用相机应用:要调用相机应用,需要使用Intent。这个Intent会传递给系统启动相机应用,并在相机应用中拍照。```// create Intent to tak
2023-04-28
安卓手机app应用开发
安卓手机App应用开发是指在安卓操作系统平台上设计和构建应用程序的过程。安卓是一种基于Linux的开源操作系统,由谷歌(Google)及其他公司共同研发,主要支持智能手机和平板设备。在本文中,我们将详细介绍安卓App开发的基础知识,并提供一些实用教程。一、
2023-04-28
安卓开发工具怎么转成app模式
安卓开发工具主要指Android Studio,它是一款功能强大的Android应用开发集成环境。以下是使用Android Studio将一个开发项目转换为可在设备上安装和运行的Android应用(APK文件)的详细过程。1. 安装和设置Android S
2023-04-28
安卓商户app开发
安卓商户APP开发是一种基于安卓平台的移动端应用程序开发,旨在为商户提供一种方便快捷的移动营销渠道和服务方式。一、商户APP的功能介绍1.商品展示功能:商户可以在线上展示自己的产品和服务,通过图片、文字、视频等形式吸引用户的眼球,提高产品曝光度。2.订单管
2023-04-28
安卓app开发基础知识
安卓应用开发基础知识作为一名专注于互联网领域的网站博主,我很高兴向您介绍安卓应用开发的基础知识。本文将从原理和详细介绍的角度为入门者提供一个全面的了解安卓应用开发的途径。一、安卓应用开发的基本概念1. 安卓(Android)安卓是一个基于Linux内核的开
2023-04-28
c sharp适合开发安卓app
在使用C#开发安卓App时,需要了解以下几个基本概念和技术:1. Xamarin技术:Xamarin是一种跨平台技术,可用于开发iOS、Android、macOS和Windows平台上的应用程序。它使用C#语言,结合.NET框架和Xamarin工具集,来实
2023-04-28
app开发安卓java
Android 应用程序通常使用 Java 语言编写。Java 是一种面向对象的语言,由 Oracle 公司开发。Android Studio 工具使用 Java 语言和 Android SDK 来创建应用程序。以下是安卓 Java 开发的一些原理和详细介
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1