android 开源 数据库,Android开源数据库框架-LitePal的使用

简介

LitePal是一款开源的Android数据库框架,采用了关系映射的模式。LitePal在github上的项目地址:github.com/LitePalFram…

配置LitePal

dependencies {

....

compile 'org.litepal.android:core:1.5.1'

}复制代码

在app/src/main 目录下新建目录assets,在assets目录下建litepal.xml 文件

复制代码

标签用于指定数据库名

标签用于指定版本号

标签用于指定所有的映射模型

在清单文件中配置LitePalApplication

android:name="org.litepal.LitePalApplication"

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

复制代码

实战

创建JavaBean

Person.java

package com.zhoujian.litepal.bean;

import org.litepal.crud.DataSupport;

/**

* Created by zhoujian on 2017/3/29.

*/

public class Person extends DataSupport{

private String name;

private int age;

private int id;

private String weight;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getWeight() {

return weight;

}

public void setWeight(String weight) {

this.weight = weight;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

}复制代码

增删改查数据库

MainActivity.java

package com.zhoujian.litepal.activity;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

import com.zhoujian.litepal.R;

import com.zhoujian.litepal.bean.Person;

import org.litepal.crud.DataSupport;

import org.litepal.tablemanager.Connector;

import java.util.List;

public class MainActivity extends AppCompatActivity{

private Button mCreateDatabase;

private Button mAddData;

private Button mUpdateData;

private Button mDeleteButton;

private Button mQueryButton;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initViews();

clickEvents();

}

private void initViews()

{

mCreateDatabase = (Button) findViewById(R.id.create_database);

mAddData = (Button) findViewById(R.id.add_data);

mUpdateData = (Button) findViewById(R.id.update_data);

mDeleteButton = (Button) findViewById(R.id.delete_data);

mQueryButton = (Button) findViewById(R.id.query_data);

}

private void clickEvents()

{

mCreateDatabase.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//创建数据库

Connector.getDatabase();

}

});

mAddData.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Person person = new Person();

person.setId(1);

person.setName("周润发");

person.setAge(62);

person.setWeight("80kg");

person.save();

person.clearSavedState();

person.setId(2);

person.setName("周杰伦");

person.setAge(45);

person.setWeight("65kg");

person.save();

person.clearSavedState();

person.setId(3);

person.setName("周星驰");

person.setAge(65);

person.setWeight("70kg");

person.save();

Toast.makeText(MainActivity.this, "添加数据成功", Toast.LENGTH_SHORT).show();

}

});

mUpdateData.setOnClickListener(new View.OnClickListener()

{

@Override

public void onClick(View v) {

Person person = new Person();

//把id = 3 的那个人 姓名更改为周建 年龄改为28 体重改为62kg

person.setName("周建");

person.setAge(28);

person.setWeight("62kg");

person.updateAll("id = ?", "3");

Toast.makeText(MainActivity.this, "更新数据成功", Toast.LENGTH_SHORT).show();

}

});

mDeleteButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v)

{

//删除年龄大于60的人

DataSupport.deleteAll(Person.class, "age > ?", "60");

Toast.makeText(MainActivity.this, "删除数据成功", Toast.LENGTH_SHORT).show();

}

});

mQueryButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v)

{

List persons = DataSupport.findAll(Person.class);

for (Person person: persons) {

Log.d("MainActivity", "person name is " + person.getName());

Log.d("MainActivity", "person weight is " + person.getWeight());

Log.d("MainActivity", "person age is " + person.getAge());

Log.d("MainActivity", "person id is " + person.getId());

}

Toast.makeText(MainActivity.this, "查询数据成功", Toast.LENGTH_SHORT).show();

}

});

}

}复制代码

源码下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

signature=095ed28e83b68620637b3a67436b0f8f,SMB 3.1.1 Encryption in Windows 10

SMB 3.1.1 Encryption in Windows 1009/09/201513 分钟可看完本文内容SMB 3 encryption offers data packet confidentiality and prevents an attacker from both tampering with and eavesdropping on any data packet. Encryption has been enhanced in SMB 3.1.1. The ciph…

鸿蒙系统打通iOS,库克真的做到了!正式官宣确认截胡鸿蒙OS系统:软硬件生态全打通...

【4月25日讯】相信大家都知道,自从苹果正式举办完春季新品发布会以后,很多网友们都纷纷吐槽到“苹果的黑科技就是以换色为本,iPhone12推出紫色版本,而iMac也变成了彩虹色,很好的继承了诺基亚“科技以换壳为本”理念”&…

html标签中的文本框的值,HTML文本框的值分配给div标签的标题

线2:#msdhoni我want-什么,当用户输入一些东西在文本框(以行1)应该成为div的标题(在第2行)点击botton(在第1行)。其实想要用代码中的文本输入替换#msdhoni。jQuery代码我米使用:(请建议在这段代码的变化,使这成为可能)String.proto…

快速了解Java集合框架

1. 简介 JDK1.2 引入了 Java 集合框架,包含一组数据结构。与数组不同,这些数据结构的存储空间会随着元素添加动态增加。其中,一些支持添加重复元素另一些不支持,一些支持 null,一些能自动升序打印元素。 所有这些数据…

html分类页面,CSS网页设计 把HTML标记分类

