温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中怎么利用LitePal对数据库进行操作

发布时间:2021-06-28 16:18:36 来源:亿速云 阅读:102 作者:Leah 栏目:移动开发

Android中怎么利用LitePal对数据库进行操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

首先在app/build.grade文件中编辑

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

随后创建一个assets目录,创建一个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时对象关系映像(ORM)的模式,简单来说,就是将面向对象的语言和面向对象的数据库中建立一种映射关系,也就是说可以用面向对象的思维来操作数据库而不是再用SQLiteOpenHelper繁琐的步骤

创建一个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的升级数据库机制,每次执行时都会drop掉数据库,然后重新创建,drop数据库的同时,里面的数据也丢失了,而在LitePal中升级数据库只需要修改所需要的内容,然后版本号加一,也就是

<?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>

添加更新数据只需要,new一个Abc然后调用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");  
            }    
        });    
  }}

删除数据则使用

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

查询数据

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

看完上述内容,你们掌握Android中怎么利用LitePal对数据库进行操作的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI