litepal更好的操作sqlite3,配置与基本操作
litepal更好的操作sqlite3
配置
在app下的build.gradle中加入
创建litepal.xml配置
在app/src/main下面创建assets,新建litepal.xml
<?xml version="1.0" encoding="utf-8" ?>
<litepal>
<dbname value="BookStore"></dbname>
<version value="2"></version>
<list>
<!-- 映射到类 -->
<mapping class="demo.jq.com.litepaltest.Book"></mapping>
<mapping class="demo.jq.com.litepaltest.Category"></mapping>
</list>
</litepal>
配置LitePalApplication,在AndroidMainfest.xml中
创建Book类
package demo.jq.com.litepaltest;
/**
* @author Jim
*/
public class Book {
private int id;
private String author;
private double price;
/**
* 出版社
*/
private String press;
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;
}
public String getPress() {
return press;
}
public void setPress(String press) {
this.press = press;
}
}
创建分类类
package demo.jq.com.litepaltest;
/**
* @author jim
*/
public class Category {
private int id;
private String categoryName;
private int categoryCode;
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryCode(int categoryCode) {
this.categoryCode = categoryCode;
}
public int getCategoryCode() {
return categoryCode;
}
}
这个时候,调用Connector.getDatabase();
就会自动创建数据库。
import org.litepal.tablemanager.Connector;
...
// 初始化创建按钮
Button createDatabase = (Button) findViewById(R.id.create_database);
// 设置点击事件
createDatabase.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// 执行写入数据库操作
Connector.getDatabase();
}
});
添加数据
// 初始化添加数据按钮
Button addData = (Button) 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("XinNet");
book.save();
}
});
更改数据
// 更改数据
Button updateData = (Button) findViewById(R.id.update_data);
updateData.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Book book = new Book();
book.setPress("XinHua.Net");
book.update(1);
}
});
删除数据
// 删除数据
Button deleteData = (Button) findViewById(R.id.delete_data);
deleteData.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
DataSupport.deleteAll(Book.class,"id = ?","2");
}
});
查询数据
// 查询数据
Button queryData = (Button) findViewById(R.id.query_data);
queryData.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
List<Book> books = DataSupport.findAll(Book.class);
for (Book book :books) {
Log.d(TAG,"book name is "+book.getName());
Log.d(TAG,"book author is "+book.getAuthor());
Log.d(TAG,"book pages is "+book.getAuthor());
Log.d(TAG,"book price is "+book.getPrice());
Log.d(TAG,"book press is "+book.getPress());
Log.d(TAG,"--------------------------");
}
}
});
更多查询
// 查询数据
Button queryData = (Button) findViewById(R.id.query_data);
queryData.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Book firstBook = DataSupport.findFirst(Book.class);
Log.d(TAG,"the id is "+firstBook.getId());
Log.d(TAG,"book name is "+firstBook.getName());
Log.d(TAG,"book author is "+firstBook.getAuthor());
Log.d(TAG,"book pages is "+firstBook.getAuthor());
Log.d(TAG,"book price is "+firstBook.getPrice());
Log.d(TAG,"book press is "+firstBook.getPress());
Log.d(TAG,"--------------------------");
Book lastBook = DataSupport.findLast(Book.class);
Log.d(TAG,"the id is "+lastBook.getId());
Log.d(TAG,"book name is "+lastBook.getName());
Log.d(TAG,"book author is "+lastBook.getAuthor());
Log.d(TAG,"book pages is "+lastBook.getAuthor());
Log.d(TAG,"book price is "+lastBook.getPrice());
Log.d(TAG,"book press is "+lastBook.getPress());
Log.d(TAG,"--------------------------");
}
});
litepal更好的操作sqlite3,配置与基本操作的更多相关文章
- IOS数据库操作SQLite3使用详解(转)
iPhone中支持通过sqlite3来访问iPhone本地的数据库.具体使用方法如下1:添加开发包libsqlite3.0.dylib首先是设置项目文件,在项目中添加iPhone版的sqlite3的数 ...
- CEPH集群操作入门--配置
参考文档:CEPH官网集群操作文档 概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...
- 【delphi】delphi操作sqlite3
SQLite SQLite是一个老牌的轻量级别的本地文件数据库,完全免费且开源,不需要安装,无须任何配置,当然,这样管理功能就不是很强大了,但是它的主要应用也是在本地数据库,可以说是最简单好用的嵌入式 ...
- Flask:操作SQLite3(0.1)
Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 本文介绍了第一次在Flask框架中操作SQLite3数据库的测试,参考了官网的文档Using SQLite 3 wit ...
- 【RAC】 RAC For W2K8R2 安装--操作系统环境配置 (二)
[RAC] RAC For W2K8R2 安装--操作系统环境配置 (二) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...
- iOS: 学习笔记, 使用FMDatabase操作sqlite3
使用FMDatabase操作sqlite3数据库非常简单和方便 // // main.m // iOSDemo0602_sqlite3 // // Created by yao_yu on 14-6- ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 1.操作系统环境配置
1.OpenStack示例的架构介绍 1.1 各节点介绍 (1)控制节点(controller)控制节点(controller)上运行身份服务,镜像服务,计算节点管理,网络管理,各种网络代理和仪表板. ...
- VC++ 6.0 sqlite3 配置、测试
/************************************************************************************* * VC++6.0 sql ...
- MongoDB的安装配置、基本操作及Perl操作MongoDB
MongoDB的安装配置.基本操作及Perl操作MongoDB http://www.myhack58.com/Article/60/63/2014/42353.htm
随机推荐
- 利用VisualVM监视远程JVM
VisualVM介绍 VisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump.Thread Dump.内存对象实例情况.GC ...
- Android 自己定义RecyclerView 实现真正的Gallery效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38173061 .本文出自:[张鸿洋的博客] 上一篇博客我使用自己定义Horizo ...
- Android使用有道翻译API实如今线翻译功能
在Android应用中,加入在线翻译的功能,这里调用的是有道翻译的API. 使用有道翻译API.首先要申请一个key,申请地址为:path=data-mode">有道翻译API申请地址 ...
- Maximum Bipartite Matching
算法旨在用尽可能简单的思路解决这个问题.理解算法也应该是一个越看越简单的过程,当你看到算法里的一串概念,或者一大坨代码,第一感觉是复杂,此时最好还是从样例入手.通过一个简单的样例,并编程实现,这个过程 ...
- Ubuntu新建用户并加入SUDO组
Ubuntu新建用户并加入SUDO组 新建用户: adduser xxxx 加入用户组: usermod -aG sudo username
- 2.QT字符串及一些基本操作
mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { c ...
- 关于hexo markdown添加的图片在github page中无法显示的问题
title: 关于hexo markdown添加的图片在github page中无法显示的问题 date: 2018-03-31 00:21:18 categories: methods tags: ...
- 修改echarts环形图的牵引线及文字位置
修改echarts环形图的牵引线及文字位置,下面代码及效果不仅如此,也包含了其它的效果哦.有问题可以留言. 根据echarts官方示例修改效果: 官方示例图: 修改效果图: 直接上代码:其它不多说. ...
- jQuery EasyUI 右键菜单--关闭标签/选项卡
目录结构: noContextMenu.js 文件内容如下: $(function(){ //屏蔽右键菜单 $(document).bind("contextmenu", func ...
- MyBatis数据持久化(一)准备工作
MyBatis简介 mybatis的前生是ibatis,它是一款非常优秀的java持久层框架,所有sql语句写在配置文件中,和另外一款比较知名的orm框架hibernate比起来显得更加小巧灵活,也是 ...