android 数据库SQLite

今天下午写了一遍SQLite操作,相比起第一次使用的时候已经好了很多,能够明白整个流程并能对代码进行一定的分析,记录一下步骤:


1、对对象进行处理的数据库操作最后新建一个独立的数据对象,通过对象的set、get方法对对象进行处理,封装性较好,且易维护

2、对数据库的操作单独出一个类DBHelper,包括对数据库的新建,增删改操作


新建DBhelper

DBopenhelper继承sqltieopenhelper用来新建数据库

重写oncreate,onupgrade函数,完成对数据库的创建和更新

SQListDatabase db 执行sql语句. db.execSQL()


插入数据

db.insert();


查询数据

Cursor cursor = db.query();


package com.example.test;

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

import java.sql.SQLClientInfoException;

/**
 * Created by Administrator on 2014/9/19.
 */


public class DbHelper {

    private static final String DB_NAME = "mdatabase";
    private static final int  DB_VERSION = 1;
    private static final String TABLE_NAME = "user";
    private static final String ID = "id";
    private static final String USERNAME = "username";
    private static final String PASSWORD = "password";
    private DBOpenHelper dbOpenHelper;
    private SQLiteDatabase db;

    private static class DBOpenHelper extends SQLiteOpenHelper{

        private static final String CREATETABLE="create table "+TABLE_NAME+" ( "+ID+" integer primary key autoincrement, "+
                USERNAME+" text not null,"+PASSWORD+" text not null);";
        public DBOpenHelper(Context context) {
            super(context, DB_NAME, null, DB_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
             db.execSQL(CREATETABLE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
             db.execSQL("drop table if exists "+TABLE_NAME);
             onCreate(db);
        }
    }

    public DbHelper(Context context){
        dbOpenHelper = new DBOpenHelper(context);
        db=dbOpenHelper.getWritableDatabase();
    }

    public void insert(User user){
        ContentValues values = new ContentValues();
        values.put("username",user.getUsername());
        values.put("password",user.getPassword());
        db.insert(TABLE_NAME,null,values);
    }
    public User query(int id){
        User user= new User();
        Cursor cursor = db.query(TABLE_NAME,new String[]{USERNAME,PASSWORD},"id="+id,null,null,null,null);
        if(cursor.getCount()>0){
        cursor.moveToFirst();
        user.setUsername(cursor.getString(0));
        user.setPassword(cursor.getString(1));
        return user;
        }
        cursor.close();
        return null;
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值