一. sqlite数据库 - 什么情况下使用数据库:有大量相似结构数据的时候 - SQLiteOpenHelper:抽象的类,用来管理数据库的创建及版本的更新

  1. 创建一个类继承SQLiteOpenHelper
public class MyOpenHelp extends SQLiteOpenHelper {
    //    参数:context上下文、name数据库名称、factory创建结果集cursor对象类似resultset、version数据库版本编号从1开始
    public MyOpenHelp( Context context) {
        super(context,"mydb.db", null, 1);
    }

    public MyOpenHelp(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    //当数据库第一次创建的时候调用这个方法,特别适合做表结构初始化
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
//        可以进行增删改查
        sqLiteDatabase.execSQL("create table info(" +
                "_id integer primary key autoincrement," +
                "name varchar(20)" +
                ")");
    }

    //   当数据库版本升级的时候调用,适合做表结构的更新、只能升级不能降级
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

  1. 在主界面调用``public class MainActivity extends AppCompatActivity {

    @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);MyOpenHelp myOpenHelp = new MyOpenHelp(this);// 如果是第一次使用就是创建数据库,如果不是第一次就是打开数据库只读数据库和可写数据库区别是如果磁盘满了会返回一个只读的数据库// SQLiteDatabase writableDatabase = myOpenHelp.getReadableDatabase();SQLiteDatabase writableDatabase = myOpenHelp.getWritableDatabase();

    }}``

09-26 03:11