调用类:

package com.yuncai.menjin.sqlitedemo;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        createMyDb(this,"MyDB.db",1);// 想要升级,必须传递比之前传递的version更大的值    }        /**     * 创建数据库     * @param context     * @param dbName 数据库名称     * @param version 数据库本版号     */    private void createMyDb(Context context,String dbName,int version) {        MyDbHelper myDbHelper = new MyDbHelper(context,dbName, version);        SQLiteDatabase db = myDbHelper.getWritableDatabase();        // 插入数据操作//        ContentValues values = new ContentValues();//        values.put("content","this is content");//        db.insert("my_tab",null,values);    }}

工具类:

package com.yuncai.menjin.sqlitedemo;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;/** * Function:数据库工具类 * Created by TianMing.Xiong on 18-9-21. */public class MyDbHelper extends SQLiteOpenHelper {    /**     *     * @param context     * @param name 数据库名称     * @param version 数据库本版号     */    public MyDbHelper(Context context, String name,int version) {        super(context,name,null,version,null);    }    /**     * 当数据库初次创建的时候调用此方法,可以初始化一些表格     * @param db 数据库操作对象     */    @Override    public void onCreate(SQLiteDatabase db) {        Log.e("====","创建数据库成功,并初始化了表my_tab");        db.execSQL("create table my_tab(_id integer primary key autoincrement,content text)");    }    /**     * 当apk升级后发现version值变大的时候,执行此方法,并通过newVersion这个参数把当前版本值传过来     * @param db 数据库操作对象     * @param oldVersion apk升级前的version值     * @param newVersion apk升级后的version值     */    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        Log.e("====","onUpgrade"+",old:"+oldVersion+",new:"+newVersion);        // 此处为version=4的时候,创建my_tab1这张新的表        if(newVersion==4){            Log.e("==========","创建了新的表格:my_tab1");            db.execSQL("create table my_tab1(_id integer primary key autoincrement,name text)");        }    }}

关于数据库事务的补充:

数据库安全:

推荐写法:

SQLiteStatement statement = database.compileStatement(sql);
statement.bindXxx(x,xx);
int rowID = statement.executeXxx();

 

事务简单三部曲:

1.

database.beginTransaction();

2.

database.setTransactionSuccessful();

3.

database.endTransaction();

 

 

更多相关文章

  1. android 创建快捷方式
  2. android之File文件简单操作
  3. Android(安卓)中 上下文Context理解
  4. Android(安卓)Room 数据库
  5. 【Android】使用代码动态创建布局
  6. android 创建快捷图标demo
  7. android数据库操作
  8. Android(安卓)读取doc文件
  9. sqlit导入外部数据库查找数据方法

随机推荐

  1. Android(安卓)控件之ImageSwitcher图片切
  2. Android通过泛型来简化findViewById
  3. Android(安卓)Fragment回退栈的使用
  4. 【Android(安卓)初学】9、Activity生命周
  5. Android(安卓)Vibrator开启振动功能
  6. android计数器——基础编
  7. android 线程更新view及数据传送
  8. OnConfigurationChanged 配置变化。 屏幕
  9. ActivityLaunchMode
  10. Android中的选项菜单(OptionMenu)使用案例