当前位置:首页 > 笔记

轻松上手,Android SQLite数据库实战攻略揭秘

花晨月夕5个月前 (03-22)笔记1820
Android 开发中,数据存储是不可或缺的一部分。SQLite 作为 Android 系统内置的轻量级数据库,因其简单易用、性能优越等特点,成为 Android 开发者的首选。本文将带你轻松上手 Android SQLite 数据库,并通过实战案例揭秘其应用技巧。…

Android 开发中,数据存储是不可或缺的一部分。SQLite 作为 Android 系统内置的轻量级数据库,因其简单易用、性能优越等特点,成为 Android 开发者的首选。本文将带你轻松上手 Android SQLite 数据库,并通过实战案例揭秘其应用技巧。

一、SQLite 简介

轻松上手,Android SQLite数据库实战攻略揭秘

SQLite 是一个轻量级的数据库引擎,支持标准的 SQL 语句,具有体积小、速度快、易于使用等特点。在 Android 开发中,SQLite 可以通过 JDBC 驱动程序与 Java 代码进行交互。

二、Android 中使用 SQLite

1. 创建数据库

在 Android 中,可以使用 SQLiteOpenHelper 类来创建和管理数据库。以下是一个创建数据库的示例代码:

public class MyDatabaseHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME = "mydatabase.db";
    private static final int DATABASE_VERSION = 1;

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE IF NOT EXISTS user ("
                + "id INTEGER PRIMARY KEY AUTOINCREMENT, "
                + "name TEXT NOT NULL, "
                + "age INTEGER NOT NULL)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 数据库升级逻辑
    }
}

2. 操作数据库

(1)插入数据

使用 insert 方法可以插入数据。以下是一个插入数据的示例代码:

public void insertData(String name, int age) {
    SQLiteDatabase db = getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("name", name);
    values.put("age", age);
    db.insert("user", null, values);
    db.close();
}

(2)查询数据

使用 query 方法可以查询数据。以下是一个查询数据的示例代码:

public List<User> queryData() {
    List<User> userList = new ArrayList<>();
    SQLiteDatabase db = getReadableDatabase();
    Cursor cursor = db.query("user", new String[]{"id", "name", "age"}, null, null, null, null, null);
    while (cursor.moveToNext()) {
        int id = cursor.getInt(0);
        String name = cursor.getString(1);
        int age = cursor.getInt(2);
        userList.add(new User(id, name, age));
    }
    cursor.close();
    db.close();
    return userList;
}

(3)更新数据

使用 update 方法可以更新数据。以下是一个更新数据的示例代码:

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

(4)删除数据

使用 delete 方法可以删除数据。以下是一个删除数据的示例代码:

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

三、实战案例

以下是一个简单的 Android 应用,使用 SQLite 数据库存储用户信息。

  1. 创建一个名为 MainActivity 的 Activity,并在其布局文件 activity_main.xml 中添加一个按钮和一个文本视图。

  2. 在 MainActivity 中,编写以下代码:

public class MainActivity extends AppCompatActivity {

    private SQLiteDatabase db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
        db = dbHelper.getWritableDatabase();

        Button insertButton = findViewById(R.id.insert_button);
        insertButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                insertData("张三", 20);
                Toast.makeText(MainActivity.this, "插入数据成功!", Toast.LENGTH_SHORT).show();
            }
        });

        Button queryButton = findViewById(R.id.query_button);
        queryButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                List<User> userList = queryData();
                StringBuilder sb = new StringBuilder();
                for (User user : userList) {
                    sb.append("ID: ").append(user.getId()).append(", ")
                            .append("姓名: ").append(user.getName()).append(", ")
                            .append("年龄: ").append(user.getAge()).append("\n");
                }
                TextView textView = findViewById(R.id.text_view);
                textView.setText(sb.toString());
            }
        });
    }

    private void insertData(String name, int age) {
        SQLiteDatabase db = getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name", name);
        values.put("age", age);
        db.insert("user", null, values);
        db.close();
    }

    private List<User> queryData() {
        List<User> userList = new ArrayList<>();
        SQLiteDatabase db = getReadableDatabase();
        Cursor cursor = db.query("user", new String[]{"id", "name", "age"}, null, null, null, null, null);
        while (cursor.moveToNext()) {
            int id = cursor.getInt(0);
            String name = cursor.getString(1);
            int age = cursor.getInt(2);
            userList.add(new User(id, name, age));
        }
        cursor.close();
        db.close();
        return userList;
    }
}
  1. 运行应用,点击按钮插入数据,再点击按钮查询数据,即可看到效果。

总结

本文介绍了 Android 中使用 SQLite 数据库的方法,并通过一个简单的实战案例展示了其应用。希望读者通过本文的学习,能够轻松上手 Android SQLite 数据库,并在实际项目中发挥其作用。


扫描二维码推送至手机访问。

版权声明:本文由花晨月夕发布,如需转载请注明出处。

本文链接:https://m.856syz.top/?id=73

分享给朋友:

“轻松上手,Android SQLite数据库实战攻略揭秘” 的相关文章

在实际开发中,如何选择合适的PHP框架?

在实际开发中,如何选择合适的PHP框架?

在实际开发中,选择合适的 PHP 框架需要综合考虑项目需求、团队技术栈、性能要求、社区支持等多方面因素。以下是关键决策因素和选择建议:1. 明确项目需求根据项目类型和规模选择框架:小型项目 / 快速原型:选择轻量级框架,如 CodeIgniter、Fat-Free Framework&nb…

如何在Nginx中配置反向代理?

如何在Nginx中配置反向代理?

在 Nginx 中配置反向代理是将客户端请求转发到后端服务器的常用方法,下面为你详细介绍配置步骤和常见场景。一、基础反向代理配置1. 单服务器反向代理下面是一个将所有请求转发到后端服务器的基础配置:nginxserver {     listen&…

揭秘HTML5 RGB色彩的秘密:轻松掌握网页设计色彩搭配技巧

揭秘HTML5 RGB色彩的秘密:轻松掌握网页设计色彩搭配技巧

在网页设计中,色彩搭配是至关重要的。它不仅能够影响用户的视觉体验,还能够传达出网站的风格和情感。HTML5提供了强大的色彩表示方法,其中RGB色彩模式是网页设计中最为常用的一种。本文将深入解析HTML5 RGB色彩的秘密,并分享一些实用的色彩搭配技巧。…

揭秘SQLite触发器:轻松实现数据库复杂操作与数据一致性维护

揭秘SQLite触发器:轻松实现数据库复杂操作与数据一致性维护

SQLite 是一种轻量级的数据库管理系统,广泛应用于嵌入式系统和小型应用程序。它以其简洁的语法和高效的性能而闻名。在SQLite中,触发器是一种强大的工具,可以用来在特定事件发生时自动执行复杂的数据库操作,从而实现数据一致性和业务逻辑的自动化。本文将深入探讨SQLite触发器的概念、用途、语法以及…

Python轻松打造:SQLite数据库入门与实战技巧揭秘

Python轻松打造:SQLite数据库入门与实战技巧揭秘

SQLite是一种轻量级的数据库,常用于存储和检索数据。它不需要服务器进程,只需一个单一的文件即可实现数据库的全部功能。Python内置了对SQLite的支持,使得使用SQLite变得非常简单。本文将带你入门SQLite数据库,并分享一些实战技巧。…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。