溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android中怎么利用LitePal對數(shù)據(jù)庫進行操作

發(fā)布時間:2021-06-28 16:18:36 來源:億速云 閱讀:97 作者:Leah 欄目:移動開發(fā)

Android中怎么利用LitePal對數(shù)據(jù)庫進行操作,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

首先在app/build.grade文件中編輯

dependencies{
...
conmpile'org.litepal.android:core:1.5'
..
}

隨后創(chuàng)建一個assets目錄,創(chuàng)建一個litepal.xml

<?xml version="1.0" encoding="utf-8"?>    
<litepal>    
    <dbname value="AbcStore" ></dbname>    
    <version value="2" ></version>    
    <list>    
        <mapping class="com.example.litepaltest.Book"></mapping>    
    </list>    
</litepal>

然后在AndroidManifest.xml中添加代碼

android:name="org.litepal.litePalApplication"

LitePal時對象關(guān)系映像(ORM)的模式,簡單來說,就是將面向?qū)ο蟮恼Z言和面向?qū)ο蟮臄?shù)據(jù)庫中建立一種映射關(guān)系,也就是說可以用面向?qū)ο蟮乃季S來操作數(shù)據(jù)庫而不是再用SQLiteOpenHelper繁瑣的步驟

創(chuàng)建一個Abc類

public class Abc extends DataSupport {    
private int id;      
private double price;    
private int pages;    
private String name;       
public int getId() {    
return id;    
}    
public void setId(int id) {    
this.id = id;    
}    
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;    
}    
}

然后在litepal.xml中添加

<?xml version="1.0" encoding="utf-8"?>    
<litepal>    
    <dbname value="AbcStore" ></dbname>    
    <version value="1" ></version>    
    <list>    
        <mapping class="com.example.litepaltest.Abc"></mapping>    
    </list>    
</litepal>

然后來說說SQLiteOpenHelper的升級數(shù)據(jù)庫機制,每次執(zhí)行時都會drop掉數(shù)據(jù)庫,然后重新創(chuàng)建,drop數(shù)據(jù)庫的同時,里面的數(shù)據(jù)也丟失了,而在LitePal中升級數(shù)據(jù)庫只需要修改所需要的內(nèi)容,然后版本號加一,也就是

<?xml version="1.0" encoding="utf-8"?>    
<litepal>    
    <dbname value="AbcStore" ></dbname>    
    <version value="2" ></version>    
    <list>    
        <mapping class="com.example.litepaltest.Abc"></mapping>    
    </list>    
</litepal>

添加更新數(shù)據(jù)只需要,new一個Abc然后調(diào)用set就可以

public class MainActivity extends AppCompatActivity {    
    @Override    
    protected void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.activity_main);    
        Button createDatabase = (Button) findViewById(R.id.create_database);    
        createDatabase.setOnClickListener(new View.OnClickListener() {    
            @Override    
            public void onClick(View v) {    
               Abc abc=new Abc();
               abc.setname("litepal");  
            }    
        });    
  }}

刪除數(shù)據(jù)則使用

DataSupport.deleteAll(Abc.class,"name=?","litepal")

查詢數(shù)據(jù)

list<Abc> abc=DateSupport.findAll(Abc.class);

看完上述內(nèi)容,你們掌握Android中怎么利用LitePal對數(shù)據(jù)庫進行操作的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI