亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

LitePal 開源數據庫框架學習(跟隨郭霖老師的學習)

2019-11-09 15:51:17
字體:
來源:轉載
供稿:網友
在android studio中添加dependdencies{compile‘org.litepal.android:core:1.3.2’

}

在app/src/main中添加assets文件夾,添加文件litepal.xml

<?xml version="1.0" encoding="utf-8"?><litepal>    <dbname value="BookStore"></dbname>    <version value="1"></version>    <list>        <mapping class="test.ban.com.test_litepal.Book"></mapping>    </list></litepal>添加Book類
public class Book {    PRivate int id;    private String author;    private double price;    private int pages;    private String name;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getAuthor() {        return author;    }    public void setAuthor(String author) {        this.author = author;    }    public double getPrice() {        return price;    }    public void setPrice(double price) {        this.price = price;    }    public int getPages() {        return pages;    }    public void setPages(int pages) {        this.pages = pages;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}記錄類路徑test.ban.com.test_litepal.Book

在Manifast中的application添加android:name="org.litepal.LitePalApplication"配置完成,編寫主代碼

 Button createDatabase = (Button) findViewById(R.id.btn_create_table);        createDatabase.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Connector.getDatabase();            }        });即可使用創建完成升級數據庫,添加表單等,只需要增加版本號<version value="2"></version>,然后修改類中的字段即可
 private String press;    public String getPress() {        return press;    }    public void setPress(String press) {        this.press = press;    }添加表:
public class Category {    private int id;    private String categoryName;    private int categoryCode;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getCategoryName() {        return categoryName;    }    public void setCategoryName(String categoryName) {        this.categoryName = categoryName;    }    public int getCategoryCode() {        return categoryCode;    }    public void setCategoryCode(int categoryCode) {        this.categoryCode = categoryCode;    }}在litepal中添加即可:
<?xml version="1.0" encoding="utf-8"?><litepal>    <dbname value="BookStore"></dbname>    <version value="3"></version>    <list>        <mapping class="test.ban.com.test_litepal.Book"></mapping>        <mapping class="test.ban.com.test_litepal.Category"></mapping>    </list></litepal>插入數據也較為簡單
Button addDate= (Button) findViewById(R.id.btn_insert_table);        addDate.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Book book=new Book();                book.setName("壁紙碧水");                book.setAuthor("ban");                book.setPages(520);                book.setPress("yy");                book.setPrice(1314);                book.save();            }        });更新數據也較為簡單,直接使用DateSupport接口中的方法即可
 //更新數據        Button updateDate= (Button) findViewById(R.id.btn_update_table);        updateDate.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Book book=new Book();//                book.setName("小河在流血");//                book.setAuthor("ban");//                book.setPages(123);//                book.setPress("標簽");//                book.setPrice(50);//                book.save();//                book.setPrice(20);//                book.save();                book.setPrice(15.66);                book.setPress("快樂時");                book.updateAll("name=? and author=?","小河在流血","ban");            }        });但需要注意的是,此框架中是直接設置了默認值的,使用updateAll()方法(所有的數據更新),是不可以使用上面的方式來set的,就是不能講數據設置為默認值,比如int類型的為0,所以Litepal提供了另一個setToDefault()方法,傳入列名就可以實現了
