衡阳阿里云代理商:android 数据库管理操作类

在 Android 开发中,我们经常需要对数据库进行管理操作,包括创建数据库、创建表、插入数据、更新数据、删除数据等操作。以下是一个简单的数据库管理操作类示例:

public class DatabaseHelper 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";

    // 创建表的 SQL 语句
    private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "("
            + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
            + COLUMN_NAME + " TEXT)";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        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 void updateData(int id, String newName) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(COLUMN_NAME, newName);
        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();
    }

    public List<String> getAllData() {
        List<String> dataList = new ArrayList<>();
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME, null);
        if (cursor.moveToFirst()) {
            do {
                String name = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
                dataList.add(name);
            } while (cursor.moveToNext());
        }
        cursor.close();
        db.close();
        return dataList;
    }
}

在这个类中,我们定义了一个名为 DatabaseHelper 的类,继承自 SQLiteOpenHelper,用于管理数据库操作。在 onCreate() 方法中,我们创建了一个表,定义了两个列。在插入数据、更新数据、删除数据和获取所有数据的方法中,我们使用 SQLiteDatabase 对象来执行相应的数据库操作。

在实际使用中,我们可以通过创建 DatabaseHelper 对象来进行数据库管理操作,例如:

DatabaseHelper dbHelper = new DatabaseHelper(context);
dbHelper.insertData("Alice");
dbHelper.insertData("Bob");
dbHelper.updateData(1, "David");
dbHelper.deleteData(2);
List<String> dataList = dbHelper.getAllData();

通过这个数据库管理操作类,我们可以方便地对数据库进行增删改查操作,实现数据的持久化存储。

在Android平台上进行数据库管理操作,通常会使用SQLite数据库。下面是一个示例的数据库管理操作类:

衡阳阿里云代理商: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 DatabaseManager {
    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";
    private static final String COLUMN_AGE = "age";

    private static final String TABLE_CREATE = "CREATE TABLE " + TABLE_NAME + " (" +
            COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COLUMN_NAME + " TEXT, " +
            COLUMN_AGE + " INTEGER);";

    private Context context;
    private SQLiteDatabase database;
    private DatabaseHelper dbHelper;

    public DatabaseManager(Context context) {
        this.context = context;
    }

    public DatabaseManager open() throws SQLException {
        dbHelper = new DatabaseHelper(context);
        database = dbHelper.getWritableDatabase();
        return this;
    }

    //添加数据
    public long insert(String name, int age) {
        ContentValues values = new ContentValues();
        values.put(COLUMN_NAME, name);
        values.put(COLUMN_AGE, age);
        return database.insert(TABLE_NAME, null, values);
    }

    //查询数据
    public Cursor query() {
        return database.query(TABLE_NAME, new String[]{COLUMN_ID, COLUMN_NAME, COLUMN_AGE},
                null, null, null, null, null);
    }

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

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

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

使用这个数据库管理操作类,可以进行数据库的创建、打开、插入数据和查询数据等操作。记得在使用完毨,调用 close() 方法关闭数据库连接。

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

(0)
luotuoemo的头像luotuoemo
上一篇 2024年2月20日 16:55
下一篇 2024年2月20日 17:03

相关推荐

  • 阿里云大数据在哪方面有应用

    阿里云大数据主要应用在以下几个方面: 数据仓库与分析:阿里云大数据可帮助企业搭建高可扩展性的数据仓库,集中存储和分析海量数据,并提供丰富的数据查询、分析和报表功能,帮助企业进行业务分析和决策支持。 实时数据处理:阿里云大数据提供流式计算平台和实时数据处理服务,可以处理海量的实时数据流,如日志、事件流等,并实时分析数据、提取有价值的信息,从而支持实时监控、智能…

    2023年9月18日
    17500
  • 长沙阿里云代理商:阿里云服务器进程监控

    阿里云提供了一系列服务器进程监控服务,帮助用户实时监控服务器的运行情况和健康状况。以下是一些常用的阿里云服务器进程监控方法和工具: 云监控:阿里云提供的云原生全栈质量监控平台,可实时监控服务器的性能指标、资源使用情况、网络流量、进程状态等,并通过报警、监控大盘等功能帮助用户实现服务器的自动化运维和故障预警。 监控报警:阿里云云监控支持根据用户自定义的阈值和触…

    2024年2月3日
    16000
  • 潍坊阿里云代理商:api文档里面方法怎么看

    潍坊阿里云代理商:阿里云的优势与好用之处 一、强大的云计算基础设施 阿里云作为全球领先的云计算平台,拥有庞大而强大的云计算基础设施。其数据中心分布在世界各地,提供稳定可靠的云服务,能够满足用户不同地域的需求。 二、全面的云产品和解决方案 阿里云提供多样化的云产品和解决方案,涵盖了计算、存储、数据库、网络、安全等方面。无论是个人开发者、创业公司,还是大型企业,…

    2024年1月7日
    15700
  • 沈阳阿里云代理商:按量付费到期

    阿里云按量付费到期是指用户选择按照实际使用的资源量付费,而不是预先购买固定资源量的方式。当按量付费资源到期时,用户可以根据实际需要决定是否续费或者关闭资源。 对于沈阳地区的阿里云代理商来说,当用户按量付费资源到期时,代理商可以提供以下服务: 续费:代理商可以帮助用户续费按量付费资源,根据用户的需求和预算,提供合适的续费套餐方案。 信息咨询:代理商可以解答用户…

    2024年1月24日
    15200
  • 百度云计算和阿里云哪个更强

    百度云 阿里云 腾讯云 这三家CDN哪家更好,求指教 现在在用百度云 阿里云也不错求后台别再吞我的答复了😭(这个不是广告啊) 百度云和阿里云,哪一个用的最广泛? 在日前的百度云智峰会上,百度总裁张亚勤展示的一组数据让业界侧目。在过去一年,百度云实现了百度云客户数同比增长 10 倍,流量同比增长 8 倍,收入则同步增长 4 倍。对于这样的成绩,百度无疑是值得骄…

    2023年8月29日
    14800

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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