Android SQLite数据库使用示例
来源:互联网 发布:如何理财 知乎 编辑:程序博客网 时间:2024/05/20 03:08
支持的 数据类型有 null,integer,float,double,long,text,char ,varchar,date,time,timestamp(时间戳)等等
char的长度是不可变的,而varchar的长度是可变的,也就是说,定义一个char[10]和varchar[10],如果存进去的是‘csdn’,那么char所占的长度依然为10,除了字符‘csdn’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的
参考点击打开链接
继承 SQLiteOpenHelper
//如果数据库文件不存在,只有onCreate()被调用(该方法在创建数据库时被调用一次)。// 如果数据库文件存在,且创建SQLiteOpenHelper 对象指定版本高于已有版本时,// 会调用onUpgrade()方法升级数据库,并更新版本号。public class DataBaseHelper extends SQLiteOpenHelper { private Context context; private String name;//数据库名字 private static final int VERSION = 1; public DataBaseHelper(Context context, String name) { this(context, name, VERSION); } public DataBaseHelper(Context context, String name, int version) { this(context, name, null, version); } public DataBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } //SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据 @Override public void onCreate(SQLiteDatabase db) { //execSQL用于执行SQL语句 //if not exists,如果不存在就创建 //id integer primary key autoincrement,id 主键自增长 //user(id integer primary key autoincrement,name varchar(20)),表名字段类型 db.execSQL("create table if not exists " + "user(id integer primary key autoincrement,name varchar(20),age integer)"); } //三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
//sqlite 使用 private void sqlite() { DataBaseHelper dataBaseHelper = new DataBaseHelper(this, "text1"); SQLiteDatabase db = dataBaseHelper.getWritableDatabase(); doInsert(db); doDelete(db); doUpdate(db); doQuery(db); } private void doInsert(SQLiteDatabase db) { //插入 数据,null代表id自增长 db.execSQL("insert into person values(null, ?)", new Object[]{"小明"}); //另一种 方式 ContentValues values = new ContentValues(); values.put("name", "小明"); //第一个参数是表名, // 第二个参数通常都用不到,直接传null, // 第三个参数则是一个封装了待存储数据的 long id = db.insert("person", null, values); } private void doDelete(SQLiteDatabase db) { //删除数据 db.execSQL("delete from person where age=?", new Object[]{""}); //另一种 方式 db.delete("person", "age=?", new String[]{null}); } private void doUpdate(SQLiteDatabase db) { //修改数据 db.execSQL("update person set name=小米 where id=2"); //另一种 方式 ContentValues contentValues = new ContentValues(); contentValues.put("name", "小米"); db.update("person", contentValues, "id=?", new String[]{"2"}); } private void doQuery(SQLiteDatabase db) { //android 中通过query获取cursor进行查询 //获取查询游标 Cursor cursor = db.query("person", new String[]{"id", "sname", "sage", "ssex"}, "id=?", new String[]{"1"}, null, null, null); while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex("name")); String age = cursor.getString(cursor.getColumnIndex("age")); } //关闭 查询游标 cursor.close(); }
0 0
- Android SQLite数据库使用示例
- Android SQLite数据库使用示例
- Android数据库SQLite的使用示例
- Android数据库SQLite的使用示例
- Android数据库SQLite的使用示例
- Android SQLite数据库操作示例
- Android SQLite 简单使用示例
- Android中SQLite使用示例
- Android 使用SQLite数据库
- Android 使用SQLite数据库
- Android 使用SQLite数据库
- Android使用SQlite数据库
- Android 使用SQLite数据库
- Android使用SQlite数据库
- Android 使用数据库SQLite
- Android SQLite数据库使用
- Android SQLite数据库使用
- Android 使用数据库 SQlite
- centos7下创建桌面图标的方法
- Android项目中Bluetooth类如何写
- jQuery学习笔记2 —— jQuery选择器
- caffe学习笔记9-train_val.prototxt学习
- freesshd:the specified address is already in use
- Android SQLite数据库使用示例
- 强制刷新
- java中值传递还是引用传递探究
- Hibernate中,mappedBy和注解@JoinColumn的对比
- 卷积神经网络(CNN)前向传播算法
- __elv_add_request
- MySQL数据库数据操作
- 机器学习之问题描述——聚类Clustering
- maven+spring mvc环境搭建xml版(无web.xml,maven jetty插件运行)