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;
}
}
}