`
mars5337
  • 浏览: 89380 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android数据库工具类

阅读更多
一个好的习惯是创建一个辅助类来简化你的数据库交互。

考虑创建一个数据库适配器,来添加一个与数据库交互的包装层。它应该提供直观的、强类型的方法,如添加、删除和更新项目。数据库适配器还应该处理查询和对创建、打开和关闭数据库的包装。

它还常用静态的数据库常量来定义表的名字、列的名字和列的索引。

下面的代码片段显示了一个标准数据库适配器类的框架。它包括一个SQLiteOpenHelper类的扩展类,用于简化打开、创建和更新数据库。

import android.content.Context;
import android.database.*;
import android.database.sqlite.*;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.util.Log;
public class MyDBAdapter
{
private static final String DATABASE_NAME = “myDatabase.db”;
private static final String DATABASE_TABLE = “mainTable”;
private static final int DATABASE_VERSION = 1;

// The index (key) column name for use in where clauses.
public static final String KEY_ID=”_id”;

// The name and column index of each column in your database.
public static final String KEY_NAME=”name”;
public static final int NAME_COLUMN = 1;

// TODO: Create public field for each column in your table.
// SQL Statement to create a new database.
private static final String DATABASE_CREATE = “create table “ +
DATABASE_TABLE + “ (“ + KEY_ID + “ integer primary key autoincrement, “ +
KEY_NAME + “ text not null);”;

// Variable to hold the database instance
private SQLiteDatabase db;

// Context of the application using the database.
private final Context context;

// Database open/upgrade helper
private myDbHelper dbHelper;

public MyDBAdapter(Context _context) {
context = _context;
dbHelper = new myDbHelper(context, DATABASE_NAME, null, DATABASE_VERSION);
}

public MyDBAdapter open() throws SQLException {
db = dbHelper.getWritableDatabase();
return this;
}

public void close() {
db.close();
}

public long insertEntry(MyObject _myObject) {
ContentValues contentValues = new ContentValues();
// TODO fill in ContentValues to represent the new row
return db.insert(DATABASE_TABLE, null, contentValues);
}

public boolean removeEntry(long _rowIndex) {
return db.delete(DATABASE_TABLE, KEY_ID + “=” + _rowIndex, null) > 0;
}
public Cursor getAllEntries () {
return db.query(DATABASE_TABLE, new String[] {KEY_ID, KEY_NAME},
null, null, null, null, null);
}
public MyObject getEntry(long _rowIndex) {
MyObject objectInstance = new MyObject();
// TODO Return a cursor to a row from the database and
// use the values to populate an instance of MyObject
return objectInstance;
}
public int updateEntry(long _rowIndex, MyObject _myObject) {
String where = KEY_ID + “=” + _rowIndex;
ContentValues contentValues = new ContentValues();
// TODO fill in the ContentValue based on the new object
return db.update(DATABASE_TABLE, contentValues, where, null);
}

private static class myDbHelper extends SQLiteOpenHelper
{
public myDbHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}

// Called when no database exists in
// disk and the helper class needs
// to create a new one.
@Override
public void onCreate(SQLiteDatabase _db) {
_db.execSQL(DATABASE_CREATE);
}

// Called when there is a database version mismatch meaning that
// the version of the database on disk needs to be upgraded to
// the current version.
@Override
public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) {
// Log the version upgrade.
Log.w(“TaskDBAdapter”, “Upgrading from version “ +
_oldVersion + “ to “ + _newVersion +
“, which will destroy all old data”);
// Upgrade the existing database to conform to the new version.
// Multiple previous versions can be handled by comparing
// _oldVersion and _newVersion values.
// The simplest case is to drop the old table and create a
// new one.
_db.execSQL(“DROP TABLE IF EXISTS “ + DATABASE_TABLE);

// Create a new one.
onCreate(_db);
}
}
}
分享到:
评论

相关推荐

    Android开发中的SQLite数据库的增删改查工具类

    在Android开发中,SQLite数据库是应用进行本地数据...综上所述,SQLiteManager和DBSOpenHelper是Android开发中实现SQLite数据库操作的核心工具,它们结合使用能有效管理和操作本地数据,满足各种应用的本地存储需求。

    Android数据库操作工具类分享

    本文实例为大家分享了Android数据库操作工具类的具体代码,供大家参考,具体内容如下 HistoryDAO public class HistoryDAO { private DBConnection dbc = null; private SQLiteDatabase db = null; private ...

    DBHelper数据库工具类

    连接数据库工具类,只需要改变其中的数据库名称和连接密码就可以使用!

    Android 封装的工具类

    这里提到的"Android 封装的工具类"涵盖了几种关键的模块,包括网络请求、数据库操作、数据加密以及JSON解析。以下是对这些工具类的详细介绍: 1. **网络请求工具类(HttpUtils.java)** 在Android应用中,我们常常...

    android系统数据库管理工具SQLiteExpertSetup.zip

    Android系统数据库管理工具SQLiteExpertSetup.zip是一个专门为Android开发者设计的实用工具,用于高效地管理和操作Android设备或模拟器上的SQLite数据库。SQLite是一个轻量级、关系型数据库管理系统,广泛应用于移动...

    Android异步查询数据库工具类LoaderCursor

    LoaderCursorUtil 异步查询数据库的工具类 使用方法如下: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LoaderCursorUtil cursorUtil = new LoaderCursorUtil...

    Android开发常用工具类合集

    本资源包括常用工具类,目前收录了数组工具类、异步工具类、base64工具类、bitmap工具类、缓存工具类、时间工具类、http连接、json、IO、Map、MD5、数据库、SD卡、UbbToHtml等工具类合集

    Android数据库SQLite详解

    - **SQLiteOpenHelper**: 这是Android提供的一个抽象类,用于创建、升级和打开数据库。你需要继承这个类并实现其中的`onCreate()`和`onUpgrade()`方法。 - **onCreate()**: 当数据库首次创建时调用,用于创建表和...

    sqlite android数据库查看工具

    本文将详细介绍如何使用Android数据库查看工具来管理和分析SQLite数据库。 首先,我们需要了解Android数据库的基本操作。Android提供了SQLiteOpenHelper类,它是对SQLite数据库操作的基类,可以帮助我们创建、升级...

    android数据库增删改查工具

    总之,“android数据库增删改查工具”是一个实用的开发辅助组件,可以帮助开发者更高效、更安全地管理Android应用中的SQLite数据库,尤其是处理成员信息这类数据时。其全面的功能和易用性使得它成为Android开发中...

    sqlite数据库工具类

    在这个"sqlite数据库工具类"中,开发者已经基于Room技术封装了数据库操作,主要包括`DbManager`类和`DbHelper`类,这两个类是进行数据库管理和帮助操作的核心组件。 首先,我们来看`DbManager`类。这个类通常作为...

    android各种工具类

    本文将深入探讨“android各种工具类”这一主题,包括文件操作、日期处理、图片处理、系统服务利用、网络通信以及数据库管理等核心知识点。 1. 文件操作: 在Android中,文件操作是非常基础且重要的功能。开发者需要...

    Android常用工具类集合

    - 数据存储工具类,如SharedPreferences或SQLite数据库操作,便于保存用户数据或应用配置。 3. **基础视图组件封装**: - 自定义View和Adapter的封装,可以简化UI开发,提供更丰富的交互效果。例如,自定义的滑动...

    android 基本框架+常用工具类

    "Android 基本框架+常用工具类"这个主题涵盖了Android开发中的基础架构以及常用工具类的实现,这对于任何Android开发者来说都是必备的知识点。下面我们将深入探讨这些方面。 首先,Android框架是应用程序的基础,它...

    android数据库操作实例

    总结来说,这个"android数据库操作实例"涵盖了Android应用中使用SQLite数据库的基础知识,包括创建数据库、定义表结构、插入、查询、更新和删除数据等操作。通过学习这个实例,开发者可以更好地理解如何在Android...

    Android数据库文件查看工具

    对于开发者来说,理解和调试数据库内容是常见的任务,这时就需要使用到Android数据库文件查看工具。 "Android数据库文件查看工具"正如其名,是一款专为Android开发者设计的工具,旨在简化数据库文件的查看和管理...

    Android数据库应用编程

    本文将深入探讨Android数据库应用编程的相关知识点,帮助开发者掌握如何有效地在Android应用中管理和操作数据。 ### SQLite数据库介绍 SQLite是一个开源、嵌入式、自包含的SQL数据库引擎,无需单独的服务器进程,...

    Android GreenDao 数据库框架的使用

    总结,GreenDao以其高效、易用的特性,成为了Android开发中处理SQLite数据库的得力工具。通过理解并熟练运用上述知识点,开发者能更好地利用GreenDao提升开发效率,优化应用性能。在实际项目中,结合`GreenDaoDemo`...

    android开发必备工具类

    在Android开发过程中,工具类是不可或缺的一部分,它们可以极大地提高开发效率,简化代码,使得开发者能够更加专注于核心功能的实现。以下是一些Android开发中常用的工具类及其详细知识点: 1. **日志工具类**: -...

Global site tag (gtag.js) - Google Analytics