Facebook Stetho 使用学习

今年年初,facebook开源了一个Android开发调试工具,叫stetho,应该是单词stethoscope的一部分吧,意为诊断器。

代码托管地址: https://github.com/facebook/stetho

在项目中添加相应代码,通过Chrome DevTools连接设备后具备以下功能:

  1. 可以在Chrome里进行网络访问检测,可以查看请求链接,请求头,JSON数据等
  2. 不root的情况下查看Sqlite数据库,并且可以使用sql语句去操作
  3. 最近又升级了,API 15 以上能查看View hierarchy了
  4. dumpapp 工具提供强大的命令行接口来访问应用内部

更新比较频繁,前几天更新到1.1.0了,使用AndroidStudio可以很方便的添加到项目中。当然也可以从github页面下载最新Jar包。

查看更多

分享到 评论

开源许可协议学习

一直在用开源代码,但是对于那些 开源许可协议 了解太少,惭愧。

关于几个主流协议间的区别,一图顶千言:

GitHub上开源项目协议使用情况:

由图可以看出 MIT 限制是最宽松的,其可谓为所欲为,因此使用量也是最大的。当然图中的协议不全,还有比GPL更严格的协议AGPL。每个协议的具体内容,我看不懂,能区别他们就好。要商用的软件就不能采用带GPL系列许可证的,不过在中国这方面就…

以下是具体的介绍,文字均来源于网络。

什么是软件许可协议?

查看更多

分享到 评论

Retrofit的科学使用:Singleton

单例模式很适合Android开发,对于Retrofit(Android开发中一个非常优秀的Rest Client),也要使用单例模式获取实例。

下面是Jake大神在stackoverflow上关于Retrofit的使用问题的回答。

Both the RestAdapter and the generated instance of your services (MyTaskService in this case) are extremely expensive objects and should be used as singletons.

This means that you should only ever call restAdapter.create once and re-use the same instance of MyTaskService every time you need to interact with.

I cannot stress this enough.

You can use the regular singleton pattern in order to ensure that there only is ever a single instance of these objects that you use everywhere. A dependency injection framework would also be something that could be used to manage these instances but would be a bit overkill if you are not already utilizing it.

从中我们可以看到 Jake表示 Retrofit每次创建RestAdapter和自定义的接口对象是很耗费资源的,因此不需要每次去创建,要使用单例模式。确实Retrofit是通过添加运行时注解,采用动态代理的方式去创建实例的。

查看更多

分享到 评论

基于Hexo框架的静态博客搭建

BBS,WordPress都折腾过,弄来弄去最后发现GitHub上可以搭建自定义域名的静态页面博客,所以摸索了一下如何在github上搭建自己的博客。开始按着GitHub pages的介绍和文档,搭建了基于Jekyll的博客,但是折腾了很久都没发现自己喜欢的博客模板。后来搜索,发现了Hexo框架,顿时觉得这正是我所需要的。到后面发现了国内的GitCafe,把博客部署到GitCafe上,访问速度快了很多。

Hexo框架的安装也没有Jekyll繁琐,对Windows的支持比Jekyll好很多。Jekyll在windows下各种问题。

Hexo的安装

查看更多

分享到 评论