`

Data Storage -- Using Databases[SDK翻译]

阅读更多

Using Databases 使用数据库

 

Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in the application, but not outside the application.

Android 系统对 SQLite 数据库提供了充分的支持. 对于应用程序中的任意一个类, 只要通过名字就可以轻易的访问你所创建的数据库.

The recommended method to create a new SQLite database is to create a subclass of SQLiteOpenHelper and override the onCreate() method, in which you can execute a SQLite command to create tables in the database. For example:

创建一个新的 SQLite 数据库的推荐方法是: 创建一个 SQLiteOpenHelper 类的子类并重写 onCreate() 方法, 在该方法中执行 SQLite 命令来创建表. 例如:

 

public class DictionaryOpenHelper extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 2;
    private static final String DICTIONARY_TABLE_NAME = "dictionary";
    private static final String DICTIONARY_TABLE_CREATE =
                "CREATE TABLE " + DICTIONARY_TABLE_NAME + " (" +
                KEY_WORD + " TEXT, " +
                KEY_DEFINITION + " TEXT);";

    DictionaryOpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DICTIONARY_TABLE_CREATE);
    }
}

 

You can then get an instance of your SQLiteOpenHelper implementation using the constructor you've defined. To write to and read from the database, call getWritableDatabase()and getReadableDatabase(), respectively. These both return a SQLiteDatabase object that represents the database and provides methods for SQLite operations.

然后, 可以调用你自己所定义的构造方法获得你的 SQLiteOpenHelper 实现类的实例. 然后分别调用 getWritableDatabase() 和 getReadableDatabase() 方法进行数据库的读写操作. 这两个方法都返回一个代表数据库的 SQLiteDatabase 对象, 并提供了 SQLite 的操作方法.

You can execute SQLite queries using the SQLiteDatabase query() methods, which accept various query parameters, such as the table to query, the projection, selection, columns, grouping, and others. For complex queries, such as those that require column aliases, you should use SQLiteQueryBuilder, which provides several convienent methods for building queries.

你可以使用 SQLiteDatabase 的 query() 方法执行 SQLite 查询, 它接受各种查询参数, 例如要查询的表, projection, selection, columns, grouping, 等等. 对于复杂的查询, 例如那些需要列的别名, 你可以使用 SQLiteQueryBuilder, 它提供了几个用于构建查询的方法.

Every SQLite query will return a Cursor that points to all the rows found by the query. The Cursor is always the mechanism with which you can navigate results from a database query and read rows and columns.

每次 SQLite 查询都将返回一个Cursor 对象, 它指向了本次查询所返回的结果集. 通过 Cursor 对象, 你可以浏览查询结果, 并且读取结果集中的行和列.

For sample apps that demonstrate how to use SQLite databases in Android, see the Note Pad and Searchable Dictionary applications.

示例程序 NotePad 和 字典检索 演示了在 Android 系统中如何操作 SQLite 数据库.

Database debugging 调试数据库

The Android SDK includes a sqlite3 database tool that allows you to browse table contents, run SQL commands, and perform other useful functions on SQLite databases. SeeExamining sqlite3 databases from a remote shell to learn how to run this tool.

在 Android SDK 中包含了一个 sqlite3 的数据库工具, 它允许你浏览表的内容, 运行 SQL 命令, 并在 SQLite 数据库上执行其他一些有用的功能. 查看 Examining sqlite3 databases form a remote shell 学习如何执行这个工具.

 

分享到:
评论

相关推荐

    cloud-databases-node-sdk:适用于IBM Cloud Database的Node SDK

    IBM Cloud Databases Node.js SDK Node.js客户端库,用于与进行交互。 免责声明:此SDK最初是作为预发布版本发布的。 可能会发生更改,从而影响使用此SDK的应用程序。 目录 开源@ IBM 贡献 执照 概述 IBM Cloud ...

    From Data Mining to Knowledge Discovery in Databases

    数据挖掘和数据库中的知识发现是当今信息时代最为活跃的研究领域之一,它不仅涉及了数据的搜集、处理、分析,还包括从海量的数据中提取有价值知识的整个过程。这篇文章是由Usama Fayyad、Gregory Piatetsky-Shapiro...

    Introducing Data Science - Big Data, Machine Learning and more, using Python

    《Introducing Data Science - Big Data, Machine Learning and more, using Python》这本书是对数据科学领域中的大数据、机器学习以及其他相关知识点使用Python工具进行讲解的入门教材。作者Davy Cielen、Arnold B....

    E-FFC: an enhanced form-focused crawler for domain-specific deep web databases

    ### E-FFC: An Enhanced Form-Focused Crawler for Domain-Specific Deep Web Databases #### 摘要与背景 本文介绍了E-FFC(增强型聚焦表单爬虫),这是一种针对特定领域的深层网络数据库(Deep Web Databases, ...

    Applied ADO.NET: Building Data-Driven Solutions(2)

    Applied ADO.NET: Building Data-Driven Solutions 第二部分 Table of Contents Applied ADO.NET—Building Data-Driven Solutions Introduction Chapter 1 - ADO.NET Basics Chapter 2 - Data Components ...

    DataGrip安装手册2024最新

    ### DataGrip安装手册2024最新 #### 一、概述 DataGrip是一款由JetBrains开发的强大数据库管理工具,适用于多种数据库管理系统,包括MySQL。本手册将详细介绍DataGrip 2024版的安装流程及配置方法,帮助用户快速...

    Data Mining In Time-Series Databases

    在《Data Mining in Time-Series Databases》一书的编辑简介中,提到了多位编辑,包括来自不同大学和机构的专家们,例如来自瑞士伯尔尼大学的Horst Bunke、来自美国东北大学的P.S.P. Wang、以色列本古里安大学的Mark...

    Data Structures and Algorithms for Big Databases

    "Data Structures and Algorithms for Big Databases"这一主题探讨了针对大规模数据库优化存储和查询的关键技术。本文将深入解析其中涉及的几个重要概念:I/O模型与缓存无感知分析、写优化数据结构、块替换算法、...

    Incremental-Information-Extraction-Using-Relational-Databases

    使用关系数据库的增量信息提取这是一个基于Java的项目。 该项目使用关系数据库来提高搜索引擎的搜索能力。 我选择这个项目是为了获得Java-SWING和Relational Database(MySql)的动手经验。 即使先前的搜索关键字和...

    藏经阁-Horizontally Scalable Relational Databases with Spark.pdf

    " Horizontally Scalable Relational Databases with Spark" 在这个文件中,我们可以提炼出以下几个关键知识点: 一、Citus 介绍 Citus 是一个开源的关系数据库管理系统,支持水平扩展、多租户和实时分析。它可以...

    Introduction to Data Science - A Python Approach

    This book is an introduction to concepts, techniques, and applications in data science. This book focuses on the analysis of data, covering concepts from statistics to machine learning, techniques for...

    CNCF Storage Landscape V2 - White Paper.pdf

    - 容器存储接口(Container Storage Interface, CSI):定义容器编排系统与块和文件存储系统交互的标准。 - K8s原生驱动(K8s Native Drivers):专为Kubernetes设计的存储插件。 - Docker卷驱动接口(Docker ...

    High-Performance-Parallel-Database-Processing-And-Grid-Databases

    《高性能并行数据库处理与网格数据库》是一本深入探讨如何利用现代计算技术优化数据库性能的专业著作。这本书聚焦于Java编程语言在数据库领域的应用,旨在帮助读者理解如何利用Java技术实现高性能的数据处理和分布式...

    Exam Ref 70-761 Querying Data with Transact-SQL

    Exam 70-761 focuses on the skills and knowledge necessary to manage and query data and to program databases with Transact-SQL in SQL Server 2016. About Microsoft Certification Passing this exam earns...

    Oracle 11g R2 Data Guard -- Howto

    Oracle Data Guard 是一个高可用性解决方案,通过将主数据库(Primary Database)的事务重做日志同步到一个或多个备用数据库(Standby Databases),从而实现数据的复制和保护。备用数据库可以是物理备份、逻辑备份...

Global site tag (gtag.js) - Google Analytics