sqlite模板

DbOpenHelper

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DbOpenHelper extends SQLiteOpenHelper {
    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "QuYi";
    private static DbOpenHelper instance;


    private static final String CLIENT_TABLE_CREATE = "CREATE TABLE " + BookDao.TABLE_NAME
            + " ("
            + BookDao.ID + " INTEGER " + " PRIMARY " + " KEY " + " autoincrement ,"
            + BookDao.COLUMN_NAME_BOOKID + " INTEGER " + "  ,"
            + BookDao.COLUMN_NAME_BOOKNAME + " TEXT, "
            + BookDao.COLUMN_NAME_BOOKIMG + " TEXT, "
            + BookDao.COLUMN_NAME_USERID + " TEXT, "
            + BookDao.COLUMN_NAME_TYPE + " TEXT, "
            + BookDao.COLUMN_NAME_BOOKPATH + " TEXT );";

    public DbOpenHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    public static DbOpenHelper getInstance(Context context) {
        if (instance == null) {
            instance = new DbOpenHelper(context.getApplicationContext());
        }
        return instance;
    }
    /**
     * 这个方法是在数据库第一次被创建的时候调用的
     */
    @Override
    public void onCreate(SQLiteDatabase db) {
        //SQLiteDatabase这个类,封装了增删改查操作,也叫做数据库操作实例
        db.execSQL(CLIENT_TABLE_CREATE);
    }
    /**
     * 当数据库的版本号变更的时候被调用
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }
    public void closeDB() {
        if (instance != null) {
            try {
                SQLiteDatabase db = instance.getWritableDatabase();
                db.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            instance = null;
        }
    }

}

BookDao

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import com.bsa.www.bsaAssociatorApp.bean.BookInfo;

import java.util.ArrayList;

public class BookDao {

    public static final String TABLE_NAME = "Bookself";
    public static final String ID = "Id";
    public static final String COLUMN_NAME_BOOKID = "BookId";
    public static final String COLUMN_NAME_BOOKNAME = "BookName";
    public static final String COLUMN_NAME_BOOKIMG = "Bookimg";
    public static final String COLUMN_NAME_BOOKPATH = "BookPath";

    public static final String COLUMN_NAME_USERID = "UserId";
    public static final String COLUMN_NAME_TYPE = "type";
//    public static final String COLUMN_NAME_WEIBO = "WeiBo";
//    public static final String COLUMN_NAME_STATE = "State";
//    public static final String COLUMN_NAME_Bookimg = "Bookimg";

    public DbOpenHelper dbHelper;

    public BookDao(Context context) {
        dbHelper = DbOpenHelper.getInstance(context);
    }

    //修改
    public void updateBook(String BookId, String BookName, String Bookimg, String BookPath) {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        if (db.isOpen()) {

            db.execSQL("update Bookself set BookName=?,Bookimg=?,BookPath=? where BookId=?",
                        new String[] { BookName,Bookimg,BookPath,BookId});
        } else {
            Log.i("tag", "数据库未打开");
        }
        dbHelper.closeDB();
    }

    //添加
    public void addBook(String BookId, String BookName, String Bookimg, String BookPath,String UserId,String type) {
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        if (db.isOpen()) {
            db.execSQL("insert into Bookself (BookId,BookName,Bookimg,BookPath,UserId,type) " +
                            "values(?,?,?,?,?,?)",
                    new Object[]{BookId,BookName, Bookimg, BookPath,UserId,type});
        } else {
            Log.i("tag", "数据库未打开");
        }
        dbHelper.closeDB();
    }
    // 查询
    public ArrayList<BookInfo> inquireBook(SQLiteDatabase db, ArrayList<BookInfo> list, String UserId,String type) {
        db = dbHelper.getReadableDatabase();
        if (db.isOpen()) {
            //            String inquireMyLocks = creatInquireMyLocks(BookId);
            //            Cursor c = db.rawQuery(inquireMyLocks,null);
            Cursor c = db.rawQuery("select * from Bookself where UserId = ? and type = ?",new String[] {UserId,type} );
            String Id ;
            String BookId;
            String BookName ;
            String Bookimg;
            String BookPath;

            while (c.moveToNext()) {
                Id=c.getString(c.getColumnIndex("Id"));
                BookId=c.getString(c.getColumnIndex("BookId"));
                BookName = c.getString(c.getColumnIndex("BookName"));
                Bookimg = c.getString(c.getColumnIndex("Bookimg"));
                BookPath = c.getString(c.getColumnIndex("BookPath"));
                BookInfo bean = new BookInfo(Id,BookId,BookName,Bookimg,BookPath);
                list.add(bean);
            }
            if (!c.isClosed()) {
                c.close();
            }
            dbHelper.closeDB();

        } else {
            Log.i("tag", "数据库未打开");
        }
        return list;
    }

}

使用

private ArrayList<BookInfo> bookList = new ArrayList<BookInfo>();
bookList = new BookDao(getActivity()).inquireBook(db, bookList, userId,"1");

adb查看sqlite数据库

adb是android sdk 中自带的一个调试工具,使用这个工具可以直接对连接再电脑上的手机或模拟器进行调试操作。
使用前记得检查是否配好了路径:

这里写图片描述

配好路径后,在cmd中输入:adb shell 就会进入到控制台入上图;

  • cd命令进行到/data/data/包名/databases下 ls查看所有文件
  • table.db就是我们创建的,table.db-journal是为了让数据库能支持事务儿产生的临时日志文件,通常情况下这个文件的大小都是0字节。
  • sqlite3 table.db:打开数据库,可进行编辑
  • .table:查看有哪些表
  • .schema:查看他们的建表语句
  • .exit/.quit退出数据库的编辑
  • 可直接执行sql语句。eg:select * from table
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值