0%

RefreshIndicator是Flutter用于下拉刷新的控件,但在数据需要异步请求时,则存在一些常见的误区。

当前文章Flutter示例运行版本:1.22.4

阅读全文 »

MultiType是一个很好的多类型列表视图库,它在实现一些复杂的recyclerview列表时非常方便,而作者所举的例子也确实适合大部分场景,但看过timemachine的源码后,我认为multitype仍然不太适合聊天应用的列表布局,毕竟timemachine聊天布局的adapter也只是用int值来区分布局类型。

主要原因在于multitype是通过类型与布局绑定,而在聊天应用列表里,一般都只有一个message类型,我们需要通过两种标识,来区分左右布局以及内容布局,而adapter的viewtype就是个int值。当然也可以在开发之初就定义好信息内容的子类型,但这样就变成项目必须去“适应”第三方库了,对于任何一个开发者来说这都是不好的习惯。不过multitype提出了一个很好的布局实现思路,参考仿造微博的数据结构和二级ItemViewBinder

阅读全文 »

crt转换bks证书

下载bcprov,放至java/jre/lib/ext。

执行以下命令:(D:\server.crt为证书地址,D:\server.bks为证书生成地址)

keytool -import -alias serverkey -file D:\server.crt -keystore D:\server.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

pem转换bks证书

命令行执行:(D:\server.pem为证书地址,D:\server.bks为证书生成地址)

keytool -importcert -v -trustcacerts -file D:\server.pem -alias ca -keystore D:\server.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

当使用SSL和服务器建立远程连接时,若采用的证书版本不对,则可能会报错

报错内容如下

1
2
3
java.io.IOException: Wrong version of key store.
com.android.org.bouncycastle.jce.provider.JDKKeyStore.engineLoad(JDKKeyStore.java:812)
...
阅读全文 »

WebView是现阶段混合开发必不可少的组件,但由于google几乎每个版本都在修改其内核,导致有很多坑要踩。

阅读全文 »