遊戲/程序/更新/二次開發/小作品相關發佈
Jan 25
KVC与KVO两个特性算是在cocoa开发中很基础很基础但是也很高端的特性。它们之所以基础,是因为他们是非常有用的特性,大部分库或者黑科技都有用到。而说他们高端...是因为我们都去用库了,实际代码中...我们基本上还真没用到。那么在实际工程使用中,到底怎么实践?

Jan 3
半年前在学习android的view与界面构成时,编写过一个小红点控件作为demo(git地址暂无)。如今学习iOS也学到了这一步,于是我将,那一个代码以相同的原理相同的逻辑移植到了iOS上(git地址暂无),练习iOS中的自定义view,同时也以此对比iOS与android的区别。
Dec 6
因为拖延症所以慢慢慢慢磨磨蹭蹭弄出来的东西,这个周末终于发版了,并且正好有大触帮我软推广导流量,简直lucky。
细节请看贴吧和喵玉殿:
http://tieba.baidu.com/p/4197343255?pid=80131749920
http://bbs.nyasama.com/forum.php?mod=viewthread&tid=55809

游戏地址是【点击进入
Oct 23
在安卓的某一些需求中,我们需要实现textview中的图文混排效果。分三种
- 在文字行中插入一张图片,比如聊天记录中的表情...。
- 第二是在类似于新闻客户端中,单列一行,居中的新闻图片。
- 第三是wiki或者论文等描述性文章中,环绕嵌入的图片。这也是最复杂的一种情况。
这三种情况依次从简单到复杂,均有不同的或合适或不合适的解决方案,按实现需求的从轻到重,在此一一列举。

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格式的图像数据已供使用了