SQLite数据库及在Android开发中的基本使用

显示该数据库中的创建操作


.schema 



在这里插入图片描述

查看数据表


.table



创建数据表(与SQL语言相同)


create table 表名(字段1 数据类型, 字段2 数据类型, ...);



在这里插入图片描述

SQL语言

SQL语言在这里都可以使用,如insert(),select,update()

在这里插入图片描述

SQLite在Android中的应用

=============================================================================

找到sqlite3.exe

1.打开Android Studio,右上方找到SDK Manager,打开并复制SDK的路径

在这里插入图片描述

2.在Sdk/platform-tools目录下可以找到SQLite数据库的运行文件 sqlite3.exe,然后跟上面步骤一样配置环境变量即可。

在这里插入图片描述

访问数据库

1.新建一个公共类继承自SQLiteOpenHelper,建好以后需要重写构造函数,以及onCreate()和onUpgrade()两个方法


public class MyOpenHelper extends SQLiteOpenHelper {

    //重写构造函数

    public MyOpenHelper(Context context){

        super(context, "taskDB.db", null,1);

        //taskDB.db为数据库名,若不存在则创建

    }



    @Override

    public void onCreate(SQLiteDatabase db) {

        String create_sql = 

            "create table task(id INTEGER PRIMARY KEY AUTOINCREMENT, content varchar(50), status int);";

        db.execSQL(create_sql);  //执行SQL语句

    }



    @Override

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {



    }

}



对数据库修改或插入


//新建MyOpenHelper实例,注意自己重新定义的构造函数的参数

MyOpenHelper openHelper = new MyOpenHelper(this);

//通过getWritableDatabase()创建用于写数据库的实例

SQLiteDatabase writableDatabase = openHelper.getWritableDatabase();



//新建ContentValues类,用来存放插入数据库的数据

ContentValues task_item = new ContentValues();

//ContentValues.put(key, value)  key需要与数据表的字段名对应

task_item.put("content", ((EditText) findViewById(R.id.Content)).getText().toString());

task_item.put("status",0);



//执行插入语句 writableDatabase.insert(数据表名, nullColumnHack, ContentValues)

//nullColumnHack通常为null

writableDatabase.insert("task", null, task_item);

//关闭数据库,减少内存资源浪费

writableDatabase.close();



读取数据库


public List<TaskItem> task_list = new ArrayList<>();



public void ReadDataBase(){

    MyOpenHelper openHelper = new MyOpenHelper(this);

    //创建SQLiteDatabase实例并获取ReadableDatabase

    SQLiteDatabase read_db = openHelper.getReadableDatabase();

    //使用ReadableDatabase中的游标

    Cursor cursor = read_db.query("task",new String[]{"id", "content", "status"},null,null,null,null,null);

    //使用while语句遍历游标Cursor,将从数据库获取的数据放进list列表中

    while(cursor.moveToNext()){

        TaskItem task_item = new TaskItem();

        //游标get方法传入的字段索引值是从0开始的

        task_item.setId(cursor.getInt(0));

        task_item.setContent(cursor.getString(1));

        task_item.setStatus(cursor.getInt(2));

        task_list.add(task_item);

    }



    //关闭游标和ReadableDatabase,减少内存资源浪费

    cursor.close();     

    read_db.close();   

}



class TaskItem {

    private int id;

    private String content;

    private int status;



    public int getId() {

        return id;

    }

    public String getContent() {

        return content;

    }

    public int getStatus() {

        return status;

    }

    public void setId(int id) {

        this.id = id;

    }

    public void setContent(String content) {

        this.content = content;

    }

    public void setStatus(int status) {



![在这里插入图片描述](https://img-blog.csdnimg.cn/20210511152217670.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaWd1aWd1,size_16,color_FFFFFF,t_70)

**感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:**



① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)


  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值