概述接着上回的说,虽然我们已经找出了阻挡我们通用化Android数据库操作的五个问题,但是现在我们还不能立即开始去解决这些问题。试想一下,我们有一个News,那么,相应的就会有NewsDao和NewsDaoImpl,同理,如果出现一个Book,是不是也要写出BookDao和BookDaoImpl? 这个问题想想就觉得太疯狂!这里的BookDao等等都是假想的,和NewsDao是一样的东西,就不在复制...
分类:
移动开发 时间:
2015-03-01 18:34:08
阅读次数:
229
概述在开始考虑Android的数据库操作之前,我们先回想一下Web方面的数据库操作。如果我们只是停留在JDBC的简单使用和封装上(比如纯JDCB,或者DBUtils),即使我们对数据库的增删改查操作进行了接口的抽取,代码依旧会和业务有很强的耦合性。经过我们分析,解除耦合性的关键在于如何解决自动映射“实体类 与 数据库表”之间的对应关系。如果能够做到这一步,那么我们就能够更好的解耦了,也能降低我们的代...
分类:
移动开发 时间:
2015-03-01 17:11:19
阅读次数:
215
1.MyDatabaseHelper.java代码如下:
package org.lxh.demo;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import ...
分类:
移动开发 时间:
2015-02-12 22:54:26
阅读次数:
233
如何将table1的内容复制到table2上?createtabletable2asselect*fromtable1;创建视图的SQL语句?createviewifnotexistsview1asselect*fromtable1;abs(X)的返回值有几种情况?X为正值和0:返回X;X为负值:返回-X;X为NULL,返回NULL;不是数值:返回0;超出范围:溢出错误。如..
分类:
移动开发 时间:
2015-02-11 01:59:54
阅读次数:
167
在AndoridStudio中引入GreenDAOGreenDAO整个运行的逻辑是通过配置其提供的JavaSE代码,自动在一个文件夹下生成需要Bean、DAO、DaoMaster、DaoSession;然后在Android代码中通过创建DaoSession来操作数据库,具体方法如下:1.配置工程在./src/main目录下创建一个与java同层级的java-gen文件夹.打开build.gradle...
分类:
其他好文 时间:
2015-02-06 16:44:44
阅读次数:
149
粗略的记录一下Android数据库的处理方式。android中本地存储数据分为4种:SharePreference、SQLite、Content Provider和File,都是存放于“data/data/程序包名”目录下。可以看出,android对于数据,基本上都是私有化的。SQLite是一种轻型...
分类:
移动开发 时间:
2015-02-05 13:20:17
阅读次数:
229
详细的介绍了sqlite数据库对于数据的增删改查操作,并且使用了ListView控件显示信息,同时通过按钮点击实现了页面的跳转。对于新手来说这个例子还是能够有所帮助的。...
分类:
移动开发 时间:
2015-01-28 09:57:30
阅读次数:
277
读取数据库+数据库版本更新注意: a, 将随apk发布的数据库放在android工程下/res/raw路径下。 b, 数据库文件存到手机上时,路径在/data/data/你的包名/databases下,其他路径则会出错。 需要直接在工程里新建数据库时,会继承SQLiteOpenHelper,但本文讲...
分类:
移动开发 时间:
2015-01-28 09:34:18
阅读次数:
183
package cn.hackcoder.beautyreader.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
/**
* ...
分类:
移动开发 时间:
2015-01-26 00:05:24
阅读次数:
244
android应用在发布后,会进行版本迭代。其中因为需求的更改,功能的扩充,可能会涉及到数据库的升级。如果只是添加表,还比较好处理,直接在public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)中新建表就OK了,但是涉及到已存在的表的结构发生变更,就比较麻烦了,特别是之前已经升级过表的结构,再次升级的时候需要考...
分类:
移动开发 时间:
2015-01-09 17:30:27
阅读次数:
180