一般SQLite会被单独放在一个工具包util中
第一步:创建一个类继承SQLiteOpenHelper
public class SQLite_Helper extends SQLiteOpenHelper
第二部:重写他的构造函数,注意不是实现哦
public SQLite_Helper(Context context) {
super(context, "Message.db", null, 2);
}
他的构造函数第一个参数就是要context,也就是哪一个activity可以使用这个数据库,
第二个参数,就是数据库的名字,注意后缀*.db,
第三个参数 暂时不是很理解,但是据说没有什么意义,一般都用null,
第四个参数就是版本,这个后面的更新函数会用到
第三部:实现两个函数
//数据库创建
//创建表
@Override
public void onCreate(SQLiteDatabase db) {
Log.i("TAG", "Create");
CreateTable(db, "DataBase_Test1", "id", new String[]{"name", "address", "phone"});
}
//更新方法
//修改表中的字段,增加表
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.i("TAG", "Upgrade");
}
形参里的db就是之前构造方法里所定义的db
public class SQLite_Method {
private SQLiteDatabase db;
public SQLite_Method(Context context)
{
SQLite_Helper SQLite_helper = new SQLite_Helper(context);
//获取可以操作的数据库对象
db = SQLite_helper.getReadableDatabase();
}
}
最后这个是展示页面
public class SQLite_Activity extends AppCompatActivity {
private SQLite_Method sqLite_method;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sqlite);
sqLite_method = new SQLite_Method(this);
}
}
好了,现在基本就这样,不要忘记在Manifest里注册展示页的activity
1、创建表
//name就是表的名字,自定义
create table name
2、创建表的同时创建字段
//字段名 类型 约束
//primary key是主键 代表unicom+unull,唯一和不为空,并且主键值的类型必须为integer(不能用int!!!)
//autoincrement的意思是自增长
create table name(id integer primary key autoincrement,
//name就是第二个字段名,varchar定义的其实是一个可变空间,括号里的20是最大值,如果存入的数据没有达到,就会按照实际大小来开辟空间
name varchar(20),
//注意字段名,是以逗号分隔的,整个语句以分号结尾
address varchar(40));
3、执行语句
需要调用SQLiteDatabase.execSQL(command)来执行。
一般都会有一个SQLiteDatabase对象,也就是数据库。然后执行已经编辑好的command也就是命令。
注意,execSQL只能用来增加,删除,修改,但是不能用来查询