遊戲/程序/更新/二次開發/小作品相關發佈
Oct 15
学习使用fromhtml方法来设置比较花哨的textview样式踩坑实录。
首先,得出的结论是:复杂的文本样式,并不推荐使用formhtml来实现,退一步自己手动设定span内容和范围,进一步使用webview来渲染。不是必须一定不要用fromhtml!

Sep 28
0.什么小红点?

小红点是值得qq和微信上那个可以拖动消失的提示红点:

點擊在新視窗中瀏覽此圖片

当然,小红点本身并不是疼迅发明的,而是我们大名鼎鼎的苹果(专利:http://www.google.com/patents/US8135392 )。当然,真的是不是苹果我们不得而知,不过这次腾讯做得很成功,为小红点添加了可拖动的功能后,几乎“重新定义了小红点”,之后的国内应用大部分做到小红点时,有消除需求的均会加上拖动消失的效果,以达到和腾讯小红点相似的用户体验。
当然,作为自己的产品,我们也有一定需求需要小红点这样的控件,浏览网络上github上各种个样的类似模仿控件,在我能找到的范围内并没有实现效果能够让我满意的开源代码,因此,这里我们尝试自己实现一个小红点。

Sep 21
news参看文章,这个写得好
Spannable是啥?Spannable是设置文字样式的基础类,它引出和相关的一大堆类无非就做了一件事:告诉我这个文字样式是啥到底怎么渲染有些什么效果。

點擊在新視窗中瀏覽此圖片

这是Spannable在文字相关类中的关系图,包括SpannedString在类的,所有Spanned都是继承于Spannable接口,这和String和StringBuilder并列为三大字符串类。如果说String为普通字符串,StringBuilder是高级动态字符串,那么Spanned就是附带样式的高级字符串了,而所谓Spannable,就是描述的这个字符串的样式部分。

Sep 14
这个layout不是说的界面布局,而是文字渲染布局,基础类是一个叫Layout的抽象类。layout完成了和文本渲染几乎所有的相关工作,只要一个view调用layout来测量大小,来绘制图像,那么它就能和textview的表现几乎一模一样。textview里按照不同的判断条件使用了不同的layout继承类型,下面,我们就就layout基类(抽象类)和各个继承类的使用展开整理。

Aug 31
大家都知道,在android的webview中,有非常非常严重的bug。
那就是4.2以下的webview的JavascriptInterface可以访问任何java本地代码,以至于程序完全被劫持。
更惨的是,android旧版本自带一个searchBoxJavaBridge_的接口,导致漏洞直接暴露在互联网中。

查看乌云上近年来的记录,大到微信,小到快车,无数app都经历过次劫。
android4.2以上修复了这个bug,并提供了更安全的解决方案:在提供的方法前添加注解:@ JavascriptInterface
因此,我们需要一个合理的解决方案。

当然,方法很多,比较推荐的是微信采用的jsbridge方案(参看解包微信的源码,js代码并没有混淆)。
然而对于安卓开发者,我想追求一种更优雅的,可以和4.2以上官方方案自然衔接的方案。

Aug 30
ZXING库是一个由谷歌出品的开源识别库,可以解码几乎所有一维和二维的图形,当然,也可以编码。zxing生来是为java和android二开发的,而现在,它已经被移植到包括ios在内的各个平台。官方地址是:https://github.com/zxing/zxing,在其中可以看到各种example和各个语言的移植或者接口。

只是使用zxing的话,最核心的调用方法是:
- 解码:new MultiFormatReader().decodeWithState(bitmap),传入BinaryBitmap格式的图像,一句话就可以得到返回的结果
- 编码:new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, width, height, hints),传入一个字符串和要编码的格式,大小等,就可以获得一副BitMatrix格式的图像数据已供使用了

Feb 27
本來是賀春的小作品,兼做為新特性的測試與展示。shy
本來應該在春節期間發出來的~~~但是出去玩去了沒!完!成!love二了

地址是【點擊進入
Feb 7
用JS讀取文件這個命題似乎感覺很奇怪
事實上指的在HTML5相關的API中,文件類->Blob->Buffer
讀取文件則是用DataView類讀取ArrayBuffer的過程