android_sqlite开发入门
来源:互联网 发布:vb.net excel教程 编辑:程序博客网 时间:2024/05/01 16:20
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> 又好长时间没写微博。。这次要做一个需要本地数据库的软件,理所当然的用到了SqlLite。接下来简单介绍一下SQLite的使用。主要是怎样实现增删改查</span>
主要使用到的类是
1..SQLiteOpenHelper,这个类是一个数据库帮助类,帮助管理数据库的使用,是创建数据库的必须工具,
主要方法有:
getReadableDataBase();以及getWriteableDataBase();这两个方法可以获得数据库对象,也就是为数据库引用赋值。close(); 可以关闭和数据库的连接
使用的方法是继承这个类,重载构造函数,一般是用一个Context对象就行,第二个参数置null,后面的就是数据库文件名和数据库的版本号了,在onCreate()里面执行建表的语句,注意要是想给数据库一些初始数据的话也可以写在那里,可以发现,就是调用了数据库对象执行sql语句的方法
这是一个使用实例
import android.content.Context;import android.database.DatabaseErrorHandler;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;public class DietDbHelper extends SQLiteOpenHelper {private final static String DB_NAME = "vegetable.db";// 菜谱表共四个字段, did 主键 id自增长 d_name// 菜谱的名字 d_type 菜谱的种类 d_vege 组成菜谱的菜private final String CREATE_TABLE = "create table diet("+ "did integer primary key autoincrement,"+ "d_name text not null,d_type text not null)";public final static String COLMUNS_ID = "did";public final static String COLMUNS_NAME = "d_name";public final static String COLMUNS_TYPE = "d_type";public DietDbHelper(Context context) {super(context, DB_NAME, null, 1);}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_TABLE);Log.d("创建diet", "创建数据diet");db.execSQL("insert into diet values(0,'干烧芦笋','热菜')");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stub}}
2.SQLitedDataBase
主要方法有:
1.query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);这个实现了查的操作,
table可以写成”表一,表二“这样的形式来实现多表查询,连接的句子卸载selection
selection指的是where部分的限制条件,注意不包含where这个单词
selectionArgs[] 用于指定参数,如前一个写的是id=?, ?为占位符,这个就可以写成new String[]{ "1" }表示id=1
2.insert(String table,String nullColumnHack,ContentValue value)
这个主要是首先生成一个ContentValue的对象,这个对象是一个键值对类型的变量
使用put方法将各种数据加入到这个对象中然后传进去作为插入的参数就行,主要是第二个参数,这是一个异常控制的参数,由于这个方法是将参数组织成sql语句,如果contentValue为空的话就是这样insert into table value() values();
底层的sqlite不允许插入空记录,所以当value为空的话就是insert into table value (nullColumnHack)values(null),这样,这个参数在你的value不为空的时候传null就行
3.delete(String table,String selection,String[] selectionArg)
这个就是删除,很简单,参数意思参照前面的query()
4.update(String table,ContentValue value,String selection,String[] selectionArg);
第二个参数是新值,其他还是参照前面
5.rawQuery(String sql,String [] selectionArg);
执行一个特定的sql语句,后面的参数是占位符的值
从vogella上面看到的使用方法是
1.创建数据库帮助类,也就是继承SQLiteOpenHelper,在这个类里面创建描述这个数据库的主要属性,比如数据表的名字,各个表的字段名,这样写是为了在后面好直接用而不会出现写错这样的事
2.针对数据写实体类
3.DataSource类,这个类将这个数据库的操作全部封装起来了,想要对这个数据库进行操作就要实例化这个类,
主要属性是:helper对象,SQLiteDataBase对象,含有单个表全部属性的数组(一个表一个这样的数组)
构造函数:传入Context实例化helper
open()使用helper的getXXXableDataBase()来实例化数据库
close();helper的close(),每次执行完一个操作都要释放资源
技巧:写一些将Cursor转化成实体类的方法很有效
可以这样根据列名查数据
<span style="font-size:18px;">sb.append(cursor.getString(cursor.getColumnIndex("count")));</span>
- android_sqlite开发入门
- android_SQLite
- Android_SQLite使用方法
- Android_SQLite数据库详解
- Android_SQlite的使用方法
- No.1 android_sqlite问题
- 从头学android_SQLite数据库
- Android_SQLite数据库存储
- Android_sqlite数据库界面展示_141109
- android_SQLite运用_生活笔记demo
- android_sqlite数据库从基础到SDK封装
- 前端开发入门:less入门
- 客户端开发--1开发入门
- openwrt开发<3>开发入门
- Symbian开发入门
- Visio 2003 开发入门
- sybian开发环境入门
- 短信开发入门资料
- python opencv face detection
- C++ map,set内部数据结构
- mysql函数一
- mysql函数二
- 浅谈Jquery中的bind(),live(),delegate(),on()绑定事件方式
- android_sqlite开发入门
- 作为一个程序开发者在职场中必须注意的7件事
- 友元函数实现操作符重载的应用场景-友元函数实现左移右移操作符重载
- 贝塞尔曲线
- wifi破解
- 《C++Primer》读书笔记--异常处理
- 遇到ORA-14047: ALTER TABLE|INDEX RENAME may not be combined with other operations错误
- CSS3学习笔记(下)
- 基于链表实现Java 自定义Queue队列