位置: 编程技术 - 正文
推荐整理分享Android-SQLite商业化数据库操作,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
Android-SQLite商业化数据库操作 一 具体的数据操作 增 /** * 插入用户实例 * @param pUser * @return */ public long insertUser(User pUser) { if (mSqLiteDatabase != null && pUser != null) { //插入一条记录 ContentValues _contentValues = new ContentValues(); _contentValues.put(COLUMN_USERNAME, pUser.getmUserName()); _contentValues.put(COLUMN_USER_ADDRESS, pUser.getmUserAddress());
删 /** * 删除用户实例 * @param id * @return */ public int deleteUser(int id) { if (mSqLiteDatabase != null && id > 0) { return mSqLiteDatabase.delete(TABLE_NAME, “_id=?”, new String[]{String.valueOf(id)});
改 /** * 更新用户的实例 * @param pUser * @param id * @return */ public int updataUser(User pUser, int id) { if (mSqLiteDatabase != null && pUser != null) { ContentValues _contenValues = new ContentValues(); _contenValues.put(COLUMN_USERNAME, pUser.getmUserName()); _contenValues.put(COLUMN_USER_ADDRESS, pUser.getmUserAddress());
查 /** * 查询所有记录 */ public Cursor selectAll() { if (mSqLiteDatabase != null) { return mSqLiteDatabase.query( TABLE_NAME, new String[]{“_id”, COLUMN_USERNAME, COLUMN_USER_ADDRESS}, null, null, null, null, null); } return null;
/** * 根据条件查询用户数据 * @param selection * @param selectionArgs * @param groupBy * @param having * @param orderBy * @return */ public Cursor selectUser(String selection, String[] selectionArgs, String groupBy, String having, String orderBy) { if (mSqLiteDatabase != null) { return mSqLiteDatabase.query( TABLE_NAME, new String[]{“_id”, COLUMN_USERNAME, COLUMN_USER_ADDRESS}, selection, selectionArgs, groupBy, having, orderBy); } else { return null; } }
批量更新和删除 使用原生的数据库语句 exeSQL rawSQL queryWithFactory效率比较高
二 sqlite3数据库引擎 下载sqliter3的源代码,分析文件结构,再进行源码分析 结果是在android2.3.3externalsqlitedist文件夹下,所有的拓展的第三方类库都在external文件夹下, 系统统一编译
三 sqlite3连接方式 JDBC的方式 像jni的原生类库,底层还是靠C/C++实现 在android2.3.3libcoresqlite-jdbcsrcmainnative和java文件夹下,
四 表的主外键关系 商业项目要求严谨的主外键关系 使用的工具是SQLiteStudio
五 表的视图 但SQL语句不太熟悉的时候可以使用表的视图
六 导出数据库 将数据库导出,放到项目的exeSQL执行的代码处
七 事务 类似于原子提交的概念,即事务是一个整体的过程 尽量放到try-catch中 beginTransaction() 中间是业务逻辑,事务操作 endTransaction() commit()
八 面试题 1 说说Android数据存储的几种形式 SharePreference,文件,网络,SQLite3数据库
2 sqlite能支持存储过程吗, 支持主外键关联吗 支持主外键关联
3 如何让自己的setting程序与系统的setting程序融合 在自己的setting程序的xml文件里面的PreferenceScreen标签下应用系统的intent
Android 之 XML文件 初窥 使用XML作为GUI的定义格式1.文本及文本样式?xmlversion="1.0"encoding="utf-8"?resourcesstringname="app_name"Demo/stringstringname="action_settings"Settings/stringstringname="hello_world"He
学习RecyclerView和CardView 之前在GitHub上看一些开源项目源码时,发现有这两个控件,貌似之前一直没有见到过,所以现在决定学习下。先来看RecyclerView,RecyclerView组件是一个更
PopupWindow中嵌套EditText不能粘贴的问题 之前在项目中遇到个问题就是写一个简单的评论框,当时是用popupwindow写的,里面嵌套Edittext,但刚做完就碰到个问题,就是虽然Edittext获得焦点但是不
友情链接: 武汉网站建设