博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android存储方式之SQLite的使用
阅读量:6535 次
发布时间:2019-06-24

本文共 2694 字,大约阅读时间需要 8 分钟。

Android提供了五种存储方式,分别是文件、sharedPreference、网络、SQLite、ContentProvider。SQLite是一种轻型数据库,具有独立性、隔离性、跨平台、多语言接口、安全性等优点,目前应用较为广泛。现在主要说一下在Android中SQLite的使用。

首先,我新建一个数据库操作类DataBaseHelper,让他继承自SQLiteOpenHelper,然后复写其中的两个方法onCreate和onUpgrade。

1 package com.example.sqlitedb; 2  3 import android.content.Context; 4 import android.database.sqlite.SQLiteDatabase; 5 import android.database.sqlite.SQLiteDatabase.CursorFactory; 6 import android.database.sqlite.SQLiteOpenHelper; 7  8 public class DataBaseHelper extends SQLiteOpenHelper{ 9     10     private final static String DBName="sqlite3.db";11     private final static String TableName="city";12     private final static String firstname="provincial";13     private final static String lastname="number";14 15     public DataBaseHelper(Context context, String name, CursorFactory factory,16             int version) {17         super(context, DBName, factory, version);18         // TODO Auto-generated constructor stub19     }20 21     @Override22     public void onCreate(SQLiteDatabase db) {23         //创建表24         String sql=("CREATE TABLE"+TableName+"(INTEGER PRIMARY KEY AUTOINCREMENT,"+firstname+" VARCHAR, "+lastname+" SMALLINT)");25         db.execSQL(sql);26     }27 28     @Override29     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {30         // 删除表31         String sql = "DROP TABLE IF EXISTS " + TableName; 32         db.execSQL(sql);  }35 36 }

然后,使用sql语句来实现一些常用的SQLite的操作,具体如下:

1     @Override 2     public void onCreate(SQLiteDatabase db) { 3           //创建表 4           String sql="CREATE TABLE city (INTEGER PRIMARY KEY AUTOINCREMENT, provincial VARCHAR, number SMALLINT)"; 5           db.execSQL(sql); 6           //插入数据 7           //方法1:使用execSQL 8           String sql1="insert into city (firstname,lastname) values ('北京','20')"; 9           db.execSQL(sql1);10           //方法2:使用insert11           ContentValues cv=new ContentValues();12           cv.put("provincial", "天津");13           cv.put("number", 30);14           db.insert("city", null, cv);15           //修改数据16           //1.使用execSQL17           String sql2="update city set lastname = '25' where provincial='天津'";18           db.execSQL(sql2);19           //2.使用insert20           ContentValues cv1=new ContentValues();21           cv1.put("provincial", "北京");22           cv1.put("number", 30);23           db.insert("city", null, cv);24           //删除数据25           String sql3 = "delete from city where provincial='北京'";26           db.execSQL(sql3);27           //关闭数据库28           db.close();29     }

执行以上代码,会在/data/data/com.example.sqlitedb/databases目录下生成一个名为"sqlite3.db"的数据库文件。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/Birdmafly/p/3667759.html

你可能感兴趣的文章
storm笔记一
查看>>
awk 常用方法
查看>>
Android网络框架实现之【Retrofit+RxJava】
查看>>
Android文件的加密与解密
查看>>
Ubuntu查看目录树形结构
查看>>
OSChina 周二乱弹 ——人和人之间的关系用通话时间来表述
查看>>
OSChina 周六乱弹 ——通常他们这么修复的bug,我都接受不了
查看>>
Log4j 2使用教程
查看>>
SOAP webserivce 和 RESTful webservice 对比及区别
查看>>
安装apache
查看>>
JavaScript中DOM基础
查看>>
完全配置Python3+PyQt5+Eric6开发环境
查看>>
做产品的一些思考
查看>>
Cookie编程问题及Base64中文编码问题
查看>>
外媒报道电子垃圾被运入中国
查看>>
消失的博文
查看>>
[Modules]Batch Add Products Attributes - 批量增加产品属性
查看>>
如何在Github Pages搭建自己写的页面?
查看>>
2012年我的十大工程3——财政工程
查看>>
协程遇到io自动切换
查看>>