1.从文件系统直接查看数据库时:
在Android Studio开发数据库时 , 可以打开手机或者 虚拟机的 文件系统(即 Android Studio内置集成 ADB 工具)
插入到数据库的数据先保存到 xxx.db-wal 文件里 ,不会直接写入到 xxx.db 文件
所以 要直接查看时,先看这个文件 来鉴定
.
xxx.db-wall 文件的写入方式是 : 最新的记录在文件结尾,最旧的记录在文件开头。
2.LitePal 数据库重构
虽说只要做一些改动之后数据库,往数据库版本号加一,就会帮你升级文件
其实,litepal 不会重构数据库 , 只会在软件层面结束掉这些事的,所以不能实现 我们想要的效果
LitePal.initilize_database()方法也不会重构数据库
解决:
先 LitePall.delete_database(“database-name”);
再Lite Pal.getDatabase();
3.LitePal存储日历形式的时间
LitePal 无法兼容 Java.sql.Date 和 Java.sql.TimeStamp 两种数据类型
但 兼容 Java.util.Date 但不是 以 DateTime的形式保存的 而是 Integer 的形式 保存 Date 的LongTiime
4.LitePal自定义指定映射时的忽略有些变量
class Task extends DataSupport{ @column( ignore = true ) private int ortdinary_variable; }
这样litePal在建立数据库时就跳过 该变量 , 不会建 列 ordinary_value 列
5.LitePal指定列的各种属性
在每一个变量上一行@column()在括号里面指定这几个属性的非默认值就okpublic class Image extends DataSupport implements Serializable { @Column(nullable = false,unique = true) @Column(ignore = true) private final static String pattern = "yyyy-MM-dd-HH-mm"; @Column(ignore = true) private boolean isSelect = false; @Column(ignore = true) private boolean isShowCheckBox = false; private String name; private String url; @Column(nullable = false) private Task task; @Column(nullable = false) private int task_id;