Sqlite:

1.一款用来实现本地数据存储的轻量级数据管理工具,是众多用来实现数据库管理的工具之一。

2.Android已经将SQLite的代码功能吸收在它的系统中,我们可以直接在Android程序中使用SQLite的语句来创建数据库,并实现数据库的增删查改

SQLite的简单使用方法:

如何获得一个数据库的class模板,并设定数据库里的数据结构:

自己新建一个类,继承SQLiteOpenHelper,并重写构造方法,oncreate(),onUpgrade()

自定义类的代码实现方法和构造方法的原始模板解析:

public class Database extends SQLiteOpenHelper {
public Database(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
     //Context
     //String name "创建数据库的名字"
     //SQLiteDatabase.CursorFactory factory "在数据库中查找是的光标(相当于数组中的下标)"
     // int Version "数据库的版本信息"  
    }

    @Override
public void onCreate(SQLiteDatabase db) {
      //在创建数据库的时候调用
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
      //每次启动数据库会检测数据库的版本信息,如果版本有变动就会执行此方法
}
}

用来实现数据库的自定义类的具体代码:

public class Data extends SQLiteOpenHelper

public Data(Context context) {

    //简单起见,直接指定了数据库的名字为DATA,光标信息为null,版本为1
    //所以在自定义的类的构造方法中只有Context参数
    //在调用父类构造方法的时候,给定固定的参数来简化数据库创建
super(context,"DATA", null, 1);
} @Override
public void onCreate(SQLiteDatabase db) {
      //创建数据库建构内容的语句,具体解析在下文整理
db.execSQL("CREATE TABLE user("+
"_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name TEXT DEFAULT \"\"," +
"sex TEXT DEFAULT \"\")");
    //以上的语句给出了一个名为user的数据库结构对象,里面包含INTERGER类型的_id信息,并自增
    //TEXT数据类型的name
    //text数据类型的sex
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
      //由于给出了版本参数信息为固定的1,所以不会执行数据库更新操作
}
}

自己重写了数据库的模板后,如何实现数据库的使用和管理:

1.利用自定义的数据库类来新建一个数据库对象,

2.再通过新建的数据库得到可读的数据库对象和可写的数据库对象,

新建ContentValues对象向获得的可写数据库中添加内容,实现代码:

Private Data data = new Data(this);
private SQLiteDatabase dbWriter = db.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("name",etName.getText().toString());
cv.put("sex",etSex.getText().toString());
//insert方法的三个参数的意义分别是:插入数据表的名称,插入数据表的位置信息,插入的对象
 dbWriter.insert("user",null,cv);
//每次使用完数据库之后,记得关闭数据库,类似I/O的关闭 
dbWrite.close();

注:位置信息这里填的是null,具体运行方式尚不清楚,但看到这里的时候,有时间去研究一下

通过获得的可读数据库对象,在目标数据库中进行查找的方法实现代码:

SQLiteDatabase DB = db.getReadableDatabase();
//新建一个光标对象,指明在“user”数据表中查找,后面的参数是一系列限制条件,
//全部为null意味输出所有user中的数据
Cursor c = DB.query("user",null,null,null,null,null,null);
//当光标仍然能够向下一行运行的时候,执行数据库的读取操作
while (c.moveToNext()){
String name=c.getString(c.getColumnIndex("name"));
String sex=c.getString(c.getColumnIndex("sex"));
Toast.makeText(getApplicationContext(),name+"--"+sex,Toast.LENGTH_SHORT).show();
}

SQLite在Android程序中的使用方法,SQLite的增删查改方法的更多相关文章

  1. 在Android程序中使用已有的SQLite数据库

    已经将这篇文章迁移至 Code问答,你也能够到这里查看这篇文章,请多多关注我的新技术博客CodeWenDa.com 在中文搜索中,没有找到一篇比較好的关于怎样在Android应用中使用自己事先创建好的 ...

  2. SSH框架的多表查询(方法二)增删查改

     必须声明本文章==>http://www.cnblogs.com/zhu520/p/7773133.html  一:在前一个方法(http://www.cnblogs.com/zhu520/p ...

  3. python下sqlite增删查改方法(转)

    sqlite读写   #coding=utf-8 import sqlite3 import os #创建数据库和游标 if os.path.exists(' test.db'): conn=sqli ...

  4. 如何在Vue中使用Mockjs模拟数据的增删查改

    之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...

  5. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  6. 4.在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

  7. 5.在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  8. 在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  9. 在MVC中使用泛型仓储模式和依赖注入实现增删查改

    标签: 原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository ...

随机推荐

  1. python自学第12天 模块定义,导入,内置模块

    1.定义模块:用来从逻辑上组织python代码(实现一个功能),本质是.py结尾的python 包:本质就是一个目录(必须带有一个_init_.py文件)2.导入方法import module_nam ...

  2. L2-005. 集合相似度(STL)*

    L2-005. 集合相似度 参考博客 #include<cstdio> #include<set> #include<cstdlib> using namespac ...

  3. 【leetcode】455. Assign Cookies

    problem 455. Assign Cookies solution1: But, you should give each child at most one cookie. 对小朋友的满意程度 ...

  4. MP和OMP算法

    转载:有点无耻哈,全部复制别人的.写的不错 作者:scucj 文章链接:MP算法和OMP算法及其思想 主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Matchi ...

  5. 百战程序员-xml

    1.用自己的语言说出,为什么需要XML? XML 是一种元标注语言,该语言提供一种描述结构数据的格式.这有助于更精确地声明内容,方便跨越多种平台的更有意义的搜索结果.此外,XML 将起用新一代的基于 ...

  6. js封装选项卡

    <div class="forestcamp_box"> <img src="img/home_02.jpg" /> <div c ...

  7. 内存溢出eclipse启动tomcat

    1.在eclipse中的Window->preferences->Java->install jar->选择JDK,然后在点击Edit,在Default VM argument ...

  8. 运行gunicorn失败:[ERROR] Connection in use: ('0.0.0.0', 8000)

    参考:https://pdf-lib.org/Home/Details/5262 执行命令:gunicorn -w 4 -b 0.0.0.0:8000 wsgi:app,遇到如下错误: [2019-0 ...

  9. mysql下载以及安装

    因为xampp怎么都连接不上mysql,我感觉有可能是因为装mysql的时候试了很多次才安装成功,之前的mysql没有卸载干净造成的,今天把mysql卸载干净,又重新安装配置环境,但是还是连接不上,然 ...

  10. Fabric的@runs_once的理解

    1:runs_once的用法,一直没理解,我看网上都是说:“函数修饰符,标识的函数只会执行一次,不受多台主机影响”     实在没理解,然后看了一下官方文档,这样解释     举个例子: #!/usr ...