厦门阿里云代理商:android 数据库操作类

在Android开发中,我们经常需要进行数据库操作来存储和管理数据。以下是一个简单的Android数据库操作类示例:

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper {
    private static final String DATABASE_NAME = "mydatabase";
    private static final int DATABASE_VERSION = 1;
    private static final String TABLE_NAME = "mytable";
    private static final String KEY_ID = "_id";
    private static final String KEY_NAME = "name";
    private static final String KEY_AGE = "age";

    private static final String DATABASE_CREATE = "create table " + TABLE_NAME +
            " (" + KEY_ID + " integer primary key autoincrement, " +
            KEY_NAME + " text not null, " +
            KEY_AGE + " integer);";

    private final Context context;
    private DatabaseHelper DBHelper;
    private SQLiteDatabase db;

    public DatabaseHelper(Context ctx) {
        this.context = ctx;
        DBHelper = new DatabaseHelper(context);
    }

    private static class DatabaseHelper extends SQLiteOpenHelper {
        DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

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

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
            onCreate(db);
        }
    }

    public DatabaseHelper open() throws SQLException {
        db = DBHelper.getWritableDatabase();
        return this;
    }

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

    public long insertData(String name, int age){
        ContentValues initialValues = new ContentValues();
        initialValues.put(KEY_NAME, name);
        initialValues.put(KEY_AGE, age);
        return db.insert(TABLE_NAME, null, initialValues);
    }

    public boolean deleteData(long rowId){
        return db.delete(TABLE_NAME, KEY_ID + "=" + rowId, null) > 0;
    }

    public Cursor getAllData(){
        return db.query(TABLE_NAME, new String[] {KEY_ID, KEY_NAME, KEY_AGE},
                null, null, null, null, null);
    }

    public Cursor getData(long rowId) throws SQLException {
        Cursor mCursor = db.query(true, TABLE_NAME, new String[] {KEY_ID, KEY_NAME, KEY_AGE},
                KEY_ID + "=" + rowId, null, null, null, null, null);
        if (mCursor != null) {
            mCursor.moveToFirst();
        }
        return mCursor;
    }

    public boolean updateData(long rowId, String name, int age){
        ContentValues args = new ContentValues();
        args.put(KEY_NAME, name);
        args.put(KEY_AGE, age);
        return db.update(TABLE_NAME, args, KEY_ID + "=" + rowId, null) > 0;
    }
}

这个数据库操作类包括了创建数据库、插入数据、删除数据、查询数据和更新数据等基本操作。您可以根据需要扩展和定制这个类以满足您的业务需求。希望对您有所帮助!

在Android开发中,我们经常需要对数据库进行操作来存储和查询数据。一个常用的方法是使用SQLite数据库来进行数据存储操作。下面是一个简单的Android数据库操作类示例,用于进行数据库的创建、插入、查询、更新和删除操作:

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "my_database";
    private static final int DATABASE_VERSION = 1;

    private static final String TABLE_NAME = "my_table";
    private static final String COLUMN_ID = "id";
    private static final String COLUMN_NAME = "name";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
                + COLUMN_ID + " INTEGER PRIMARY KEY,"
                + COLUMN_NAME + " TEXT"
                + ")";
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }

    public void insertData(String name) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(COLUMN_NAME, name);
        db.insert(TABLE_NAME, null, values);
        db.close();
    }

    public Cursor getAllData() {
        SQLiteDatabase db = this.getReadableDatabase();
        String query = "SELECT * FROM " + TABLE_NAME;
        Cursor cursor = db.rawQuery(query, null);
        return cursor;
    }

    public void updateData(int id, String name) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(COLUMN_NAME, name);
        db.update(TABLE_NAME, values, COLUMN_ID + " = ?", new String[]{String.valueOf(id)});
        db.close();
    }

    public void deleteData(int id) {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(TABLE_NAME, COLUMN_ID + " = ?", new String[]{String.valueOf(id)});
        db.close();
    }
}

这个类中包含了数据库的创建、插入、查询、更新和删除操作的方法。在进行操作之前,需要先实例化这个类,并且调用相应的方法来进行操作。例如:

厦门阿里云代理商:android 数据库操作类
DBHelper dbHelper = new DBHelper(context);
dbHelper.insertData("John");
Cursor cursor = dbHelper.getAllData();
if (cursor.moveToFirst()) {
    do {
        String name = cursor.getString(cursor.getColumnIndex("name"));
        // Do something with the data
    } while (cursor.moveToNext());
}
dbHelper.updateData(1, "Peter");
dbHelper.deleteData(2);

这是一个简单的示例,你可以根据自己的需求来扩展和修改这个类,实现更复杂的数据库操作。希望对你有所帮助。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/149517.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年2月18日 18:03
下一篇 2024年2月18日 18:19

相关推荐

  • 阿里云数据中心是谁建的

    小智云的创始人是谁? 网上搜索是应叶琦,阿里云2号员工。 请问各位,云计算是什么,谁能简单的跟我说一下, 如那个阿里云 ,主要是做什么事情的?谢谢 云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算具有以下几个主要特征:1. 资源配置动态化。根据消费者的需求动态划分或释放不同的物理和虚拟资源,当…

    2023年8月25日
    27500
  • 阿里云国际站充值:阿里云高防 cdn

    阿里云国际站充值的方法有多种,你可以根据自己的需要选择最适合的方式进行充值。以下是几种常见的充值方式: 信用卡/借记卡充值:你可以使用国际信用卡或借记卡进行充值。这是最便捷的充值方式之一,通常可以即时到账。 PayPal充值:如果你有PayPal账户,可以通过PayPal进行充值。这种方式也比较方便,尤其适合那些经常使用PayPal的用户。 电汇:通过银行电…

    2024年7月11日
    23300
  • 阿里云4k超清电影资源

    影视仓怎么添加阿里云4k高清资源? 要在影视仓中添加阿里云高清资源,你可以按照以下步骤进行操作:1. 打开影视仓应用,并登录你的账号。2. 在应用主界面上方,找到“添加资源”或类似的选项,点击进入资源添加页面。3. 在资源添加页面中,选择“阿里云网盘”或类似的选项。4. 输入你的阿里云网盘账号信息,包括账号名和密码。有些应用还可能需要提供其他认证信息,如密钥…

    2023年8月26日
    25600
  • 信阳阿里云企业邮箱代理商:阿里云邮箱怎么登录其它邮箱的东西

    如何登录其他邮箱 在使用阿里云企业邮箱时,我们有时候需要登录其他邮箱来查看邮件或进行邮件的操作。下面将介绍如何登录其他邮箱。 步骤一:打开邮箱登录页面 首先,在浏览器中输入相应邮箱服务商的网址,比如163、QQ邮箱等,找到登录入口。 步骤二:输入账号和密码 在登录页面输入您的邮箱账号和密码,然后点击登录按钮进入邮箱主页。 步骤三:进行邮件操作 登录成功后,您…

    2024年2月21日
    23000
  • 澳门阿里云代理商:access数据库文件

    阿里云是一家国际知名的云计算服务提供商,它提供了各种云服务包括云服务器、云存储、云数据库等。如果你想在澳门使用阿里云的服务,可以通过找澳门的一个阿里云代理商来获取帮助。 至于Access数据库文件,阿里云提供了MySQL和SQL Server等数据库服务,但是不直接支持Access数据库。如果你想将Access数据库迁移到阿里云数据库,通常需要进行数据转换和…

    2023年12月27日
    24900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/