Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android ormlite 框架介紹

Android ormlite 框架介紹

編輯:關於Android編程

 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. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved