SQLlite之LitePal的简单操作

1.导入litepal的依赖

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

2.创建一个实体类Book,并继承DataSupport

package topteam.com.sql_demo02;

import org.litepal.crud.DataSupport;
import org.litepal.exceptions.DataSupportException;

public class Book extends DataSupport{

    int id;
    String name;
    double price;
    int pag;

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public double getPrice() {
        return price;
    }

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

    public int getPag() {
        return pag;
    }

    public void setPag(int pag) {
        this.pag = pag;
    }
}

3.在Main目录下创建一个assets文件夹,在这个文件夹下创建一个litepal.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
    <dbname value="Book" ></dbname>
    <version value="2" ></version>
    <list>
        <mapping class="topteam.com.sql_demo02.Book"></mapping>
    </list>
</litepal>

4.在AndroidManifest.xml文件清单中添加`

android:name="org.litepal.LitePalApplication"

5.activity_main.xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

    >

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_marginTop="20dp">

        <TextView
            android:layout_width="80dp"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="ID:"
            android:textColor="#000"
            android:textSize="20dp" />

        <EditText
            android:id="@+id/id1"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:textColor="#000"
            android:inputType="phone"
            />

        <EditText
            android:id="@+id/id2"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:layout_marginLeft="20dp"
            android:textColor="#000"
              android:inputType="phone"
            />

    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_marginTop="10dp">

        <TextView
            android:layout_width="80dp"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="书名:"
            android:textColor="#000"
            android:textSize="20dp" />

        <EditText
            android:id="@+id/name1"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:textColor="#000"
            />

        <EditText
            android:id="@+id/name2"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:textColor="#000"
            android:layout_marginLeft="20dp"

            />

    </TableRow>
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_marginTop="10dp">

        <TextView
            android:layout_width="80dp"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="价钱:"
            android:textColor="#000"
            android:textSize="20dp" />

        <EditText
            android:id="@+id/jq1"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:textColor="#000"

            />

        <EditText
            android:id="@+id/jq2"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:textColor="#000"
            android:layout_marginLeft="20dp"

            />

    </TableRow>
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_marginTop="10dp">

        <TextView
            android:layout_width="80dp"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="页数:"
            android:textColor="#000"
            android:textSize="20dp" />

        <EditText
            android:id="@+id/ys1"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:inputType="phone"
            android:textColor="#000"

            />

        <EditText
            android:id="@+id/ys2"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:textColor="#000"
            android:layout_marginLeft="20dp"
            android:inputType="phone"

            />

    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/add"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:onClick="create"
            android:text="添加数据" />

        <Button
            android:id="@+id/up"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:onClick="create"
            android:text="修改数据" />

        <Button
            android:id="@+id/selet"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:onClick="create"
            android:text="查询数据" />

        <Button
            android:id="@+id/dele"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:onClick="create"
            android:text="删除数据" />

    </TableRow>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:layout_margin="10dp"
        android:id="@+id/show"
        android:padding="10dp"
        android:textColor="#f00"
        android:textSize="20dp"
        />


</LinearLayout>

6.MainActivity.java主程序

package topteam.com.sql_demo02;

import android.content.Context;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import org.litepal.LitePal;
import org.litepal.crud.DataSupport;

import java.util.List;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    EditText id1_v;
    EditText name1_v;
    EditText name2_v;
    EditText jq1_v;
    EditText jq2_v;
    EditText ys1_v;
    EditText ys2_v;
    Button add_v;
    Button up_v;
    Button sele_v;
    Button dele_v;
    TextView show_v;
    Context context;
    StringBuilder sb;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.hide();
        }
        initView();
        context = MainActivity.this;
        LitePal.getDatabase();

    }

    /**
     * 初始化所有控件
     */
    private void initView() {
         id1_v = findViewById(R.id.id1);
         name1_v = findViewById(R.id.name1);
         name2_v = findViewById(R.id.name2);
         jq1_v = findViewById(R.id.jq1);
         jq2_v = findViewById(R.id.jq2);
         ys1_v = findViewById(R.id.ys1);
         ys2_v = findViewById(R.id.ys2);
        Button add_v = findViewById(R.id.add);
        Button up_v = findViewById(R.id.up);
        Button sele_v = findViewById(R.id.selet);
        Button dele_v = findViewById(R.id.dele);
        add_v.setOnClickListener(this);
        up_v.setOnClickListener(this);
        dele_v.setOnClickListener(this);
        sele_v.setOnClickListener(this);
        show_v = findViewById(R.id.show);
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.add:
                  int id = Integer.parseInt(id1_v.getText().toString());
                  String name = name1_v.getText().toString();
                  int pag = Integer.parseInt(ys1_v.getText().toString());
                  double price = Double.parseDouble(jq1_v.getText().toString());
                  Book book = new Book();
                  book.setId(id);
                  book.setName(name);
                  book.setPag(pag);
                  book.setPrice(price);
                  book.save();
                  show_v.setText("添加成功");
                break;
            case R.id.up:
                int id1 = Integer.parseInt(id1_v.getText().toString());
                String name1 = name1_v.getText().toString();
                int pag1 = Integer.parseInt(ys1_v.getText().toString());
                double price1 = Double.parseDouble(jq1_v.getText().toString());
                Book book1 = new Book();
                book1.setPrice(price1);
                book1.updateAll("name=?",name1);
                show_v.setText("修改成功");
                break;
            case R.id.selet:
                sb = new StringBuilder();
                List<Book> books = DataSupport.findAll(Book.class);
                for(Book bk:books){
                    sb.append(bk.getId()+" "+bk.getName()+"  "+bk.getPag()+" "+bk.getPrice()+"\n");
                }
                show_v.setText(sb.toString());
                break;
            case R.id.dele:
                String name2 = name1_v.getText().toString();
                DataSupport.deleteAll(Book.class,"name=?",name2);
                show_v.setText("删除成功成功");
                break;
            default:
                break;
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值