调用类:

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 Room 数据库
  4. android数据库操作
  5. sqlit导入外部数据库查找数据方法
  6. Android(十):屏幕相关操作
  7. js 判断当前操作系统是ios还是android还是电脑端
  8. Android通过onDraw实现在View中绘图操作
  9. Android使用SQLite数据库(1)

随机推荐

  1. Android input输入设备键值从底层到应用
  2. android直接读取项目中的sqlite数据库
  3. 【Flutter】认识目录结构
  4. android UI秘笈
  5. Android 资源,国际化,自适应
  6. 为什么我喜欢android
  7. Android 要注意的内存占用问题
  8. Android中配置和使用Google Map服务
  9. Android WindowManager与窗口管理
  10. 《Android4游戏编程入门经典》读后感