Navicat for Premium 9.0.2激活(【Android】18.0 SQLite数据库——LitePal的使用及SQLite数据库怎么查看)

Navicat for Premium 9.0.2激活(【Android】18.0 SQLite数据库——LitePal的使用及SQLite数据库怎么查看)

1.0 随着android编程的版本和工具的不断更新,一些学习内容出现失效、弃用现象。写这个同时也是给自己做笔记。
2.0 Android系统内置数据库,SQLite轻量级的关系型数据库,当然,使用起来其实很麻烦,还需要熟练使用SQL语句。
3.0 开源让Android开发者收益良多,导致GitHub上有成百上千的优秀Android开源项目,当我们使用开源库LitePal时,将会特别感受到SQLite数据库使用的容易性。
4.0 LitePal项目主页当然有详细的使用文档,地址是:GitHub – LitePalFramework/LitePal: 一个Android库,使开发人员非常容易使用sqlite数据库
5.0 配置LitePal。

编辑app/build.gradle文件,在dependencies闭包中添加如下内容:


添加这行代码中,“org.litepal.android:java:”是固定的,后面的版本号可以去 LitePal项目主页上查看。

6.0 新建一个项目,我的目录结构如下:
16102290-ea92d718dede816d.png

2019-02-18_.png

当然这里也不要忘了,更新下编程环境,点这个:

16102290-415400e3c7b6ca68.png

2019-02-18_.png
7.0 litepal.xml内容如下:

dbname 标签用于指定数据库名
version 标签用于指定数据库版本号,这里我因为已经玩了几轮了,已经更新到2。
mapping 标签里面都是全路径名称下的具体的表。

8.0 最后还需要配置下LitePalApplication,修改AndroidManifest.xml中的代码,如下所示:

主要是application标签下增加android:name=”org.litepal.LitePalApplication”,其他都是自动生成的。
这样LitePal的所有功能都能正常工作了,LitePal配置工作完全结束。

9.0 LitePal最大的好处,就在于她是相当于面向对象的,严谨地说,叫做采用的是对象关系映射(ORM)的模式。

这样可以用面向对象的思维来操作数据库,而不用再和SQL语句打交道,并且可以直接指定好了数据的数据类型。

例如在这个项目中,再定义一个Book类,代码如下:


可见这是一个典型的Java bean。相当于对应数据库中的Book表。

10.0 由于前面已经描述了litepal.xml中的代码,事实上,坐好Book类,还需要在这个文件中用mapping标签来声明要配置的映射模型类。这里就不再贴代码了。
11.0修改MainActivity.java中的代码,创建数据库:

这里用了LitePal.getDatabase();创建数据库,运行,可以那个Button控件(最后一次性贴activity_main.xml的代码,里面到时候会配置4个按钮控件),数据库创建成功。

12.0 怎么可以查看数据库是否真的创建好了,在我的参考书里面是通过adb.exe,在命令窗口,通过命令行查看,但是Android6.0以后的版本的模拟器,这个方法根本进不去数据库。

所以我用的第二种方法。
12.1 首先你得装一个Navicat Premium,数据库可视化软件。
我的是Navicat Premium 12。

12.2 然后运行项目后,按钮,创建数据库。然后打开Android studio,在右下角可以看到Device File Explorer,接下来的操作如图所示:

16102290-86a0dd9efc2dec37.png

2019-02-19_.png
16102290-e79cc2b3ba39c3df.png

2019-02-19_.png
16102290-ef4a880ce31720f5.png

2019-02-19_.png

当然,如果你找不到Device File Explorer,可以到View→Tool Windows→Device File Explorer:

16102290-8d32fd92fd3b6e6f.png

2019-02-19_.png

如果这样都没有的话,那就凉凉了……

12.3 接下来打开Navicat Premium ,SQLite,操作如图:

16102290-91b8a0c4b7a05f91.png

2019-02-19_.png

选择数据库文件,

16102290-52067d4fb184a5e8.png

2019-02-19_.png

找到保存的目录,选择目录文件,打开

16102290-dfdbaed2a117b301.png

2019-02-19_.png
16102290-deebc4caf5464ee4.png

2019-02-19_.png

这样,就可以查看到相关的内容了(我的因为多写了别的代码,导致里面有数据)

16102290-d4b082b131320093.png

2019-02-19_.png
13.0 常说的增删查改。首先是想添加一个出版社,直接修改Book代码,添加一个press字段即可,上面的代码,已经是添加完毕的。
14.0 如果还想再添加一张Category表,那么只需要添加一个Category类即可:

Category.java


但别忘了在litepal.xml中增加一个mapping(在上面贴的完整代码中已添加好):


15.0 添加数据,LitePal进行表管理操作时不需要模型类有任何的继承结构,但是进行CRUD操作时就不行,必须继承LitePalSupport类才行(之前是继承DataSupport类,现在已经被弃用)

上面可以看到我们的Book类已经被我加上了继承结构,但在创建表时,可以不用该继承。

添加数据,将数据设置好,调用下save()方法即可,只需要修改下MainActivity.java中的代码(当然,这里又增加了一个Button按钮):


16.0更新数据,如下:

MainActivity.java


当然,还可以更加灵巧的更新数据:


上面updateAll()方法的意思是匹配Book表中,所有名字叫“中国古代历史“”,而且作者是“睡醒著”的所有数据,将他们的价格和出版社给改了。

还可以将某个数据恢复成系统默认值:


17.0 删除数据,如下:

MainActivity.java


上句话的意思是,删除Book表中所有价格小于23的书的数据。

18.0 查询数据,很简单:

在Button控件监控的基础上,直接增加如下代码:
18.1 查询Book表中的所有数据:


18.2 查询Book表中的第一条数据:


18.3 查询Book表中的最后一条数据:


18.4 只查询Book表中的name和author这两列数据(对应SQL中的select关键字):


18.5 只查询Book表中的页数大于400Navicat for Premium 9.0.2激活的数据(对应SQL中的where关键字):


18.6 查询Book表,将查询结果按照书价从高到低排序(对应SQL中的order by关键字):


其中“desc”表示降序排序,不写或者”asc”表示升序排序

18.7 查询Book表中的前3条数据:


18.8 查询Book表中的第2条、第3条、第4条数据:


limit(3)查询的是前3条数据(第1、2、3条),再加一个offset(1)进行位置的偏移,意味着查询第2、3、4条数据了,这两个方法相结合对应SQL语句中的limit关键字。

18.9 划重点的来了,可以把select()、where()、order()、limit()、offset()五个方法任意组合,以完成一个复杂的查询操作,比如查询Book表中第11-20条满足页数大于400这个条件的name、author和pages这3列数据,并将查询结果按照页数的升序排列:


18.10 最后,如果LitePal这都满足不了你穷凶极恶的需求,那么它仍然支持使用原生的SQL来查询:


当然,这样数据需要取出来的话,就得通过Cursor的各种get方法了。

END

今天的文章
Navicat for Premium 9.0.2激活(【Android】18.0 SQLite数据库——LitePal的使用及SQLite数据库怎么查看)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/119913.html

(0)
编程小号编程小号
上一篇 2024-07-10 12:46
下一篇 2024-07-10

相关推荐