Android studio设计开发LitePal数据库操作手册

LitePal是一款开源的Android数据库框架,它采用了对象映射关系(ORM)的模式,并将我们平时开发最常用的一些数据库功能进行了封装。

接下来我们就进行讲解LitePal数据库的操作方式:
1配置LitePal
2创建数据库
3升级数据库
4添加数据
5更新数据
6查询数据
7删除数据

1、配置LitePal

①首先新建一个工程,命名为LitePal(根据个人需求命名);
②在app/build.gradle文件中的dependencies闭包中添加代码

compile 'org.litepal.android:core:1.4.1'

引入LitePal
③配置litepal.xml文件
右击app/src/main,New→Directory,如图所示。
文件夹
将文件夹命名为assets,点击OK,如图所示。
命名文件夹在此文件夹下新建一个litepal.xml文件,右击assets文件夹New→File,如图所示。
新建File
命名为litepal.xml,点击OK,如图所示。
litepal
在litepal.xml文件中添加如下代码:

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="BookStore"></dbname>
    <version value="1"></version>
    <list>
        <mapping class="com.example.a86173.litepal.Book"></mapping>
    </list>
</litepal>

dbname用于指定数据库名,com.example.a86173.litepal不同电脑包名不同,在Activity中进行查询,Book为数据库名称,根据自己需求命名。
命名
③修改Manifest.xml代码
在application中添加语句android:name="org.litepal.LitePalApplication"
manifest
配置LitePal到此就完成了。

2、创建数据库
相较于SQLite数据库,LitePal数据库在创建时so easy。不信你就看
①新建一个.java文件,命名为Book。定义一个book类
在这里插入图片描述在这里插入图片描述
Book类中定义id、author(作者)、price(价格)、pages(页数)、name(书名),在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;
    }
}

②将Book类添加到litepal.xml中,在litepal.xml中list内添加代码:

<mapping class="com.example.a86173.litepal.Book"></mapping>

在这里插入图片描述
③在activity_main.xml中设计一个按钮,用于创建数据库,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.a86173.litepal.MainActivity">
    
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="创建"
        android:id="@+id/create" />
</LinearLayout>

④在MainAcitvity.java中编写代码如下:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button create=(Button)findViewById(R.id.create);
        create.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                LitePal.getDatabase();
            }
        });
    }
}

此时,创建数据库工作已经完成。
⑤通过运行虚拟手机进行测试,点击 创建 按钮
虚拟机
⑥通过adb shell查看数据库创建情况,按如下步骤进行操作

  • Win+R:输入cmd进入命令行界面。
  • 输入adb shell进入控制台。#代表超级管理员,$代表普通管理员,需要输入su命令切换成超级管理员
  • 输入cd /data/data/com.example.a86173.litepal/databases/
  • 输入ls
  • 输入sqlite3 BookStore.db
  • 输入schema

可以看到book表中的5列内容,创建数据库成功。
验证
3、升级数据库
升级数据库则更加简单便捷,我们添加一张user表
①只需添加User类,步骤同创建数据库中的步骤①
在User类中添加代码

public class User {
    private int id;
    private String username;
    private String password;
    public int getId(){
        return id;
    }
    public void setId(int id){
        this.id=id;
    }
    public String getUsername(){
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword(){
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

②进入litepal.xml文件中,对其进行修改如下图所示
升级
将版本号加1,添加新的映射模型,代码如下

<mapping class="com.example.a86173.litepal.User"></mapping>

③再次运行虚拟手机,点击 创建 按钮。
④通过命令行查看建表语句,升级成功,此时存在book和user两张表,如下图所示。
在这里插入图片描述
4、添加数据
①与SQLite数据库不同,LitePal数据库添加必须继承自DataSupport类。
因此修改Book类代码中最开始部分,将public class Book改为

public class Book extends DataSupport

User类与之相同。
②若向Book表中添加数据,则在MainActivity中补充代码

Button add=(Button)findViewById(R.id.add);
        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Book book=new Book();
                book.setName("The Da Vinci Code");
                book.setAuthor("Dan Brown");
                book.setPages(454);
                book.setPrice(23.3);
                book.save();
            }
        });

③在activity_mian.xml文件中设计添加Button,代码如下:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/add"
        android:text="添加"/>

④再次运行虚拟手机,依次点击 创建 添加 按钮。
在这里插入图片描述
⑤通过命令行查看,添加成功,此时存在添加的书籍信息,如下图所示。
在这里插入图片描述
5、更新数据
更新数据要比添加数据稍微复杂一些,本篇只介绍一种常见更新方式。
①在MainActivity.java中补充代码如下

Button update=(Button)findViewById(R.id.update);
        update.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Book book = new Book();
                book.setPrice(14.95);
                book.updateAll("name=? and author=?","The Da Vinci Code","Dan Brown");
            }
        });

②在activity_main.xml文件中设计更新Button,代码如下:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/update"
        android:text="更新"/>

③再次运行虚拟手机,依次点击 创建 添加 更新 按钮。
④通过命令行查看更新语句,更新成功,此时价格由23.3变成14.95,如下图所示。
更新
6、查询数据
①在MainActivity.java中补充代码如下

Button find=(Button)findViewById(R.id.find);
        find.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                List<Book> books= DataSupport.findAll(Book.class);
                for (Book book:books){
                    str1+="图书名称:"+book.getName()+";"+"\n" +"图书作者:"+book.getAuthor()+";"+"\n"+"图书页数:"+book.getPages()
                            +";"+"\n"+"图书价格:"+book.getPrice()+"\n";
                }
                TextView tv=(TextView)findViewById(R.id.tv);
                tv.setText(str1);
            }
        });

②在activity_main.xml文件中设计查询Button,代码如下:

 <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/find"
        android:text="查询"/>
 <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/tv"/>

③再次运行虚拟手机,依次点击 创建 添加 更新 查询按钮,效果如下图所示。
查询
7、删除数据
①在MainActivity.java中补充代码如下:

 Button delete=(Button)findViewById(R.id.delete);
        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DataSupport.deleteAll(Book.class,"price<?","15");
            }
        });

②在activity_main.xml文件中设计删除Button,代码如下:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/delete"
        android:text="删除"/>

③再次运行虚拟手机,依次点击 创建 添加 更新 删除按钮。
④通过命令行查看,删除成功,此时没有任何书籍,如下图所示。
删除
好啦,litepal数据库操作讲解到此就结束了,点击👉Android studio设计开发LitePal数据库源码可获得本次案例所有源码

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Run

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值