坑:Litepal save方法返回true却没有保存

在开发 Madoka 日记时,做到导出导入的功能时,我想偷个懒导出直接用 Gson 将 Java 对象转换为 json 然后放在 txt 中,导入的时候再将 json 转为 javaBean 就行啦。

而数据库我用的是 Litepal 直接搞,使用这个库的好处就是速度快,方便,适合新手。

但其实 sqlite 的语法和一些其他的语句并不难,所以用这个库就是为了方便…

使用 Litepal 储存数据时,需要调用 save() 方法。

这里我就遇到了一个问题,明明 save() 方法返回的是 true ,但数据库里没有需要保存的数据啊?

1
2
3
Gson gson = new Gson();
Diary diary = gson.fromJson(json, Diary.class);
return diary.save();

这是调用 Gson 将 json 转换为 javabean 对象。

明明 Diary 的内容全是正确的,我开始询问度娘。

结果没找到跟我的问题直接相关的文章,结果我看到了有个人在吐槽啥 setting getting,我就想到了会不会是因为没有调用 Diary 的构造方法?

Diary 作为一个 Litepal 的,它是继承自 LitePalSupport 的,会不会是因为没有调用 LitePalSupport 的构造方法呢?

我将导入代码改了一下:

1
2
3
4
5
6
7
8
Gson gson = new Gson();
Diary diary = gson.fromJson(json, Diary.class);
Diary saveDiary = new Diary();
saveDiary.setId(diary.getId());
saveDiary.setCreatedTime(diary.getCreatedTime());
saveDiary.setLastUpdatedTime(diary.getLastUpdatedTime());
... 省略一万个代码
return saveDiary.save();

果然,最后正常了…

(水文真开心)

咕咕咕

Android Shizuku源码分析 第二篇

又是前言

上一篇的 Shizuku 源码分析,我大概从我们开发的应用到 ShizukuService 再到 SystemService 都通了一遍。在文章的结尾我只提到了 moe.shizuku.service 包下的 Starter 这个 Java 类的 main 方法启动了整个 ShizukuService ,所以我们才能愉快地调用 Shizuku 的 API。

我们接下来要更深入分析,去 Navtive 层看看。我想要知道 Starter 的 main 方法又是谁调用的?怎么调用的?

Android Shizuku源码分析

前言

上一篇文章我使用了 Shizuku 去调用系统API:文章链接

这次就来看看 Shizuku 的源码是怎么写的。

最开始我用 Notepad++ 看,最后还是用 as 看源码好点吧。

官方文档

酷安下载 ShizukuManager

Watch it on GitHub

Shizuku 是什么?

Shizuku app 会引导用户使用 root 或是 adb 方式运行一个进程(Shizuku 服务进程)。

  1. 应用进程启动时 Shizuku 服务进程发送 binder 至应用进程
  2. 应用通过该 binder 与 Shizuku 服务进程交互,Shizuku 服务进程通过 binder 与 system server 交互

Android 监听第三方Activity的一举一动

前言

距离上一次更新也已经是六个月前了。感觉2019年过得真不咋样,什么也没干成吧,没有什么进步。

不知不觉又是新的一年,2019是去年,2018就成了前年了。

这个冬天我们这都没怎么下过雪,积雪的话我知记得有一次,融化得还很快。

国内也出现了传染病,迄今为止有五千多人中枪了吧。现在也不让出去,亲戚也都没有拜完,现在天天在家窝。(不过好处就是不用上学啦)

今年的央视春晚也没有看,bilibili还搞了拜年祭,拜年祭真的是一年比一年棒了,可惜我也没兴趣看。

最近在补魔法少女小圆,看得很慢。1月新番也没啥期待的,只有一部喜欢的:某科学电池炮T,毕竟是我的入坑番。还有一部是异度入侵,我不太喜欢目前的剧情,唯一喜欢的就只有OP了。

哦其实还有Acfun独播的达尔文游戏,也还可以(因为我喜欢女主的性格)

总结:一月新番喜欢的只有一部番和一首歌,没了。

感觉越来越没意思了,也可能是我心态的变化,现在我都一直在看以前的番,新番我已经没啥可期待的了。

Android笔记#1 View的事件分发机制解析

咕咕咕

基本上本文是把《Android艺术开发探索》这本书中的 View 事件分发机制 这一章节总结一下。

很久以前的 Android 开发笔记太鸡儿水了。

简单介绍

众所周知,一个事件序列是由 MotionEvent.ACTION_DOWN(按下) 开始,多个 MotionEvent.MOVE(移动) 和一个 MotionEvent.ACTION_UP(抬起) 结束。

一个事件的传递顺序:Activity - > Window -> DecorView - > RootView (你所设置的 View)

ViewGroup 是继承自 View 的,这点也是基础中的基础了。

知乎日报的坑

没想到吧!本鸽子想起自己的博客啦!

暑假到了,感觉时间跟不要钱一样,没有了时间概念了233

我实在没啥可写的,就随便说说这两天干了啥吧

昨天我开始写一个第三方的知乎日报客户端

因为太无聊了,就随便搞搞吧。用的是这个API

简单说一下之前遇到的问题吧,以及开发的过程

使用Hexo

咸鱼不咸从今天(2019.5.25)开始使用Hexo

用了一年多的 Typecho ,换了新的博客程序虽然有点不习惯,但是我觉得 Hexo 比 Typecho更加好用

之前在 Typecho 写的文章我并不打算搬过来,评论也是如此,所以基本上相当于重新写一个博客…

之前的 咕咕咕 事故导致博客失去了许多朋友QAQ

写博客的这一段时间,我也有许多的收获吧

咸鱼不咸的初心只是因为无聊,而现在则是想要有一个在复杂的网络中发声的立身之地

在茫茫海洋中,唯有这小小的避浪处能给我安心吧

这也算是一个新的开始吧,以后更新博客的速度就随缘吧233333

Hello World

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×