SQLite简介

    SQLite数据库存储是android系统提供的数据存储方式之一,

    SQLite是专门为嵌入式设备设计的一款轻量级数据库,SQLite占用资源低,SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB;

    遵循数据库的ACID事务 SQLite是android系统自带;

    不需要单独安装,不需要用户名密码就可以使用

SQLiteDatabase的介绍

Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。在 Android的SDK目录下有sqlite3工具,我们可以利用它创建数据库、创建表和执行一些SQL语句。下面是SQLiteDatabase的常用 方法。 


SQLiteDatabase的常用方法 

方法名称 方法表示含义
openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory  factory) 打开或创建数据库
insert(String table,String nullColumnHack,ContentValues  values) 插入一条记录
delete(String table,String whereClause,String[]  whereArgs) 删除一条记录
query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy) 查询一条记录
update(String table,ContentValues values,String whereClause,String[]  whereArgs) 修改记录
execSQL(String sql) 执行一条SQL语句
close() 关闭数据库


用法:

s1.新建类继承SQLiteOpenHelper新建一个类(类名自定义),继承SQLiteOpenHelper,并实现构造方法、重写oncreate和onupgrade方法。

import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * Created by hufhu on 2018/3/9. */public class DBHelper extends SQLiteOpenHelper {    private static String name = "test.db";    private static int version = 1;    private static String TABLE_TEST_SQL = "create table book(id integer primary key autoincrement," +            "name varchar(32),price real)";    public DBHelper(Context context) {        super(context, name, null, version);    }    @Override    public void onCreate(SQLiteDatabase db) {        db.execSQL(TABLE_TEST_SQL);    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    }}

s2.创建SQLiteDatabase对象

1、只读模式

?
1 SQLiteDatabase  sqldb = dbhelper.getReadableDatabase();

2、读写模式

?
1 SQLiteDatabase  sqldb = dbhelper.getWritableDatabase();

s3.通过实现增删改查操作

 private SQLiteDatabase dataHelper = null;    /**     * 数据库追加     * @param view     */    public void addDb(View view) {        if(null == dataHelper){            DBHelper helper = new DBHelper(MainActivity.this);            dataHelper = helper.getWritableDatabase();        }        dataHelper.execSQL("insert into book(name,price) values(\"新华词典\",20.12)");    }    /**     * 数据库删除     * @param view     */    public void delDb(View view) {        if(null == dataHelper){            DBHelper helper = new DBHelper(MainActivity.this);            dataHelper = helper.getWritableDatabase();        }        dataHelper.execSQL("delete from book");    }    /**     * 数据库修改     * @param view     */    public void updDb(View view) {        if(null == dataHelper){            DBHelper helper = new DBHelper(MainActivity.this);            dataHelper = helper.getWritableDatabase();        }    }    /**     * 数据库查询     * @param view     */    public void queryDb(View view) {        if(null == dataHelper){            DBHelper helper = new DBHelper(MainActivity.this);            dataHelper = helper.getWritableDatabase();        }        Cursor cursor = dataHelper.rawQuery("select * from book",null);        while (cursor.moveToNext()){            Integer id = cursor.getInt(0);            String name = cursor.getString(cursor.getColumnIndex("name"));            Double price =  cursor.getDouble(cursor.getColumnIndex("price"));            Log.i("db:","---start----");            Log.i("db:","id:"+id+"name:" + name + " price:" + price);            Log.i("db:","---end----");        }    }





更多相关文章

  1. android消息机制(handler运行机制)解析
  2. android实现gif图与文字混排
  3. android进行异步更新UI的四种方式
  4. android 本地数据库
  5. android Handler,Looper,Message三者关系
  6. Android(安卓)MediaPlayer使用注意
  7. Fragment的添加方法总结
  8. Android(安卓)Service的onRebind方法调用时机
  9. Android中使用事件总线的优缺点

随机推荐

  1. CheckBox自定义样式
  2. android中IO操作数据总结
  3. Android在自己的程序中调用外部程序
  4. 【Android】播放视频的简易播放器源码
  5. [Linux][Android] Analyzing Memory Usag
  6. Android录制视频,可限制时长,限大小
  7. Installing the Eclipse Plugin
  8. android显示gif图片
  9. Android(安卓)studio中音频播放与进度条
  10. android 电池状态获取