数据库的实现
LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,并将我们平时开发最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表和增删改查的操作。LitePal的使用文档的地址:
https://github.com/LitePalFramework/LitePal
配置LitePal
我们需要在app/build.gradle文件中声明改开源库的引用就可。在dependencies闭包中添加:
implementation 'org.litepal.android:java:3.0.0'
这样我们就成功引入LitePal了,接下来就需要配置litepal.xml文件。在main目录下新建一个assets目录,然后在该目录下新建一个litepal.xml文件,文件中内容如下:
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="User"></dbname>
<version value="1"></version>
<list>
</list>
</litepal>
其中,<dbname>
标签是指定数据库的名字,<version>
用于指定数据库的版本号,<list>
用于指定所有的映射类型,稍后会用上。
配置AndroidManifest.xml
最后还需要配置ListePalApplication,修改代码如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.logintest">
<application
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">
准备工作都做完了,接下来开始操作数据库。
创建数据库和升级数据库
我们创建一个UserData类,代码如下:
public class UserData extends LitePalSupport {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
在类中我们定义了uesrname和password,并生成了对应的get和set方法。UserData类对应的就是数据库中的UserData表,类中每个字段分别对应表中每个列,这就是对象关系映射。所以我们要把UserData类添加到映射模型当中去,修改litepal.xml中的代码,如下:
```java
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="User"></dbname>
<version value="1"></version>
<list>
<mapping class="com.example.logintest.UserData"></mapping>
</list>
</litepal>
这里使用<mapping>
标签来声明配置的映射模型类。所有准备工作皆以完成,使用如下语句就可以创建数据库了。
//创建数据库
Connector.getDatabase();
进行存数据的话使用如下代码:
//存储账号密码
user.setUsername(inputUsername);
user.setPassword(inputPassword);
user.save();
取出数据使用如下代码:
username.getText()
到这里我们用到的LitePal数据库就讲解完毕。