LitePal簡單用法

  簡單介紹一下LitePal:

  LitePal是一款開源的Android數據庫框架,採用了對象關係映射(ORM)的模式,將平時開發時最常用的一些數據庫功能進行了封裝,使得開發者不用編寫一行SQL語句就可以完成各種建表、増刪改查的操作。並且LitePal很小,jar包大小不到100k,而且近乎零配置,這一點和Hibernate這類的框架有很大區別。目前LitePal的源碼已經託管到了GitHub上。

  1、準備需要的JAR包 這裏下載

  下載好了jar包之後,複製到項目的libs目錄中然後引用

  當然如果不想用jar包的話,也可以把LitePal的×××下來,然後作爲一個library庫導入到項目當中,再引用這個library庫就可以了。

  這裏我使用的事JAR包進行介紹

  2、設置litepal.xml文件,這裏比較重要

  首先我們需要建一個assets文件夾,這個文件夾和java文件平級

  其次在assets文件下新建一個litepal.xml,爲了快速可以直接copy一個進去

  庫名稱

  庫版本,可升級

  這裏是添加表名,後面講

  用於設定數據庫的名字,用於設定數據庫的版本號,用於設定所有的映射模型

  3、需要配置Application

  由於操作數據庫時需要用到Context,而我們顯然不希望在每個接口中都去傳一遍這個參數,那樣操作數據庫就顯得太繁瑣了。因此,LitePal使用了一個方法來簡化掉Context這個參數,只需要在AndroidManifest.xml中配置一下Application,所有的數據庫操作就都不用再傳Context了

  可能有些程序可能會有自己的Application,並在這裏配置過了,那麼我們就用其他辦法解決,那就只需要修改一下myApplication的繼承結構,讓它不要直接繼承Application類,而是繼承我們定義的LitePalApplication類

  到了這裏我們的準備工作已經做完了,接下來我們就可以開始建表了

  4、根據對象關係映射模式的理念,每一張表都應該對應一個模型(Model),也就是說,如果我們想要建一張news表,就應該有一個對應的News模型類。新建一個News類,LitePal要求所有的實體類都要繼承自DataSupport這個類

  public class News extends DataSupport {

  //id這個字段可寫可不寫,因爲即使不寫這個字段,LitePal也會在表中自動生成一個id列,畢竟每張表都一定要有主鍵的

  private int id;

  private String title;

  private String content;

  private Date publishDate;

  private int commentCount;

  public int getId() {

  return id;

  }

  public void setId(int id) {

  this.id = id;

  }

  public String getTitle() {

  return title;

  }

  public void setTitle(String title) {

  this.title = title;

  }無錫×××醫院 https://yyk.familydoctor.com.cn/20612/

  public String getContent() {

  return content;

  }

  public void setContent(String content) {

  this.content = content;

  }

  public Date getPublishDate() {

  return publishDate;

  }

  public void setPublishDate(Date publishDate) {

  this.publishDate = publishDate;

  }

  public int getCommentCount() {

  return commentCount;

  }

  public void setCommentCount(int commentCount) {

  this.commentCount = commentCount;

  }

  }

  LitePal的映射規則是非常輕量級的,不像一些其它的數據庫框架,需要爲每個模型類單獨配置一個映射關係的XML,LitePal的所有映射都是自動完成的,LitePal的數據類型支持,可以進行對象關係映射的數據類型一共有8種,int、short、long、float、double、boolean、String和Date。只要是聲明成這8種數據類型的字段都會被自動映射到數據庫表中,並不需要其他的任何配置。

  現在表已經建好,我們需要將表名在assets的litepal.xml中申明(寫進去映射)

  現在基本已經完成,現在只要你對數據庫有任何的操作,news表就會被自動創建出來。比如說LitePal提供了一個便捷的方法來獲取到SQLiteDatabase的實例,在onCreate中調用

  SQLiteDatabase db = Connector.getDatabase();

  這裏初始化一下

  public class myApplication extends LitePalApplication {

  @Override

  public void onCreate() {

  super.onCreate();

  LitePal.initialize(this);

  }

  }

  此時news表就應該已經創建成功了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章