Android 数据库的创建、升级和数据的添加
来源:互联网 发布:用淘宝帐号贷款 编辑:程序博客网 时间:2024/05/27 20:59
一、数据库的创建和数据的添加:
1.创建MyDatabaseHelper类继承SQLiteOpenHelper:
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)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } //这个方法用来做数据库的创建 @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(CREATE_BOOK); Toast.makeText(mContext, "数据库创建成功", Toast.LENGTH_SHORT).show(); } //在这里做数据库的升级 @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL("drop table if exists Book"); onCreate(sqLiteDatabase); }}2、Activity的代码:
public class MainActivity extends AppCompatActivity { private MyDatabaseHelper mHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化MyDatabaseHelper的对象,传入你要创建的数据库的名称以及版本号 mHelper = new MyDatabaseHelper(this,"Book.db",null,1); } public void onClick(View view) { if (view != null) { switch (view.getId()){ //点击创建数据库 case R.id.activity_main_crate: mHelper.getWritableDatabase(); break; //点击添加数据 case R.id.activity_main_add: SQLiteDatabase database = mHelper.getReadableDatabase(); ContentValues values = new ContentValues(); //第一条数据 values.put("name","未知书名1"); values.put("author","未知1"); values.put("pages","245"); values.put("pice","30"); database.insert("Book",null,values); values.clear(); //第二条数据 values.put("name","未知书名2"); values.put("author","未知2"); values.put("pages","123"); values.put("pice","22"); database.insert("Book",null,values); break; } } }}3、XML文件的代码:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.example.zhangguangyi.sqldemo.MainActivity"> <Button android:id="@+id/activity_main_crate" android:onClick="onClick" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="创建数据库" /> <Button android:id="@+id/activity_main_add" android:onClick="onClick" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="添加数据" /></RelativeLayout>二、数据库的更新与升级:
1、MyDatabaseHelper类的代码
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)"; public static final String CREATE_CATEGORY ="create table Category(" + "id integer primary key autoincrement," +"category_name text,"+"category_code integer)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } //这个方法用来做数据库的创建 @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(CREATE_BOOK); sqLiteDatabase.execSQL(CREATE_CATEGORY); Toast.makeText(mContext, "数据库创建成功", Toast.LENGTH_SHORT).show(); } //在这里做数据库的升级 @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL("drop table if exists Book"); sqLiteDatabase.execSQL("drop table if exists category"); onCreate(sqLiteDatabase); }}2、Activity的代码(只是修改版本号,一定要大于原先的版本的号):
public class MainActivity extends AppCompatActivity { private MyDatabaseHelper mHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化MyDatabaseHelper的对象,传入你要创建的数据库的名称以及版本号 mHelper = new MyDatabaseHelper(this,"Book.db",null,2); } public void onClick(View view) { if (view != null) { switch (view.getId()){ //点击创建数据库 case R.id.activity_main_crate: mHelper.getWritableDatabase(); break; //点击添加数据 case R.id.activity_main_add: SQLiteDatabase database = mHelper.getReadableDatabase(); ContentValues values = new ContentValues(); //第一条数据 values.put("name","未知书名1"); values.put("author","未知1"); values.put("pages","245"); values.put("pice","30"); database.insert("Book",null,values); values.clear(); //第二条数据 values.put("name","未知书名2"); values.put("author","未知2"); values.put("pages","123"); values.put("pice","22"); database.insert("Book",null,values); break; } } }}3、XMl文件的中的代码不变,也可以视情况修改。
阅读全文
0 0
- Android 数据库的创建、升级和数据的添加
- 1.Android数据库的创建以及添加数据
- sqlite数据库的创建,升级和降级
- 2.1 SQLite数据库的创建和升级
- iOS---CoreData的创建和添加数据
- android数据库的升级
- 数据库的数据添加和查询
- SQLite数据库的创建及升级数据库
- Android 版本升级涉及到的数据库数据迁移问题
- 浅谈Android数据库版本升级及数据的迁移
- Android数据库ORMLite版本升级及数据的迁移
- Android数据库之创建和升级数据库(中)
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
- Android版本升级同时Sqlite数据库的升级及之前数据的保留
- gitlib 上传时出现error: src refspec master does not match any解决办法
- 数组循环移位 -逆序排列
- kotlin中private字段是否能生成getter和setter
- 【最简单】Electron 怎么将网页打包成桌面应用(web前端页面怎么生成exe可执行文件) 标签: 跨平台node.js桌面应用electronelectron-packager 2017-04-
- 2017年,开发prach preamble的小结
- Android 数据库的创建、升级和数据的添加
- poj 3268 && bzoj 1631: [Usaco2007 Feb]Cow Party(最短路)
- 嵌入式实时操作系统ucosii原理及应用(任哲)-- --阅读笔记1
- 浅谈广义线性回归
- Gradle build error, Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug
- 人脸识别 数据集 与竞赛
- 【清北学堂】number
- log4j.properties
- ZIP工具类