安卓 数据库 开发

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稳定版切换安卓12开发版
在发布 Android 11 正式版本后,Google 也开始稳定推出 Android 12 开发者预览版。这使得 Android 用户可以提前尝试 Android 12 的新特性和改进。对于有些用户来说,他们可能想尝试最新版本的 Android 12,但
2023-05-23
安卓 开发从入门到精通
安卓应用开发是目前最热门的开发领域之一。通过安卓应用开发,人们可以为自己的手机或平板电脑开发出各种各样的实用程序和游戏,从而极大地拓展使用和娱乐的范围。如果你对安卓应用开发感兴趣,下面就是一份从入门到精通的详细介绍。一、安卓应用开发的原理安卓应用程序是基于
2023-05-23
eclipse开发安卓app环境搭建
Eclipse是Java开发环境(JDK)以及Android Studio之前最常用的开发工具,能够较方便地进行Android开发。如果你现在打算开发Android app或者在已有项目中去参与Android开发,那么一定需要搭建Eclipse开发环境。本
2023-05-23
affinity安卓开发
Affinity是一款用于安卓开发的工具,可以用于开发安卓应用程序。本文将详细介绍Affinity的原理和使用方法。一、Affinity的原理Affinity是一款开源的管理器,多用于管理进程和线程。在安卓开发中,Affinity可以帮助我们更好地管理并发
2023-05-23
5g现在有安卓11开发版了吗
目前,安卓11已经发布了开发者预览版,支持5G网络。下面我们详细介绍5G在安卓11中的原理。安卓11支持5G的原理5G是第五代移动通信技术,其理论下行速率可以达到20Gbps,远超4G网络,带宽更大,延迟更低,具有更高的网络容量和更低的功耗。安卓11在支持
2023-05-23
最好的安卓app开发工具
在本教程中,我们将探讨一些最适合安卓App开发的工具,它们适合从初学者到专家不等的开发者。安卓应用的开发工具通常可以帮助开发者快速、高效地构建各种应用程序。以下是几款最受推崇的安卓App开发工具及其功能简介。1. Android StudioAndroid
2023-04-28
开发安卓app需要学java吗
当谈论开发安卓应用时,Java 是一个必不可少的编程语言。但是,根据最新的趋势和技术,开发人员也有其他选择。本文将详细介绍为什么需要学习 Java 来开发安卓应用,以及其他可用的方法和工具。为什么需要学Java?1. 广泛应用:Java 是创建 Andro
2023-04-28
安卓手机的游戏app开发
安卓手机游戏App开发教程安卓(Android)是一种基于Linux操作系统的开源手机平台,由谷歌(Google)推出。安卓手机游戏App开发涉及到一系列的技术和工具,下面我们将详细介绍安卓手机游戏App的开发过程。一、开发准备1. 开发环境搭建:要进行安
2023-04-28
安卓开发app启动流程图片
安卓开发app启动流程大致分为以下几个阶段:1. 当用户点击应用图标或从最近使用列表中选择应用时,系统会启动该应用的进程。2. 进程启动后会启动应用的主线程,应用的主线程会在应用进程的主线程执行。3. 应用主线程开始执行 `onCreate()` 方法,这
2023-04-28
安卓各类app的开发
安卓应用的开发可以分为以下几个步骤:1. 确认应用的功能需求和流程在开发应用之前,需要先确认应用的功能需求和流程。这基本上是开发应用的第一步,因为只有清楚了应用的需求和流程,才能设计出合适的系统架构和开发计划。2. 设计应用的界面和交互方式安卓应用的界面和
2023-04-28
安卓app 开发实践
**安卓app 开发实践**在本篇文章中,我们将详细介绍如何进行安卓app开发,包括原理、基本步骤和实践技巧。无论您是一个初学者还是有经验的开发者,这篇文章都将为您提供有价值的信息。**一、了解安卓应用开发原理**- 安卓(Android)是谷歌(Goog
2023-04-28
基于eclipse开发的安卓app
基于Eclipse开发的安卓app:原理与详细介绍在Android开发早期,Eclipse是官方推荐的集成开发环境(IDE)。虽然现在Google明确指出Android Studio是首选的开发环境,但了解Eclipse的Android开发方式对于某些遗留
2023-04-28
©2015-2023 安卓益APP Anzhuoe.com 蜀ICP备17007734号-1