Book book=new Book();book.setToDefault("pages");book.updateAll();刪除數據也較為簡單,直接電筒DataSupport中的deleteAll()方法即可,再加上判斷語句
Button deleteDate = (Button) findViewById(R.id.btn_delete_table);        deleteDate.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                DataSupport.deleteAll(Book.class, "price<?", "16");            }        });直接執行deleteAll()方法不指定約束條件,則是將整個表的數據刪除查詢,都是最麻煩的,使用Litepal就可以簡化這一部分的內容查詢所有數據:
List<Book> books = DataSupport.findAll(Book.class);                for (Book book : books) {                    Log.i(TAG, "name: " + book.getName());                    Log.i(TAG, "price: " + book.getPrice());                    Log.i(TAG, "author: " + book.getAuthor());                    Log.i(TAG, "press: " + book.getPress());                    Log.i(TAG, "pages: " + book.getPages());                }還有一些其他的方法
 //查詢第一行                Book firstBook = DataSupport.findFirst(Book.class);                //查詢最后一行                Book lastBook = DataSupport.findLast(Book.class);                List<Book> books = DataSupport.select("name", "author").find(Book.class);//                for (Book book : books) {//沒有查詢出的值為空(默認值)//                    Log.i(TAG, "name: " + book.getName());//                    Log.i(TAG, "price: " + book.getPrice());//                    Log.i(TAG, "author: " + book.getAuthor());//                    Log.i(TAG, "press: " + book.getPress());//                    Log.i(TAG, "pages: " + book.getPages());//                }                //倒序排列                List<Book> books2 = DataSupport.order("price desc").find(Book.class);                //限制                List<Book> books3 = DataSupport.limit(3).offset(1).find(Book.class);                //where 子句                List<Book> books4 = DataSupport.where("pages>?", "10").find(Book.class);若是想用原省的sql語句,也可以使用Cursor c=DataSupport.findBySQL("select * from Book where pages > ? and price < ?","400","20");


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕不卡在线视频极品| 色综合老司机第九色激情| 8x海外华人永久免费日韩内陆视频| y97精品国产97久久久久久| 亚洲人成免费电影| 欧美国产精品日韩| 欧美激情视频网址| 91久久中文字幕| 日韩精品在线观看网站| 亚洲第一偷拍网| 亚洲视频777| 久久久精品在线观看| 欧美日韩日本国产| 中文字幕欧美在线| 欧美精品一区二区三区国产精品| 色伦专区97中文字幕| 亚洲影院在线看| 欧美在线性爱视频| 黄色成人av网| 亚洲男人天堂手机在线| 久久国产精品久久久久久久久久| 51久久精品夜色国产麻豆| 日韩av中文在线| 亚洲色图25p| 成人国产精品久久久久久亚洲| 国产精品福利片| 国产精品久久久久久久久久久久久| 97久久精品人人澡人人爽缅北| 亚洲精品成人久久电影| 国产日韩在线亚洲字幕中文| 久久av.com| 亚洲成在人线av| 国产综合久久久久久| 91免费国产网站| 不卡av电影院| 中文字幕久精品免费视频| 国产精品三级网站| 亚洲高清在线观看| 日本精品视频在线播放| 欧美激情视频三区| 久久成人这里只有精品| 91嫩草在线视频| 日本道色综合久久影院| 日本道色综合久久影院| 亚洲视频在线观看网站| 中文字幕欧美在线| 欧美性猛交xxxxx水多| 亚洲精品中文字幕有码专区| 精品伊人久久97| 国模私拍一区二区三区| 国产欧美婷婷中文| 日韩欧美福利视频| 亚洲护士老师的毛茸茸最新章节| www日韩中文字幕在线看| 国产又爽又黄的激情精品视频| 丰满岳妇乱一区二区三区| 国产精品黄页免费高清在线观看| 一区二区欧美激情| 91成人天堂久久成人| 日韩av电影免费观看高清| 欧美午夜www高清视频| 欧美猛交免费看| 欧美精品www在线观看| 日韩在线中文视频| 欧美又大又硬又粗bbbbb| 91精品啪aⅴ在线观看国产| 91亚洲国产成人精品性色| 亚洲成人黄色网| 国产精品99久久久久久人| 91在线观看免费观看| 日韩欧美亚洲国产一区| 国产精品激情av在线播放| 中文字幕v亚洲ⅴv天堂| 国产一区二区在线免费| 欧美成人午夜剧场免费观看| 中文字幕国内精品| 另类天堂视频在线观看| 日日摸夜夜添一区| 国产主播喷水一区二区| 久久久久五月天| 国产精品美女999| 亚洲二区在线播放视频| 中文字幕一区二区精品| 欧美日韩国产一区中文午夜| 久久久久久久久久久久av| 国产日韩精品入口| 久久深夜福利免费观看| 亚洲人成电影网| 91沈先生在线观看| 久久久精品美女| 国产日韩在线观看av| 亚洲欧美国产另类| 日韩亚洲欧美中文在线| www.日韩免费| 国产精品高潮呻吟久久av无限| 欧美理论片在线观看| 欧美一区二区三区……| 久久久久久久久久久久久久久久久久av| 久久久久久亚洲| 欧美性生交xxxxxdddd| 国产精品免费网站| 久久夜精品香蕉| 国产69精品久久久久久| 成人黄色免费在线观看| 亚洲激情在线观看| 久久6免费高清热精品| 亚洲国产古装精品网站| www.午夜精品| 欧美成人精品在线| 国产精品视频公开费视频| 成人在线免费观看视视频| 成人美女免费网站视频| 欧美极品少妇与黑人| 日韩国产高清视频在线| 日韩欧美国产骚| 久久久久久12| 一区二区三区视频在线| 国产精品久久视频| 中文字幕亚洲一区二区三区| 777国产偷窥盗摄精品视频| 亚洲成人黄色在线| 久久五月天色综合| 精品呦交小u女在线| 日韩国产中文字幕| 欧美特级www| 精品久久久久久久久久久久| 色综合久久88色综合天天看泰| 精品日本美女福利在线观看| 2019中文字幕全在线观看| 欧美xxxx做受欧美| 97精品国产97久久久久久春色| 日本sm极度另类视频| 中文字幕在线看视频国产欧美在线看完整| 色黄久久久久久| 欧美高清videos高潮hd| 亚洲成人教育av| 97在线观看视频| 国产精品福利在线观看网址| 亚洲欧美成人在线| 日韩中文在线中文网三级| 日韩a**中文字幕| 国产亚洲欧洲高清一区| 欧美极品第一页| 精品日韩美女的视频高清| 国产亚洲成av人片在线观看桃| 国产在线视频2019最新视频| 国产精品久久久久久久app| 国产精品丝袜久久久久久不卡| 亚洲国产欧美一区二区三区同亚洲| 91精品视频在线看| 国产欧美一区二区三区久久人妖| 日韩av在线一区二区| 伊人成人开心激情综合网| 亚洲欧美在线第一页| 亚洲第一区在线| 激情成人中文字幕| 伊人青青综合网站| 伊人久久大香线蕉av一区二区| 精品久久久久久电影| 精品一区二区三区四区| 日韩欧美在线免费观看| 欧美激情第6页| 日韩av影片在线观看| 日本免费久久高清视频|