http://www.verycd.com/topics/2915669/

17_传智播客Android视频教程_创建数据库与完成数据添删改查

1.创建数据库

package com.wan;import android.content.Context;import android.database.DatabaseErrorHandler;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBOpenHelper extends SQLiteOpenHelper {    public DBOpenHelper(Context context) {        //context,文件名,游标(使用默认的游标工厂),数据库的版本号        super(context,"wan.db",null,1);//保存在 /data/data/<包民>/database/ 文件下    }    //数据库在第一次创建的时候调用的。创建完数据库文件后执行。这里一般是生成数据库表结构。    @Override    public void onCreate(SQLiteDatabase db) {        db.execSQL("create table person(id integer primary key autoincorement,name varchar(20))");    }    //数据库文件版本号发生变化的时候执行的。一般是添加字段,取出字段。    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        db.execSQL("Alter Table person Add phone varchar(12) null");    }}

这样就可以创建数据库和表了。

使用 sqlite expert professional 查看sqlite里面的数据和结构

数据库文件会在 /data/data/<包民>/database/

2.执行创建

@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        DBOpenHelper db =new DBOpenHelper(getApplicationContext());        db.getWritableDatabase();            }

在调用

        SQLiteDatabase r=db.getWritableDatabase();        SQLiteDatabase r1=db.getWritableDatabase();

执行两次得到的数据库是一个实例。

上面的方法,在数据库文件文件太大,就可能会报错。

3.更新、查询和分页

        //修改        r1.execSQL("update person set name =? , phone =?", new String[] {                "name", "891" });        //查询        Cursor cursor = r1.rawQuery("select * from person where id = ? ",                new String[] { "128" });        if (cursor.moveToFirst()) {            int id = cursor.getInt(cursor.getColumnIndex("id"));            String name =cursor.getString(cursor.getColumnIndex("name"));        }        //分页        Cursor cursorPage = r1.rawQuery("select * from person limit 100,50",null);

18_传智播客Android视频教程_在SQLite中使用事务

1.事务使用

        //开始事务        r1.beginTransaction();        r1.execSQL("update person set xxx=100 where id =1");        r1.execSQL("update person set yyy=100 where id =1");        //结束事务        r1.endTransaction();        //事务的提交或回滚是 由事务标志决定的,默认情况下为false。为True的时候提交,否则回滚

第18集完。

更多相关文章

  1. android 音频总结
  2. FregClient进程,创建一个BpFregService类型的代理对象
  3. android连接mysql数据库
  4. Android通过共享Uid实现两个应用间的数据库资源共享
  5. 一个Android健身APP源码(类似KEEP、FEEL、轻+、减约、薄荷等)
  6. 移动应用开发:如何创建自定义Android代码模板
  7. Android通讯录数据库介绍与基本操作(增删改查)
  8. Android数据库ORMlite框架翻译系列(第一章)
  9. Android(安卓)创建与解析XML(一)—— 概述

随机推荐

  1. android 图片处理 resize 探秘(图片缩放、
  2. Android工程下运行main方法的配置方法
  3. Android高手进阶教程(四)之----Android(
  4. 基于ARM Cortex-A8和Android(安卓)4.x的
  5. Android(安卓)root权限获取大揭秘
  6. Android学习札记49:在Android中使用Applic
  7. Android和设计模式:策略模式
  8. 单线程模型中Message、Handler、Message
  9. 面对Android的衰落,路在何方?
  10. android mvp模式讲解