1. ormlite框架
  1. 从 http://ormlite.com/releases/下载对应的核心包core及android支持库.然后在项目中加入两个jar包.
  2. 存储的数据对象实体
  public class Entity{
  @DatabaseField(generatedId = true)//自增长的主键
  int id;
  @DatabaseField//声明string为数据库字段
  String string;
  public Entity() {
  //ormlite中必须要有一个无参的构造函数
  }
  ...
  }
  ormlite是通过注解方式配置该类的持久化参数,其中常用参数如下:
  1.表名:不指定的话表名就是类名.
  @DatabaseTable(tableName="dataTableName")
  2.字段:这个可以配置的属性有点多.
  @DatabaseField
  (1)主键:
  @DatabaseField(id=true)
  (2)列名: 不指定的话就是和变量名一样的
  @DatabaseField(columnName="columnName")
  (3) 数据类型: 这个一般情况下都不用指定,可以根据java 类获得
  @DatabaseField(dataType=DataType.INTEGER)
  (4) 默认值:
  @DatabaseField(defaultValue="0")
  (5)长度:一般用于String型
  @DatabaseField(width=13)
  (6) 能否为空:默认为True
  @DatabaseField(canBeNull=false)
  3. 需要数据DataHelper类,来创建及管理数据库. DataHelper类继承OrmLiteSqliteOpenHelper.并在覆盖实现onCreate, onUpgrade, close等方法.
  @Override
  public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource){
  try{
  Log.e(DataHelper.class.getName(), "开始创建数据库");
  TableUtils.createTable(connectionSource, Entity.class);
  Log.e(DataHelper.class.getName(), "创建数据库成功");
  }catch(SQLException e){
  Log.e(DataHelper.class.getName(), "创建数据库失败", e);
  }
  }
  @Override
  public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int arg2, int arg3){
  try{
  TableUtils.dropTable(connectionSource, Entity.class, true);
  onCreate(db, connectionSource);
  Log.e(DataHelper.class.getName(), "更新数据库成功");
  }catch(SQLException e){
  Log.e(DataHelper.class.getName(), "更新数据库失败", e);
  }
  }
  @Override
  public void close(){
  super.close();
  }
  4. 需要相应的数据Dao类,即数据访问接口.
  public class EntityDao{
  public List findData(Dao Entitydao, int id) throws SQLException{
  HashMap EntityMap = new HashMap();
  userguideMap.put("id", id);
  List EntityLists = entityDao.queryForFieldValues(EntityMap);
  return EntityLists == null ? null : EntityLists;
  }
  public void addEntity(Dao entityDao, String string) throws SQLException{
  Entity Entity =new Entity(string);
  entityDao.create(Entity);
  }
  }
  5. 调用
  ormlite有两种使用方法,一种是继承对应的OrmLiteBaseActivity.但像xxxx Activity本身必须继承BaseActivity,这样就必须使用另外一种方法:在activity中添加一个获取helper的方法,还有在onDestroy中添加及时关闭helper的方法。
  private DataHelper dataHelper = null;
  private DataHelper getHelper() {
  if (dataHelper == null) {
  dataHelper = OpenHelperManager.getHelper(this, DataHelper.class);
  }
  return dataHelper;
  }
  @Override
  protected void onDestroy() {
  // TODO Auto-generated method stub
  super.onDestroy();
  if (dataHelper != null) {
  OpenHelperManager.releaseHelper();
  dataHelper = null;
  }
  }
  其中数据库操作实现代码如下:
  EntityDao dao = new EntityDao();
  try {
  Dao dataDao = getHelper().getDataDao();
  //查找操作调用
  List simpledataList = dao.findData(dataDao, 1);
  //添加操作调用
  dao.addEntity(dataDao,"demotest");
  } catch (SQLException e) {
  e.printStackTrace();

更多相关文章

  1. Windows下Android(安卓)SDK Manage下载速度缓慢的解决方法
  2. 提高android ContentProvider的效率
  3. Android(安卓)Studio——点击事件监听
  4. Android通讯录管理(获取联系人、通话记录、短信消息)(二)
  5. [置顶] Android(安卓)SimpleAdapter,SimpleCursorAdapter,ArrayAda
  6. Android(安卓)ICS创建StagefrightPlayer播放器的过程
  7. Android系统锁屏启动流程(7.1.0)
  8. Android下使用TelephonyManager类获取设备电话相关信息
  9. 【Android(安卓)开发教程】编码实现获取与修改预设信息中的值

随机推荐

  1. Android 的toolbar设置返回事件
  2. android 设置屏幕亮度
  3. Android(安卓)TabLayout 实现底部导航栏
  4. 临时
  5. android从activity跳转到fragment解决
  6. android cmd
  7. Android 中 JUnit 测试的配置
  8. Android Studio RadioGroup判断点击按钮
  9. Android 程序开机自启动
  10. android 再按一次后退键退出应用程序