Android SQLite数据库相关知识
2015-12-03 14:19
681 查看
学习笔记。 我随意写,你随意看
参考书:《第一行代码》一、如何创建数据库?
直接上项目:点击按钮生成一个BookStore数据库
1、新建一个Android工程,新建MyDatabaseHelper类
public class MyDatabaseHelper extends SQLiteOpenHelper { // 将SQL建表语句定义成一个字符串常量,这里不懂先记住写法 // integer=整型;real=浮点型;text=文本类型;blob=二进制类型; 用primary key将id列设为主键,并用autoincrement关键字表示id列是自增长的 public static final String CREATE_BOOK = "create table Book (" + "id integer primary key autoincrement, " + "author text, " + "price real, " + "pages integer, " + "name text)"; public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } // 下面两个重写方法必不可少,在onCreate中实现创建数据库,在onUpgrade中实现升级数据库 @Override public void onCreate(SQLiteDatabase db) { // 调用SQLiteDatabase的execSQL方法执行建表语句 db.execSQL(CREATE_BOOK); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
2、修改activity_main.xml中代码(放置一个Button,id为create_database)
3、最后修改MainActivity.java中代码
public class MainActivity extends Activity { private Button createDatabase; private MyDatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 构建一个MyDatabaseHelper对象,通过构造函数给数据命名,版本号指定为1,第三个参数一般为null dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 1); createDatabase = (Button) findViewById(R.id.create_database); createDatabase.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 调用getWritableDatabase方法,第一次点击会检测到程序中没有BookStore.db数据库,于是会创建数据库,并调用MyDatabaseHelper中onCreate方法执行其中建表语句 // 再次点击按钮调用getWritableDatabase方法时会发现程序中已经有了BookStore.db数据库,因此不会再创建一次 dbHelper.getWritableDatabase(); } }); } } // getReadableDatabase()和getWritableDatabase()这两个方法都可以创建或打开一个现有的数据库,并返回一个SQLiteDatabase对象,通过这个对象可对数据库进行读写操作。 // 这两个方法的区别,当数据库不可写入时,getReadableDatabase()方法返回的对象以只读的方式去打开数据库,而getWritableDatabase()方法将出现异常。
4、如何验证数据是否建立成功?使用adb shell来对数据库和表的创建情况进行检查。
这里adb使用参考:/article/10752113.html
相关文章推荐
- android 高斯模糊实现
- android 高斯模糊实现
- android 高斯模糊实现
- Android 获取无线蓝牙MAC信息代码
- imx6 android 5.0 权限修改
- Android中JNI编程详解
- Android异步消息框架
- 【转载】Android样式的开发:selector篇
- 在安装Android Studio之后,启动时报错:Argument for @NotNull parameter 'name' of com/android/tools/idea/
- android控件获取屏幕坐标
- Android比iOS卡得原因和本质区别总结
- 关于RecyclerView使用报错Didn't find class "android.support.v7.recyclerview.R$styleabl
- Android 5.0新特性,共享元素及RevealAnimator实现华丽的详情页面
- Android 常用开发工具以及 Mac 常用软件
- android for循环创建列表
- Android 自定义字体,字替换为图片
- android AndroidManifest.xml中android:process标签说明
- Android 动画-----补间动画
- 关于android图片混合示例
- 【转载】Android样式的开发:shape篇