• Android基础------SQLite数据库(一)


    1.SQLite介绍

    SQLite是一款非常流行的嵌入式数据库,它支持SQL操作,并且只用很少的内存。

    Android在运行时集成了SQLite,所有每个Android应用程序都可以使用SQLLite数据库。

    对熟悉SQL的开发人员来说,使用SQLite相当简单。

    支持数据类型
    null、integer、real、text、blob

    2.使用SQLite

    首次使用SQLite需要创建数据库和表,以及一些初始化数据。

     Android提供了抽象类SQLiteOpenHelper完成此类功能。

    2.1  SQLiteOpenHelper中的方法

      onCreate(SQLiteDatabase db)  //第一次创建数据库时被调用,比如表只需要创建一次,那么这个执行语句就可以写在onCreate()里面

      onUpgrade(SQLiteDatabase db,int arg1,int arg2)  //系统发现现有数据库版本不同,即会被调用

    新建一个类,继承SQLiteOpenHelper,同时实现onCreate()和onUpgrade()方法,以及一个构造方法


    public
    class MyOpenHelper extends SQLiteOpenHelper { /** * * @param context 上下文 * @param name 数据库文件名称 * @param factory 如果为null则使用默认方式 * @param version 版本号,后期可以修改,但只能往上升,不能往下降 */ public MyOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, 1); } /** * 当数据库文件不存在的时候,创建数据库文件,并且是第一次使用 * @param sqLiteDatabase */ @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { Log.i("onCreate","调用onCreate"); } /** * 只有版本更新时调用 * @param sqLiteDatabase * @param i 旧版本号 * @param i1 当前版本号 */ @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { Log.i("onUpgrade","调用onUpgrade"); } }

    (在android系统中,每个应用程序的SQLite数据库都被保存在各自的/data/data/<包名>/databases目录下,默认情况下,都是私有的,仅允许当前应用程序访问。)

    activity_main.xml中加个按钮:

     <Button
            android:id="@+id/button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="创建数据库"
            android:onClick="test_01"/>

    MainActivity:

     public void test_01(View view){
            //实例化
            MyOpenHelper myOpenHelper = new MyOpenHelper(this,"mybase.db",null,1);
            //获取一个SQLiteDatabase对象
            SQLiteDatabase sqLiteDatabase = myOpenHelper.getReadableDatabase();
            //sql语句,暂时忽略不写
            String sql = "  ";
            //执行sql语句
            sqLiteDatabase.execSQL(sql);
            //关闭
            sqLiteDatabase.close();
            myOpenHelper.close();
        }

    2.2  SQLiteDatabase对象说明

    2.2 1  通过此对象就可以调用SQLiteDatabase的方法来进行数据库操作,例如创建表、插入数据、删除数据等操作。

    2.2.2  获取SQLiteDatabase对象的方法

    getWritableDatabase()   //以读写的方式打开数据库,一旦磁盘空间满了,数据库就只能读不能写,倘若再次打开数据就会报错

    getWritableDatabase()  //先以读写的方式打开数据库,如果磁盘满了就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。

    (SQLiteDatabase既代表了与数据库的连接,又能执行sql语句)

  • 相关阅读:
    paip.提升安全性时间判断
    paip.提升安全性本机硬件绑定
    paip.提升性能服务器环境及编程语言架构选择
    paip.提升用户体验提示语
    paip.提升效率输入框不能粘贴的问题
    paip.银联支付接口订单号uuid算法
    paip.Net Framework各个版本的功能不同总结
    Answer 3.0 .NET开源网站功能API说明
    Paip.YXSHOP易想商场功能模块说明
    paip.提升效率文件搜索工具总结
  • 原文地址:https://www.cnblogs.com/jyiqing/p/8029602.html
Copyright © 2020-2023  润新知