OpenOrCreateDatabase与SQLiteOpenHelper区别
来源:互联网 发布:阿里云怎么赚钱 编辑:程序博客网 时间:2024/06/08 06:05
今天看Android视频,看到讲SQLite数据库里建库的方法,看到播主用的是OpenOrCreateDatabase方法,格式为
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SQLiteDatabase sql=OpenOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);//第一个参数是数据库名,第二个是MODE模式,有私有,可读,可写,第三个是查询时游标实例化的一个工程类Cursor。
树上郭神的方法是创建一个MyDatabaseHelper类去继承自带的SQLiteOpenHelper类,然后在Activity里private一个自定义类dbHelper,具体代码如下
public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_BOOK = "create table book(" +"id integer primary key autoincrement," +"author text," +"price real," +"pages integer," +"name text)"; @Override public void onCreate(SQLiteDatabase db){ db.execSQL(CREATE_BOOK); db.execSQL(CREATE_CATEGORY); Toast.makeText(mContext, "创建完成", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ db.execSQL("drop table if exists Book"); db.execSQL("drop table if exists Category"); onCreate(db); }}Activity里的代码如下
public class MainActivity extends AppCompatActivity { private MyDatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper=new MyDatabaseHelper(this,"BookStore.db",null,3);}}在SQLiteOpenHelper里有两个构造方法可以重写,参数为四个,第一个参数是Context,第二个是数据库名,第三个参数允许我们在查询数据时返回一个自定义的Cursor,一般都是null,第四个参数就是当前数据库的版本号,用于对数据库的升级,构建实例后再调用getReadableDatabase()或者getWriteableDatabase()就可以创建数据库了
Button button=(Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { dbHelper.getWritableDatabase(); } });其实看源码也可以搞清楚两种方法区别,具体的看这位大神的解释http://blog.csdn.net/wangqilin8888/article/details/7903048
1 0
- OpenOrCreateDatabase与SQLiteOpenHelper区别
- Context与SQLiteDatabase的方法openOrCreateDatabase的区别 (context、SQLiteOpenHelper)
- Context与SQLiteDatabase的方法openOrCreateDatabase的区别 (context、SQLiteOpenHelper)
- 梳理SQLiteDatabase、openOrCreateDatabase、context、SQLiteOpenHelper
- 梳理SQLiteDatabase、openOrCreateDatabase、context、SQLiteOpenHelper 源码追踪
- Context与SQLiteDatabase的方法openOrCreateDatabase的区别是什么
- NullPointerException openOrCreateDatabase
- android openOrCreateDatabase
- SQLiteOpenHelper
- SQLiteOpenHelper
- SQLiteOpenHelper
- SQLiteOpenHelper
- SQLiteOpenHelper
- SQLiteOpenHelper
- SqliteOpenHelper
- SQLiteOpenHelper
- SQLiteOpenHelper
- SQLiteOpenHelper
- Android下的数据保存、文件读写以及访问模式
- ViewPager高度自适应?height=wrap_content 无效、固定高度适配性差
- CSP的今世与未来
- 关于MAVEN 问题
- C++中#pragma pack(N)的用法
- OpenOrCreateDatabase与SQLiteOpenHelper区别
- javaScript JSON
- 安卓Handler详解
- jsp获得BASEURL
- android的消息处理机制——Looper,Handler,Message
- redis学习 第三章 5种数据类型----sorted set类型
- c++系列文章序
- 2016区域赛前补题训练
- 计算字符串种子串出现的个数