• Android利用ListView实现多种Item的复杂布局

    在Android开发中,可能会遇到一个可滚动且布局比较复杂的界面,但它并不是一个纯粹的List,类似如下图:

    demo.png
    通常实现方法可以直接用一个ScrollView将所有内容包起来,里面是列表的部分在代码中用动态添加布局的方式实现;或者外层ScrollView,里面列表部分用ListView(或RecyclerView)实现,但这样需要解决滑动冲突问题(有时并不能很好解决)……所以最好不要同时使用ScrollView和ListView(或RecyclerView),但如果单使用ScrollView,每次滑动返回时都会重新动态加载,如果页面图片比较多,可能会造成卡顿,所以要自己做缓存判断的处理,而ListView自带有缓存机制,处理相对比较方便。

  • 信息极简化

    极简(主义),即Minimalism, 它可以是一种设计原则(如KISS, Less is More),也可以是一种生活方式(minimalist lifestyle),更可以升华为编程的哲学(如Unix尊崇的KISS原则)。

    此处只谈极简主义生活方式中信息极简,想要详细了解极简主义生活方式的,可以出门右转问知乎。:)

  • Startup News App源码简单分析

    前言

    很久之前就了解到冯大辉弄的这个Startup News, 有点类似国外Hacker news的技术分享平台,也经常浏览。后来发现Startup News的Android客户端是开源的,而网络上也有很多这种技术资讯的分享平台(如推酷,极客头条等),所以想了解下这样的资讯平台的客户端是怎样实现的,所以就有了以下对Startup News的源码的简单分析和极客头条客户端的开发。

    由于个人水平和时间有限,所以只是简单分析了SN的功能如何实现,学习其中实现方法和编程规范,至于SN用到actionbarsherlock,没使用过,而且现在有ToolBar代替,就没有详细了解了。

  • LeakCanary开源项目

    Square开源了一个内存泄露自动探测神器——LeakCanary,它是一个Android和Java的内存泄露检测库,可以大幅度减少了开发中遇到的OOM问题,对于开发者来说,无疑是个福音,下面对该库的readme进行简单的翻译:

    “A small leak will sink a great ship.” - Benjamin Franklin
    小漏不补沉大船。——本杰明 富兰克林

  • 内存泄露自动探测神器——LeakCanary

    今天刷微博,发现各位Android开源大神都在转发一条关于Square开源的自动探测内存泄露库LeakCanary的信息。

    自动探测内存泄露,这也太牛逼了吧!进入@扔物线110 分享的链接了解了下,对原文作简单翻译:(翻译水平有限,凑合看吧-_-)

  • 简单了解Android的依赖注入

    什么是依赖注入?

    首先了解下什么是控制反转?控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。而控制反转有两种,最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。(from wikipedia)

  • 设计模式思考III

    设计模式思考 II

    思考方式:
    1.这种模式怎么理解?(尽量简单易懂)
    2.类图怎样画?(代码怎样写)
    3.举个栗子?(使用场景)
    4.使用这种模式有什么优缺点?(遵循什么原则)

    ##行为型模式
    ###14.观察者模式(Observer)
    (1)理解
    对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

    (2)类图

  • 设计模式思考II

    *续 设计模式思考 I *

    思考方式:
    1.这种模式怎么理解?(尽量简单易懂)
    2.类图怎样画?(代码怎样写)
    3.举个栗子?(使用场景)
    4.使用这种模式有什么优缺点?(遵循什么原则)

    ##结构型模式
    ###7.代理模式(Proxy) 
    (1)理解
    多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介。
    (2)类图

  • 设计模式思考 I

    ##前言
    最近复习设计模式,花了不少时间,由于项目经验还比较少,虽然看得懂,能理解,但鉴于个人比较偏实践,不善于记忆,隔一段时间后,却很快就忘记了o(╯□╰)o,到真正自己说的时候也说不出来……与其看别人的总结,不如自己再根据别人的博客再思考整理一番,或许这样比反复看的效果会好些吧。下面是根据别人的博客和以下几点思考方式来重新整理的笔记:
    1.这种模式怎么理解?(尽量简单易懂)
    2.类图怎样画?(代码怎样写)
    3.举个栗子?(使用场景)
    4.使用这种模式有什么优缺点?(遵循什么原则)

    ##设计模式六大原则
    1.开闭原则(Open Close Principle)
    开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。

  • android apktool使用

    ###为什么需要了解?
    通过apktool反编译获取别人app里面的图片资源和xml文件的布局设计来进行学习。
    ###需要条件(windows平台下)
    1.配置好Java环境
    2.下载最新版的apktool的jar包:
    https://bitbucket.org/iBotPeaches/apktool/downloads
    3.测试用的任意.apk安装包: xxx.apk