当前位置:首页 > 笔记

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

花晨月夕3个月前 (03-22)笔记1260
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://www.856syz.top/?id=73

分享给朋友:

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

nginx服务器,安装配置详解

nginx服务器,安装配置详解

一、Nginx 安装指南1. Ubuntu/Debian 系统安装bash# 更新包索引sudo apt update# 安装 Nginxsudo apt install nginx# 启动 Ngin…

PHP延时注入:如何轻松检测与防范,守护网站安全!

PHP延时注入:如何轻松检测与防范,守护网站安全!

PHP作为一款广泛使用的开源服务器端脚本语言,在网站开发中扮演着重要角色。然而,PHP的某些特性可能导致安全漏洞,其中延时注入(Time-based SQL Injection,简称TISQL)就是其中之一。本文将深入探讨PHP延时注入的原理、检测方法以及防范措施,帮助开发者更好地守护网站安全。…

PHP防注入模块:轻松守护网站安全,告别SQL漏洞烦恼

PHP防注入模块:轻松守护网站安全,告别SQL漏洞烦恼

随着互联网的快速发展,网站安全问题日益凸显。其中,SQL注入攻击是常见的网络攻击手段之一,它能够导致数据泄露、网站瘫痪等严重后果。PHP作为一种广泛使用的服务器端脚本语言,其安全性一直是开发者关注的焦点。本文将深入探讨PHP防注入模块,帮助开发者轻松守护网站安全,告别SQL漏洞烦恼。…

PHP SQL注入漏洞:学会防范,守护你的数据安全

PHP SQL注入漏洞:学会防范,守护你的数据安全

随着互联网的普及和Web应用的发展,SQL注入攻击已经成为一种常见的网络安全威胁。PHP作为Web开发中广泛使用的编程语言之一,其SQL注入漏洞也引起了广泛关注。本文将深入探讨PHP SQL注入漏洞的原理、防范方法以及如何守护你的数据安全。…

PHP网络验证注入:如何破解常见漏洞,确保你的网站安全无忧

PHP网络验证注入:如何破解常见漏洞,确保你的网站安全无忧

随着互联网的普及,网站数量呈爆炸式增长。然而,随之而来的是网络安全问题的日益突出。其中,PHP网络验证注入漏洞是网络安全领域的一大隐患。本文将深入探讨PHP网络验证注入的常见漏洞,并提供相应的破解方法,帮助开发者确保网站安全无忧。…

发表评论

访客

看不清,换一张

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