LitePal使用步骤
来源:互联网 发布:同方软件股份有限公司 编辑:程序博客网 时间:2024/05/21 10:02
使用步骤 :
- 添加app/ buile.gradle/dependencies 闭包依赖关系
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
compile 'org.litepal.android:core:1.5.1'
testCompile 'junit:junit:4.12'
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
compile 'org.litepal.android:core:1.5.1'
testCompile 'junit:junit:4.12'
}
- 添加app/src/ mian/ assets 目录 /litepal.xml 文件
<?xml version="1.0"encoding="utf-8"?>
<litepal>
<!--指定数据库名-->
<dbnamevalues="BookStore"></dbname>
<!--指定数据库版本-->
<versionvalues="1"></version>
<!--指定所有的映射模型-->
<list>
<!--映射模型-->
<mappingclass="com.example.sky.mysqlite.Book"></mapping>
</list>
</litepal>
- 配置application
<application
android:name="org.litepal.LitePalApplication"
</application>
使LitePal所有功能正常工作
- 创建数据库
创建Book=类对应数据库中Book表 类中每一字段对应表中每一列 对象关系映射
并将Book类添加到映射模型列表中 修改litepa l代码
CRUD(增删改查) 需要继承结构 且必须继承自DataSupport类
package com.example.sky.mysqlite;
import org.litepal.crud.DataSupport;
/**
* Created by sky on 2017/3/23.
*
* litepal 使用步骤:
* 1。 添加app/ buile.gradle/
* dependencies {
* compile 'org.litepal.android:core:1.5.1'
* } 依赖关系
*
* 2。添加 assets 文件夹 /slitepal.xml 文件
*/
/*
*
* 创建Book=类对应数据库中Book表 类中每一字段对应表中每一列 对象关系映射
*
* 并将Book类添加到映射模型列表中 修改litepa l代码
*
* CRUD(增删改查) 需要继承结构 且必须继承自DataSupport类
* */
public class Book extends DataSupport{
private int id;
private String author;
private double price ;
private int pages;
public void setPages(int pages) {
this.pages = pages;
}
public int getPages() {
return pages;
}
private String name;
public void setId(int id) {
this.id = id;
}
public void setAuthor(String author) {
this.author = author;
}
public void setPrice(double price) {
this.price = price;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public String getAuthor() {
return author;
}
public double getPrice() {
return price;
}
public String getName() {
return name;
}
}
- CRUD增删改查
public class LitepalTest extends AppCompatActivity {
private Button create_database;
private Button create;
private Button updata;
private Button delete;
private Button retrieve;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_litepal_test);
create_database = (Button) findViewById(R.id.create_database);
create = (Button) findViewById(R.id.Create);
retrieve = (Button) findViewById(R.id.Retrieve);
updata = (Button) findViewById(R.id.Update);
delete = (Button) findViewById(R.id.Delete);
//创建数据库
create_database.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//创建数据库
LitePal.getDatabase();
Toast.makeText(LitepalTest.this, "数据库创建", Toast.LENGTH_SHORT).show();
}
});
create.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(14.96);
book.save();
Toast.makeText(LitepalTest.this, "数据写入", Toast.LENGTH_SHORT).show();
}
});
updata.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Book book = new Book();
book.setName("The Lost Symboy");
book.setAuthor("Dan Brown");
book.setPages(510);
book.setPrice(19.95);
book.save();
/*
* 该方式只能对已存储对象进行操作
*
* 已存储对象 用model.isSaved()判断 两种情况返回TRUE
* 1.已经调用model.save()方法去添加数据
* 2.model对象是通过LitePal提供查询API查出来的(从数据库查到的对象,默认认为已经存储)
*
* */
// 限制性较大
// book.setPrice(20.00);
// book.save();
// 第二种: 轻巧方法
Book book2 = new Book();
book2.setPrice(14.95);
/*
* 当想把一个字段值更新成默认值时 不可用set方法
* java中任何一种数据类型字段都有默认值但不同类型 默认值不同 new 时已经默认
* 此时可用 setToDefault() 传入相应列名即可*/
// book2.setToDefault("pages");
// book2.updateAll();//所有书页数都为0 因为该方法中未指定约束条件
//更新 名为 The Lost Symboy 并且 作者为Dan Brown 的数据项
book2.updateAll("name=? and author=?", "The Lost Symboy", "Dan Brown");
Toast.makeText(LitepalTest.this, "数据更新", Toast.LENGTH_SHORT).show();
}
});
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
* 参数 1. 指定删除那张表 后面 用于指定约束条件
* deleteAll()不指定参数 默认删除表中所有数据
* */
//删除Book表中价格低于15 的书
DataSupport.deleteAll(Book.class, "price<?", "15");
Toast.makeText(LitepalTest.this, "数据删除", Toast.LENGTH_SHORT).show();
}
});
retrieve.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
*findAll()返回一Book类型的List集合
* */
List<Book> books = DataSupport.findAll(Book.class);
for (Book book : books) {
Log.d("LitepalTest", "book name is" + book.getName());
Log.d("LitepalTest", "book author is" + book.getAuthor());
Log.d("LitepalTest", "book pages is" + book.getPages());
Log.d("LitepalTest", "book price is" + book.getPrice());
}
Toast.makeText(LitepalTest.this, "数据输出", Toast.LENGTH_SHORT).show();
}
});
}
}
阅读全文
0 0
- LitePal使用步骤
- LitePal使用步骤
- LitePal使用
- 使用LitePal升级表
- LitePal使用问题记录
- 学习LitePal使用
- LitePal使用总结
- Litepal的使用
- LitePal的简单使用
- litepal开源库的使用
- Litepal使用详解
- 使用LitePal操作数据库
- litepal的使用记录
- LitePal的使用
- Litepal的简单使用
- Litepal的使用
- 使用LitePal操作数据库
- 使用LitePal操作数据库
- Ubutnu Desktop 16.04下安装Virtualbox 5.1
- 强化学习课程
- 毕业后的前五年,决定你的命运
- 省赛 年终奖金
- 在屏幕中使用评分组件
- LitePal使用步骤
- linux基础
- SVN 用户权限管理[转]
- A股进阶——如何跟庄盈利
- android 日期选择器
- 排序-插入排序-直接插入排序-数据结构(26)
- Entity Framework Core使用迁移
- one day
- 反向代理理解