package com.shawn.test;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DatabaseAdapter{
private static final String DB_NAME = "Test.db"; //数据库名
private static final int DB_VERSION = 1; //数据库版本
private static final String DB_TABLE = "my_order"; //表名
private static final String KEY_ID = "_id"; //id
private static final String KEY_ORDER_ID = "order_id"; //订单号
private static final String KEY_TYPE = "_type"; //订单类型
private static final String KEY_STATE = "_state"; //订单状态
private Context context;
private DatabaseHelper mDatabaseHelper;
private SQLiteDatabase mSQLiteDatabase;
private static class DatabaseHelper extends SQLiteOpenHelper{
//创建数据库语句
private static final String DB_CREAT = "CREATE TABLE "
+ DB_TABLE
+ " (" + KEY_ID + " INTEGER PRIMARY KEY,"
+ KEY_ORDER_ID + " TEXT,"
+ KEY_TYPE + " INTEGER,"
+ KEY_STATE + " INTEGER)";
public DatabaseHelper(Context context) {
super(context, DB_NAME, null , DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DB_CREAT);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);
onCreate(db);
}
}
public DatabaseAdapter(Context context) {
this.context = context;
}
//开启
public void open() {
mDatabaseHelper = new DatabaseHelper(context);
mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
}
//关闭
public void close() {
mSQLiteDatabase.close();
mDatabaseHelper.close();
}
//增
public long insertData(String orderId, int type) {
ContentValues values = new ContentValues();
values.put(KEY_ORDER_ID, orderId);
values.put(KEY_TYPE, type);
values.put(KEY_STATE, Config.STATE_APPLY);
long id = mSQLiteDatabase.insert(DB_TABLE, KEY_ID, values);
return id;
}
//删
public boolean deleteData(Context context, long id) {
boolean delete = mSQLiteDatabase.delete(DB_TABLE, KEY_ID + "=" +id, null)>0;
return delete;
}
//改
public boolean updateData(long id, int state) {
ContentValues values = new ContentValues();
values.put(KEY_STATE, ""+state);
boolean update = mSQLiteDatabase.update(DB_TABLE, values, KEY_ID + "=" +id, null)>0;
return update;
}
//查
public Cursor fetchData(String selection) {
Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID, KEY_ORDER_ID, KEY_TYPE, KEY_STATE}, selection, null, null, null, null);
if(mCursor != null)
mCursor.moveToFirst();
return mCursor;
}
}
分享到:
相关推荐
因为数据库的操作在开发中的重要性是不言而喻的,所以,在数据库这一方面下了很大的功夫,终于掌握了基本的操作,包括建表和删除,对数据库的操作,“增删改查”基本操作,而且用了封装性来实现,是学习数据库的一个...
Android 数据库SQLiteDatabase的使用 1.数据库辅助操作接口SQLiteDatabaseOpenHelper的使用 2.ContentValues的使用 3.数据的增删改查 4.listView 与Adapter的使用 5.OptionsMenu的使用 6.Editext隐藏失去焦点的方法
### Android SQLiteDatabase的使用详解 在Android开发过程中,`SQLiteDatabase`是进行本地数据存储的核心类之一,它提供了创建和查询SQLite数据库的方法。SQLite是一种轻量级的嵌入式数据库引擎,广泛应用于移动...
本教程将深入讲解如何在Android项目中使用SQLite数据库。 首先,我们需要创建一个SQLite数据库。在Android中,我们通过继承`SQLiteOpenHelper`类来实现这个功能。`SQLiteOpenHelper`提供了创建、升级和打开数据库的...
在这个主题中,我们将深入探讨如何在Android环境下使用SQLiteDatabase来直接存取数据和图像。 首先,要使用SQLite数据库,我们需要创建一个SQLiteOpenHelper的子类。这个类有两个关键方法:`onCreate()` 和 `...
本文将通过一个实例详细介绍如何在Android中使用SQLiteOpenHelper和SQLiteDatabase进行数据库操作。 首先,要使用SQLite数据库,你需要创建一个继承自SQLiteOpenHelper的类。这个类会处理数据库的创建、升级以及...
本篇文章将详细探讨如何在Android中使用SQLite数据库进行数据的增删改查(CRUD)操作,并介绍与之相关的布局页面编写。 首先,创建SQLite数据库需要实现`SQLiteOpenHelper`的子类。这个类提供了创建和升级数据库的...
下面将详细介绍如何在Android Studio中使用SQLiteDatabase进行基本的功能与操作。 首先,我们需要在AndroidManifest.xml文件中添加读写权限,以允许应用访问SQLite数据库: ```xml <uses-permission android:name=...
SQLiteDatabase是Android系统中对SQLite数据库的封装,它是Android SDK的一部分,提供了与SQLite数据库进行交互的接口和类。开发者可以通过SQLiteDatabase来创建、更新、查询和管理数据库。 在Android应用开发中,...
在本例"androidDb.rar_ SQLiteDatabase_SQLiteDatabase_android"中,我们将探讨如何在Android应用中使用SQLite数据库。 SQLite数据库的核心类是`SQLiteDatabase`,它是Android提供的一个接口,用于执行SQL语句和...
本小案例将详细讲解如何在Android中使用SQLite数据库进行CRUD操作。 首先,我们需要在Android项目中创建一个`SQLiteOpenHelper`的子类,这个类是用来帮助我们创建和升级数据库的。例如,我们可以命名为`...
在这个"SQLiteDataBase简单Android实例"中,我们将深入探讨如何在Android应用中有效地利用SQLite进行数据操作。 首先,我们需要创建一个SQLite数据库。在Android中,我们通常通过继承`SQLiteOpenHelper`类来实现。...
假设我们使用ArrayAdapter,我们需要创建一个自定义的`MyAdapter`类,继承自ArrayAdapter,它会根据数据填充ListView的每个项目。 ```java public class MyAdapter extends ArrayAdapter<String> { public ...
验证android sqlite数据库insert 和delete 方法返回值的具体规律 insert 插入一行,如果当前最大id是4,insert新的一条记录id是5 ,如果把5删除, 在insert一条新的记录id还是5,如果删除的是id为4的记录, 再新增一...
在Android开发中,SQLite数据库是应用内存储数据的常用方式,但其原生API使用起来确实相对复杂,涉及很多重复的代码。为了简化这一过程,`wellsql`库应运而生,它是一个专为Android设计的开源项目,旨在让开发者更...
Android高手进阶教程之----Android 数据库SQLiteDatabase的使用!.doc Android高手进阶教程之----Android 通用获取Ip的方法(判断手机是否联网的方法)!!!.doc Android高手进阶教程之----Android 在一个应用中如何...
要向数据库中插入数据,我们可以使用`SQLiteDatabase`的`insert()`方法。例如: ```java MyDatabaseHelper dbHelper = new MyDatabaseHelper(context); SQLiteDatabase db = dbHelper.getWritableDatabase(); ...
以下是对Android中使用SQLite进行详细讲解: 1. **SQLite简介** SQLite是一个开源、嵌入式的关系型数据库,支持SQL标准。在Android中,每个应用程序都可以拥有自己的SQLite数据库,并且无需额外的服务器进程。它的...
对于SQLite数据,我们通常使用`SimpleCursorAdapter`,它可以直接将SQLite查询结果映射到ListView的各个视图项。 在布局文件中,如`patient_item.xml`,定义ListView的每一项布局,通常包括患者姓名、年龄、性别等...