Gradle Compile Exclude

Android兼容库从24.2.0开始,对support-v4做了分库处理,原有的support-v4库拆分成为了support-compat、support-core-ui、support-fragment等库,本着稳定的原则,一直到25.0.0才开始在项目中升级support-v4库,将原有的support-v4替换为support-core-ui(其实,项目中只用到了ViewPager,SwipeRefreshLayout而已)以减少apk体积。然而问题来了,编译时出错,提示存在重复的类库。为保证support库版本一致,我还统一定义并使用了各模块的support版本变量,使用gradle dependencies查看依赖的时候,发现有个第三方库依赖于于support-v4:23.0.0。结果导致编译不通过。google了一把,发现gradle complie竟然还可以传参数。来exclude某些库。

Fragment加载WebView

做Android 5年多了,第一次在Fragment中使用WebView,先将Activity中的代码复制过来改改,没有想到,竟然无法正常显示,而是打开手机浏览器渲染WebView,返回后,Fragment一片空白。这还能忍受?Google一把,说是要继承WebViewFragment,但是一旦继承,就破坏了我的框架结构。然后看了下WebViewFragment的源码,并不复杂。所以就将相关的源码合并到现有的fragment中,本以为可以妥妥地解决问题,结果还是那样。最后在stackoverflow上解决了终极解决办法,那就是需要设置特殊的WebViewClient。

Copy Code

private class H5WebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView webView, String s) {
        webView.loadUrl(s);
        //  一定要return true,不然就会使用浏览器打开
        return true;
    }
}

Android ADB连接海马玩模拟器

使用海马玩模拟器来调试Android还是挺方便的。最近因为真机连接不稳定,又想到了海马玩,不知道怎么回事,竟然运行不了模拟器了,只好下载了一个新版本,然后重新安装。安装完毕之后,竟然找不到devices。我记得,以前可是好好的呢。搜索了一下。说是要手动连接

将hexo博客部署到coding.net

Hexo博客双线部署的姐妹篇。详细详述如何将hexo博客部署到coding.net

使用Travis-CI构建Android应用

简介

注册Travis-CI都N长时间了,但是一直没有使用它来构建。今天先使用它构建了两个小的node.js项目,还算顺序,然后使用它来构建QuickAF,没有想到竟然是一条如此艰辛的路!特地将构建过程记录如下。

使用git打包修改的文件

使用git archive可以将传入的文件列表打包为一个zip档案。对于一些大系统,如果只是修复bug,可以做到热替换的话(比如php,js等解释型语言),可以使用此命令将修改的文件添加到zip档案,以提交局方升级。

Hexo页面加载性能优化

引言

影响网页打开速度的原因有许多种,本文主要对部署在github上的hexo博客页面的加载速度做一个分析。然后给出几点相关的优化建议。

Git删除受管控的文件

在提交代码时,有许多的初学者甚至是老程序员也会犯一个错误,那就是把一些不应该提交到源代码仓库的文件也提交到仓库,比如编译后的输出bin/目录,本地工程的一些设置文件如.idea,.settings。如果一旦提交到远程仓库,那么还将影响到团队中的其他成员。每次更新的时候,都会将别人的设置更新下来,可能会导致编译不通过等诸多问题。一旦这些文件受git管控,那么想删掉它就麻烦了。如果本地删除,再commit和push,那么其他成员更新代码的时候,他本地的也会被删除。对于编译输出的文件还好,再编译一次就可以。如果是环境设置类的文件,那么对方就惨了。会导致许多莫名的错误。

Hexo博客双线部署

引言

鉴于github.io在国内访问速度较慢,而且github.io不会被百度收录,所以在将hexo博客站点部署到国内的站点是一个不错的选择。之前,国内有一家与github类似的gitcafe公司,不过在今年的时候,gitcafe已经停止服务,用户数据全部迁移到coding.net了。coding.net也提供pages服务,所以我选择coding.net作为国内的博客部署平台。

PHP + Ajax示例

PHP是非常流行的Web服务端语言,Ajax是Web前端异步加载的技术。刚刚学习PHP,发现PHP真是强大,对Ajax或RESTFul的支持非常好,代码写起来也非常简单。今天分享一个个人学习的测试示例,前端使用Ajax向服务端发送请求,服务端使用PHP处理请求,并返回响应信息。接口规范遵循RESTFul。