android初学之Sqlite数据库基本操做(上)

SQLite存在用户的手机上
SQlite存储时不区分类型
位置:data/data/包名/databases目录下
工程中:
db包中建立helper类      //写一个类继承SQLiteOpenHelper,重写构造函数(4个参数)与oncreate和onupgrade方法,构造函数建立数据库,oncreate建立数据库中的表,onupgrade修改表
domian包中建立userbean类     //无参和有参的构造函数,set,get方法,toString方法
dao包中建立dao类     //Dao里面是增删改查的方法,经过获取数据库对象,执行sql语句
test测试类或者activity中执行操做     //建立测试类继承AndroidTestCase,清单文件中配置test节点,方法名以test开头; 先经过helper对象获取数据库,再经过dao对象,执行操做 java

 

建立数据库:
在用户启动程序的时候,代码在用户手机上建立数据库,建立表,写一个类继承SQLiteOpenHelper,重写构造函数(4个参数)与oncreate和onupgrade方法
public MyHelper(Context context) {
		/**
		 * Context context:环境
		 * String name:数据库名字
		 * Cursorfactory factory:游标工厂,null为默认的
		 * version:数据库版本从1开始
		 */
		super(context, "users.db", null, 1);
	}


public void onCreate(SQLiteDatabase db) {		//能够执行建立表的操做
	db.execSQL("CREATE TABLE USER(id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20))");
    } 
	

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {	//修改表,下面的是添加一列,在testCreateDB方法中要执行到就要改变数据库版本
	
	db.execSQL("ALTER TABLE user ADD balance INTEGER" );
}
在domain中建立Userbean 
 无参和有参的构造函数,set,get方法,toString方法

 

在dao中UserDao里面是增删改查的方法
private MyHelper myhelper;
 //构造函数
 public UserDao(Context context) {
  myhelper = new MyHelper(context); // 建立helper类对象
 }


 
 //增删改能够有两种方法:一种是执行sql语句db.execSQL(); 第二种是ContentValue
 //查询两种方法rawQuary(),quary()

 

public void insert(User user) {		//增
	MyHelper myhelper = new MyHelper(context); // 建立helper类对象
	SQLiteDatabase db = myhelper.getWritableDatabase(); // 获取可写的数据库
	db.execSQL("INSERT INTO user(name, password) VALUES (?,?)", new Object[]{user.getName(), user.getPassword()} );	//执行sql语句
		
	/*第二种插入操做
	ContentValues values = new ContentValues();	//ContentValues相似于Map,用来装载数据的集合
	values.put("name", user.getName());			//向集合中装入数据,键是列名,值是要插入的值
	values.put("password", user.getPassword());
	/**
	 * 第二个参数能够是null,也能够是随便的一个列名(用来插入null记录)
	 * 返回一个long,-1为插入出错
	 */
	long i = db.insert("user", "id", values);			//执行插入操做,指定代表,指定数据
        */
		
		
		db.close();	//关闭数据库释放资源
	}
相关文章
相关标签/搜索