文章标题

来源:互联网 发布:网络监控 编辑:程序博客网 时间:2024/06/17 07:15

一:1.创建一个包创建数据库类继承sqliteOpenHelper
MyDataBaseOpenHelper extends SQLiteOpenHelper

2.重写构造方法,参数是上下文;
// 1.创建构造方法,并修改super 里面的参数
//. 参数context:上下文.test.db:表名称 ;null:默认游标,2代表版本
public MyDataBaseOpenHelper(Context context) {
super(context, “test.db”, null, 2);

}

3.重写两个方法oncreates(); onupgrade();
重写onCreate()方法,当数据第一次创建的时候调用.
//这个方法只执行一次,在这个方法里创建表结构
public void onCreate(SQLiteDatabase db) {//整形,组件,自增长
db.execSQL(“create table student (_id integer primary key” +
” autoincrement,name varchar(20),phone varchar(30))”);

} //当数据库需要更新时调用的方法 ,数据库只能升级不能 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}

}
二步:创建一个单独的Dao包创建一个类,对数据实现增删改查

三步:1.在src下:MainActivity.java里创建帮助类对象//创建数据库对象
MyDataBaseOpenHelper helper=new MyDataBaseOpenHelper(this);
2.通过helper 对象调用了一个可读可写的方法,数据库才会被创建:

   helper.getWritableDatabase();

代码:第一步如下:
package com.heima.db;

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

public class MyDataBaseOpenHelper extends SQLiteOpenHelper {

//1.创建构造方法,并修改super 里面的参数//.参数context:上下文.test.db:表名称  ;null,2代表版本public MyDataBaseOpenHelper(Context context) {    super(context, "test.db", null, 2);}//重写onCreate()方法,当数据第一次创建的时候调用.//这个方法只执行一次,在这个方法里创建表结构public void onCreate(SQLiteDatabase db) {//整形,组件,自增长    db.execSQL("create table student (_id integer primary key" +            " autoincrement,name varchar(20),phone varchar(30))");} //当数据库需要更新时调用的方法 ,数据库只能升级不能 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}

}

代码第二步:
package com.heima.dao;

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

import com.heima.db.MyDataBaseOpenHelper;

public class StudentDao {
private MyDataBaseOpenHelper helper;
//生成一个有参的构造函数 ,要求必须传入上下文
public StudentDao(Context context) {
helper=new MyDataBaseOpenHelper(context);
}
//添加一个学生,姓名:name.性别sex,male female;
public void add(String name, String sex){
//得到一个可写的方法
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(“inert into student(name,sex) values(?,?)”, new Object[]{name,sex});
db.close();//关闭资源

}
//删除一个学生
public void delete(String name){
//得到一个可写的方法
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(“delete from student where name=?”, new Object[]{name});
db.close();//关闭资源

}
//修改学生的性别 姓名name; newsex

public void update(String name, String newsex){
//得到一个可写的方法
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(“update student set sex=?where name=?”, new Object[]{name});
db.close();//关闭资源

}
//查询学生的性别 name
public String find(String name){
String sex=null;
SQLiteDatabase db = helper.getReadableDatabase();
//返回一个结果集
Cursor cursor=db.rawQuery(“select sex from student where name=?”, new String[]{name});
//游标向下移动
boolean result = cursor.moveToNext();
if(result){
sex=cursor.getString(0);
}
cursor.close();
db.close();
return sex;
}
}

=========================================================================

代码第三步 :如下
package com.heima.db;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //创建数据库对象    MyDataBaseOpenHelper helper=new MyDataBaseOpenHelper(this);    //这一行代码执行了数据库才会被创建    通过helper得到一个可读或可写的方法,数据库才会被创建    helper.getWritableDatabase();}

}

0 0
原创粉丝点击