【网学网提醒】:网学会员鉴于大家对十分关注,论文会员在此为大家搜集整理了“Android&;SQLite”一文,供大家参考学习
Android中使用SQLite
一、SQLite简介
二、SQLite特点
三、数据库的基本操作1、//当第一次创建数据库的时候,调用该方法db=SQLiteDatabase.openOrCreateDatabase("/data/data/com.dms.demo/databases/stu.db",null);2、//创建表publicvoidonCreate(SQLiteDatabasedb){Stringsql="createtablestu_table(idint,snamevarchar(20),sageint,ssexvarchar(10))";//输出创建数据库的日志信息Log.i(TAG,"createDatabase------------->");//execSQL函数用于执行SQL语句db.execSQL(sql);}3、插入数据插入数据有两种方法:①SQLiteDatabase的insert(Stringtable,StringnullColumnHack,ContentValuesvalues)方法,参
数一是表名称,参数二是空列的默认值,参数三是ContentValues类型的一个封装了列名称和列值的Map;//生成ContentValues对象//key:列名,value:想插入的值ContentValuescv=newContentValues();//往ContentValues对象存放数据,键-值对模式cv.put("id",1);cv.put("sname","xiaoming");cv.put("sage",21);cv.put("ssex","male");//调用insert方法,将数据插入数据库db.insert("stu_table",null,cv);//关闭数据库db.close();②编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行//插入数据SQL语句Stringstu_sql="insertintostu_table(sname,snumber)values('xiaoming','01005')";//执行SQL语句db.execSQL(sql);4、删除数据删除数据也有两种方法:①调用SQLiteDatabase的delete(Stringtable,StringwhereClause,String[]whereArgs)方法,参数一是表名称,参数二是删除条件,参数三是删除条件值数组;//得到一个可写的数据库SQLiteDatabasedb=dbHelper.getReadableDatabase();StringwhereClauses="id=?";String[]whereArgs={String.valueOf(2)};//调用delete方法,删除数据db.delete("stu_table",whereClauses,whereArgs);②编写删除SQL语句,调用SQLiteDatabase的execSQL()方法来执行删除。//删除SQL语句Stringsql="deletefromstu_tablewhere_id=6";//执行SQL语句db.execSQL(sql);5、修改数据修改数据有两种方法:①调用SQLiteDatabase的update(Stringtable,ContentValuesvalues,StringwhereClause,String[]whereArgs)方法。参数是表名称,参数是更行列ContentValues类型的键值对(Map),参数是更新条件(where字句),参数是更新条件数组。//得到一个可写的数据库SQLiteDatabasedb=dbHelper.getWritableDatabase();ContentValuescv=newContentValues();cv.put("sage","23");
//where子句"?"是占位符号,对应后面的"1",StringwhereClause="id=?";String[]whereArgs={String.valueOf(1)};//参数1是要更新的表名//参数2是一个ContentValeus对象//参数3是where子句db.update("stu_table",cv,whereClause,whereArgs);②编写更新的SQL语句,调用SQLiteDatabase的execSQL执行更新。privatevoidupdate(SQLiteDatabasedb){//修改SQL语句Stringsql=
"updatestu_tablesetsnumber=654321whereid=1";//执行SQLdb.execSQL(sql);}6、查询语句在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。它提供了很多有关
查询的方法。//得到一个可写的数据库SQLiteDatabasedb=dbHelper.getReadableDatabase();//参数1:表名//参数2:要想显示的列//参数3:where子句//参数4:where子句对应的条件值//参数5:分组方式//参数6:having条件//参数7:排序方式Cursorcursor=db.query("stu_table",newString[]{"id","sname","sage","ssex"},"id=?",newString[]{"1"},null,null,null);while(cursor.moveToNext()){Stringname=cursor.getString(cursor.getColumnIndex("sname"));Stringage=cursor.getString(cursor.getColumnIndex("sage"));Stringsex=cursor.getString(cursor.getColumnIndex("ssex"));System.out.println("query------->"+":"+name+""+"年龄:"+age+""+"性别:"+sex);}//关闭数据库db.close();7、删除指定的表编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行//删除表的SQL语句Stringsql="DROPTABLEstu_table";//执行SQLdb.execSQL(sql);
四、实例为了方便实现,对于
程序中点击的按钮后的反应只会在Logcat下输出,不会在屏幕上显示。例如:
还有我们创建的数据库的位置可以通过
看到
具体
程序参见代码。附:项目结构图