Android SQLite使用介绍
嵌入式关系型SQLite数据库与普通数据库的最大区别是:
嵌入式关系型SQLite数据库除了主键外,没有数据类型之分。即整型字段可以用来存放字符数据,反之字符串字段也可以用来存放整型值
SQLite使用方法步骤:
- 第一步:编写一个类并继承SQLiteOpenHelper;
- 该类我认为有两个作用:第一:用来取得操作sql语句的对象
- 第二:用来管理数据库的版本,可以进行相应的更新
- 简单的实例:
- public class DBOpenHelperService extends SQLiteOpenHelper {
- private static final String DATABASENAME = "smuoj.db"; //数据库名称
- private static final int DATABASEVERSION = 1;//数据库版本
- public DBOpenHelperService(Context context) {
- super(context, DATABASENAME, null, DATABASEVERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("CREATE TABLE _person (personid integer primary key autoincrement, name varchar(20), age integer)");//执行有更改的sql语句
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- // TODO Auto-generated method stub
- db.execSQL("DROP TABLE IF EXISTS _person");
- onCreate(db);
- }
- }
- 第二步:根据要求编写相应的增删改查..的代码
- 注意:dbOpenHelperService.getWritableDatabase();通过这个函数可以取得操作数据库的对象
- 当调用这个方法时,如果数据库不存在,则会创建数据库,并执行Oncreate()方法
- 如果版本信息改变,则会执行onUpgrade()这个方法
- 如:编写保存 与 查找
- public class DB {
- private DBOpenHelperService dbOpenHelperService;
- private SQLiteDatabase db ;
- public DB(Context context) {
- dbOpenHelperService = new DBOpenHelperService(context);
- db = dbOpenHelperService.getWritableDatabase();
- }
- public void save(Person person){
- String sql = "insert into _person(name,age) values(?,?)";
- db.execSQL(sql,new Object[]{person.getName(),person.getAge()});
- db.close();
- }
- public List<Person> find(){
- List<Person> persons = new ArrayList<Person>();
- String sql = "select * from _person";
- Cursor cursor = db.rawQuery(sql,null);
- while(cursor.moveToNext()){
- Person person = new Person();
- person.setName(cursor.getString(cursor.getColumnIndex("name")));
- person.setAge(cursor.getInt(cursor.getColumnIndex("age")));
- persons.add(person);
- }
- return persons;
- }
- }
相关推荐
specialbrian 2020-07-31
loveandroid0 2020-06-18
DAV数据库 2020-06-17
URML 2020-06-13
Dlanguage 2020-06-12
Plant 2020-06-07
疯狂老司机 2020-06-07
chibangyuxun 2020-06-07
sdwylry 2020-06-04
airfling 2020-05-31
Plant 2020-05-31
zbcaicai 2020-05-26
chaochao 2020-05-19
Plant 2020-05-17
小火车 2020-05-14
beibeijia 2020-04-25
Rain 2020-04-16