厦门阿里云代理商: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

相关推荐

  • 阿里云服务器如何修改操作系统设置

    阿里云ECS怎么更换系统盘操作系统 方法/步骤 进入阿里云的官方网站,然后再登陆到阿里点击管理控制台】,进入阿里云控制台首页,后在云服务器ECS旁边点击数字1 如下图所示: 进入控制台后需要先把实例中的主机关闭。 在这里说一下,一定要确认你的阿里云主机内里没有什么重要的资料或是程序,如果有一定要备份以免造成不必要的麻烦。 主机关闭了以后,然后再点击主机最右边…

    2023年8月28日
    18200
  • emcp物联网云平台官网

    电气自动化,应用电子,数控,物联网应用,机电一体化,计算机网络,电子信息,楼宇,和机械制造与自动化,哪个好就业,适合女生 数控和机电一体化差不多,很容易找工作,只要你肯吃苦工资不是问题,苏州这边一进厂就是四五千,那就看你肯不肯吃苦了,这专业女生很少的。机械制造与自动化,电气自动化都不错,就是不太适合女生 北邮 (移动数据安全、智能信息系统、物联网) 方向只是…

    2023年8月25日
    18800
  • 阿里云数据库价格查询官网

    阿里云数据库价格可以在阿里云官网上查询。用户可以进入阿里云官网,选择”产品”菜单,然后在”云数据库”中找到所需的数据库产品。进入相关数据库产品的页面后,用户可以查看该产品的定价信息、各个规格的价格以及计费方式等详细信息。用户还可以根据自己的需求选择适合的购买方式,如包年包月或按量计费。 您可以通过访问阿里云官网…

    2023年10月6日
    20700
  • 阿里云数据库迁移新用户

    迁移阿里云数据库的新用户可以按照以下步骤进行: 注册阿里云账号:打开阿里云官网,点击“免费注册”按钮,按照提示填写相关信息进行账号注册。 实名认证:完成账号注册后,登录阿里云账号,点击右上角的“实名认证”,按照要求填写相关信息并上传身份证照片进行实名认证。 创建RDS实例:登录阿里云账号后,进入RDS控制台,点击“创建实例”按钮,根据实际需求选择适合的数据库…

    2023年8月13日
    20400
  • 宜阳阿里云企业邮箱代理商:阿里邮箱可以绑定钉钉吗安全吗

    阿里云企业邮箱代理商:阿里邮箱可以绑定钉钉吗安全吗 阿里云企业邮箱优势 阿里云企业邮箱是一款基于云计算和大数据技术的企业级电子邮件服务。它以稳定性、安全性、灵活性和便捷性著称,为企业提供全方位的沟通和协同工具。 阿里邮箱与钉钉的关系 阿里邮箱与钉钉之间存在一定的关联关系。阿里邮箱的用户可以通过绑定钉钉实现更多的功能拓展和便利性。 如何绑定钉钉 要将阿里邮箱绑…

    2024年1月18日
    17900

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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