安卓学习笔记--LitePal数据库储存

在使用LitePal之前,需进行配置。
在main目录下新建assets文件夹,在assets中创建litepal.xml
在这里插入图片描述
litepal中代码如下,list中是要创建的数据Book,Category两个类

<?xml version="1.0" encoding="utf-8"?>
<litepal
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schemas.android.com/apk/res/android ">

    <dbname value="BookStore"></dbname>

    <version value="2"></version>

    <list>
        <mapping class="com.example.litepaltest.Book"></mapping>
        <mapping class="com.example.litepaltest.Category"></mapping>
    </list>
</litepal>

Book.class

ublic class Book extends LitePalSupport {
    private int id;

    private String author;

    private double price;

    private int pages;

    private String name;

    private String press;

    public String getPress() {
        return press;
    }

    public void setPress(String press) {
        this.press = press;
    }

    public int getId() {
        return id;
    }

    public double getPrice() {
        return price;
    }

    public int getPages() {
        return pages;
    }

    public String getAuthor() {
        return author;
    }

    public String getName() {
        return name;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setPages(int pages) {
        this.pages = pages;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}

Category.class

public class Category {

    private int id;

    private String categoryName;

    private int categoryCode;

    public void setId(int id) {
        this.id = id;
    }

    public void setCategoryCode(int categoryCode) {
        this.categoryCode = categoryCode;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public int getId() {
        return id;
    }

    public int getCategoryCode() {
        return categoryCode;
    }

    public String getCategoryName() {
        return categoryName;
    }
}

在litepal 3.0 DataSupport被弃用,所以这里继承的是LitePalSupport

MainActivity中代码如下

public class MainActivity extends AppCompatActivity {

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

        Button addData = findViewById(R.id.add_data);
        addData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Book book = new Book();
                book.setName("The Da Vinci Code");
                book.setAuthor("Dan Brown");
                book.setPages(454);
                book.setPrice(16.96);
                book.setPress("Unknow");
                book.save();
            }
        });

        Button updateData = findViewById(R.id.update_data);
        updateData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Book book = new Book();
//                book.setPrice(14.95);
//                book.setPress("Anchor");
//                book.updateAll("name = ? and author = ?","The Lost Symbol",
//                        "Dan Brown");

                book.setToDefault("pages"); //将pages设置为0不能使用book.setPages(0);,要用这个方法,以此类推
                book.updateAll();
            }
        });

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

        Button queryButton = findViewById(R.id.query_data);
        queryButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                List<Book> books = LitePal.findAll(Book.class);
//                for(Book book : books){
//                    Log.d("MainActivity","book name is "+book.getName());
//                    Log.d("MainActivity","book author is "+book.getAuthor());
//                    Log.d("MainActivity","book pages is "+book.getPages());
//                    Log.d("MainActivity","book price is "+book.getPrice());
//                    Log.d("MainActivity","book press is "+book.getPress());
//                }

                Book firstBook = LitePal.findFirst(Book.class);//查找第一条数据
                Book lastBook = LitePal.findLast(Book.class);//查找第一条数据

//                List<Book> books = LitePal.select("name","author")
//                        .find(Book.class);//指定查询那几列的数据

//                List<Book> books = LitePal.where("pages > ?","400")
//                        .find(Book.class);//指定约束条件查询

//                List<Book> books = LitePal.order("price desc")
//                        .find(Book.class);//指定排序顺序查询

//                List<Book> books = LitePal.limit(3)
//                        .find(Book.class);//指定查询结果数量

//                 List<Book> books = LitePal.limit(3).offset(1)
//                        .find(Book.class);//指定查询结果的怕偏移量,表示查询3~3+1的数据

//                 List<Book> books = LitePal.select("name","author","pages")
//                         .where("pages > ?","400")
//                         .order("pages")
//                         .limit(10)
//                         .offset(10)
//                        .find(Book.class);//连缀组合查询

//                Cursor cursor = LitePal.findBySQL(
//                        "select * from Book where pages > ? and price < ?",
//                        "400","20"
//                );//原生SQl查询
            }
        });
    }
}

大致罗列了LitePal的创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作。

之后可以打开数据库进行查看,如不了解如何打开数据库查看可参考:安卓学习笔记–SQLite数据库储存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python的基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值