p、h1、或div等元素常常称为块级元素,这些元素显示为一块内容;Strong,span等元素称为行内元素,它们的内容显示在行中,即“行内框”。(可以使用displayblock将行内元素转换成块元素,displaynone表示生成的元素根本没有框…

html点击图片产生事件,jquery – 图像单击HTML5 Canvas中的事件

我有一个HTML5画布,我在其中添加了一个图像,我想调用图像的点击事件,但事件不会触发.我正在写一个HTML代码和jqmobile的一些代码This text is displayed if your browser does not shown.$(function () {var ctx document.getElementById("canvas1").getContext(&qu…

html代码里面换图片不显示不出来了,微擎 Ueditor 百度编辑器 替换图片不显示问题...

问题:最近在使用微擎添加公众号平台文章时,上传图片可以显示,但是点击 html(编辑器的按钮,可以显示html代码) 时出现图片不显示问题。我是用的135编辑器挑选的图文模板,我替换完模板中的图片后,图片的链接失效&#xf…

找通项公式在线计算机,在线硬盘分区计算器工具

一、什么是分区?分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系…

湖南大学计算机网络实验,湖南大学《计算机网络》实验报告

实验一应用协议与数据包分析实验(使用Wireshark)一、实验目的通过本实验,熟练掌握Wireshark的操作和使用,学习对HTTP协议进行分析。二、实验内容1.HTTP 协议简介HTTP 是超文本传输协议(Hyper Text Transfer Protocol)的缩写,用于W…

html中dl标签和ul标签,html中dl,dt,dd,ul,li,ol标签区别和使用

html中dl,dt,dd,ul,li,ol标签区别和使用时间:2013-04-12 21:48 来源:未知 | 作者:易享学习网| 本文已影响 人ul: unordered listsol: ordered listsli: Listsol 有序列表:………………表现为:1……2……3……ul 无序列表,表现为li前面是大圆点…

国家开放计算机应用基础模块1答案,完整word版,《国家开放大学学习指南》计算机应用基础网上作业答案(完整版)...

作业1(本次作业覆盖“模块1 Windows 7 操作系统”的内容,请在学完模块1后完成本次作业,要求第8周内完成。满分为40分,其中基础知识部分10分,Windows 7部分20分,网络部分10分。单选题50道、填空题50道)基础知识选择题(共…

webview 本地 html空白,WKWebView加载本地html遇到的坑与解决办法

1、字体变小解决办法Swiftlet headerString ""self.wkwebview.loadHTMLString(headerString.appending(html), baseURL: nil)Objective-CNSString *headerString "";[strongSelf.contentWebView loadHTMLString:[headerString stringByAppendingString:m…

偷用计算机作文,偷玩电脑作文5篇

偷玩电脑作文5篇篇一:偷玩电脑的滋味星期天,我在家里看电视,妈妈很晚才回来,我只好在家等,看了一会,电视节目没了,我把电视关掉,看了会书消磨时间,我又写了会作业&#x…

中科院计算机学院王宏,王宏-中国科学院大学-UCAS

发表论文(1) SIL verification for SRS with diverse redundancy based on system degradation using reliability block diagram, Reliability Engineering and System Safety, 2017, 第 2 作者(2) New considerations for SIL verification of functional safety fieldbus co…

钢铁厂计算机相关岗位需要倒班吗,钢铁厂工人倒班的三个阶段,请对号入座!...

原标题:钢铁厂工人倒班的三个阶段,请对号入座!刚开始钢铁厂倒班工作,感觉倒班好,夜班有啥,通宵可以感受夜的宁静,深夜闲暇之余还可以仰望星空,思考人生,白天自由时间多&a…

计算机文化基础B卷期末,《计算机文化基础》上机试卷B

课程代码: 座位号:新疆大学2008- 2009 学年度第一学期期末考试《计算机文化基础》上机试卷姓名: 学号: 专业:学院: 班级:2008年 12月注意事项:在试卷上必须注明学号、姓名否则成绩以“零”分计算完成以下各题后,将应用程序窗口最小…

win7查看 本地计算机策略,win7系统本地组策略编辑器打不开怎么办

本地组策略编辑器是win7系统的管理控制台,通过本地组策略编辑器可以禁止通过本地组策略、禁止对某些任务使用脚本等设置。有些win7 64位系统的用户发现,本地组组策略编辑器打不开了,这是怎么回事呢?会出现这种情况很有可能是控制台…

苹果x计算机按键有声音吗,iPhoneX拍照总有声音怎么办?拨动静音键即可关闭拍照声!...

我们知道,国行iPhoneX拍照默认是有声音的,完成拍照一瞬间会发出发发出咔的拍照音。不过,我们有时候在夜间或者安静环境下,想要静音拍照,那么该怎么做呢。下面小编详细介绍下iPhoneX相机声音关闭方法,希望对…

计算机打字测速,电脑的打字测速软件分享

对于电脑工作人员来说,打字是我们每天都会接触的,作为网站编辑来说,每天就是打字,打字,打字,因此,打字速度一定不能慢,不然就会大大的影响工作效率。下面是学习啦小编为大家整理的关…

2012服务器系统安装iis,Windows Server 2012服务器管理系统安装配置IIS8.5教程

IIS8.0是windows Server2012自带的服务器管理系统,和以往不同,IIS8.0安装和操作都比较简单,界面很简洁,安装也很迅速。今天我们重点完整的演示下windows server 2012上面配置IIS8.5的详细安装。windows server 2012上面配置IIS8.5…