Android简单使用LitePal数据库学习笔记(Android与数据库 (一))
简单介绍
SQLite是一个C语言库,它实现了一个 小型, 快速, 自包含, 高可靠性, 功能齐全的 SQL数据库引擎。SQLite是世界上使用最多的数据库引擎。SQLite内置于所有移动电话和大多数计算机中,并且捆绑在人们每天使用的无数其他应用程序中。(Android系统内置SQLite数据库)
LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。
关于Litepal的项目地址
https://github.com/LitePalFramework/LitePal
第一步,引入LitePal
在项目的build.gradle中添加引入:
implementation 'org.litepal.android:java:3.0.0'
第二步,配置litepal.xml文件
在src/main下新建一个assets文件夹,在文件夹下新建一个litepal.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
<dbname value="LitePalTest" ></dbname>
<version value="1"></version>
<list>
</list>
</litepal>
第三步,新建MyApplication.java
在我们这个类中初始化LitePal
package com.example.sqlitetest;
import android.app.Application;
import android.content.Context;
import org.litepal.LitePal;
public class MyApplication extends Application {
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
LitePal.initialize(context);
}
public static void setContext(Context context) {
MyApplication.context = context;
}
public static Context getContext() {
return context;
}
}
第四步,在AndroidManifest.xml文件中注册
android:name=".MyApplication"
第五步,新建javabean(作为数据库表名)
添加一些常用属性:
package com.example.sqlitetest;
public class Litepaltable {
private int id;
private String user_name;
private String user_password;
private String user_phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getUser_password() {
return user_password;
}
public void setUser_password(String user_password) {
this.user_password = user_password;
}
public String getUser_phone() {
return user_phone;
}
public void setUser_phone(String user_phone) {
this.user_phone = user_phone;
}
}
在litepal.xml文件中配置一下:
<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
<dbname value="LitePalTest" ></dbname>
<version value="1">
//每次对表的更新,添加都要在value的值上加1
</version>
<list>
//每个新建的表都要放在这里,以自己的包名.类名
<mapping class="com.example.sqlitetest.Litepaltable"></mapping>
</list>
</litepal>
修改activity_main.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button_litepal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="创建数据库,表"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
修改MainActivity.java
package com.example.sqlitetest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import org.litepal.LitePal;
public class MainActivity extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button_litepal);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//建库语句
LitePal.getDatabase();
}
});
}
}
效果图(关于如何可视化看到表):
第一步,打开View/Tool Windows/Device File Explorer(Android studio 版本 3.2.0 之后的是否在这里查看就不清楚了)
然后打开data/data/com.example.litepaltest/database(每个人自己的项目包名):
这三个文件都要保存下来,如果只保存第一个LitePalTest.db则只有一个库,我们创建的表咋下面两个文件中,我们这里右键databases,选择save as然后点ok(记住,将上面蓝色路径复制,然后直接在我的电脑中浏览这一路径):
路径如图:
这里我为了下一步使用可视化软件找到db文件位置,直接将这三个文件复制到了桌面的database文件里:
为了可视化,我使用的是Navicat Premium 12(或者只是为了看sqlite数据库的文件的话就百度一下navicat for sqlite 找有注册机的)
可视化查看SQLite数据内容
Navicat 系列的对于Sqlite数据库的操作都是一样的,第一步点击连接:
在打开的界面中选择我们复制到桌面的数据文件路径:
其中用户名与密码可有可无,点击确定。
打开连接,打开数据库,查看表,然后就可以看到我们创建的表litepaltable:
好了,本篇关于Android简单使用LitePal的介绍就到此结束了。
GitHub地址:https://github.com/Tobey-r1/RepositoryTest
欢迎讨论!