背景我在项目中不止一次的要求写下拉菜单以选择参数,之前写的很乱,难以复用,写过单个菜单的,下次项目又要求两个menu,而且都要带translate动画效果。所以这次整理出一个自定义View(其实是个自定义RelativeLayout)。 效果功能并不复杂,支持一或多个ListView与本控件绑定,支 ...
阅读全文 »

Gson使用技巧小结背景json格式在移动端开发中再熟悉不过了,相较xml等格式,json有易读、体积小等优点。在解析json格式时,个人比较习惯使用Google的gson工具包,之前看过gson和阿里fastjson的性能比较,貌似gson在数据量不大时性能更好。目前项目级别使用gson完全能够胜 ...
阅读全文 »

TouchEvent简介复杂View基本都有点击事件的处理,如若处理不当,则难免造成很差的用户体验。最简单的例子,比如合理利用ViewConfiguration提供的工具变量,用来达到Android一致的触控体验。 Test场景从几个简易的场景来初步搞清楚事件传递过程,Activity中放置View ...
阅读全文 »

引有点顾不上Blog,一直在忙项目和琐事,还想着学其他语言..自定义View一直在用,但是缺少系统的总结,开发过程中也难免google,很多细节容易混淆。在此理一遍流程和需要注意的点。 UI绘制UI,继承自View/ViewGroup后,一般还需要复写最基本的二/三个方法(除onLayout)–on ...
阅读全文 »

简介Log是常用的调试手段,项目上线后发现有莫名其妙的问题,这时除了单纯的Crash收集外,还想到能够收集到用户本地的Log信息。这就要求增加可输出Log日志到本地的模块。 棘手的问题主要有: 单条日志如何高效组织,并包含基本的Line、Method信息。如果单条日志过长,则很容易撑大本地log文 ...
阅读全文 »

基本概念 内存泄露,即MemeryLeak,是平时Coding非常容易忽视的点..像我之前对泄露的认识和针对性都不强,写的代码马马虎虎就可以,毕竟Leak并不像OOM那样,小白都可以轻易发现且容忍度为0。对泄露的定义,参考Wiki: 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内 ...
阅读全文 »

引本次广州出差,有机会接触到NDK开发,当然还只是习得皮毛。个人认为C/C++实现优点有三: 脱离JVM,运行效率高。 安全性强,核心代码不易破解。 代码可移植性强,此次核心代码就共用于IOS和Android。 实现 1.写native方法。 public class NdkEngine { ...
阅读全文 »

初识DialogFragmentDialogFragment是Android 3.0引入,Google官方更加推荐使用DialogFragment来代替Dialog使用。原因与推荐Fragment类似,使用DialogFragment归根结底也是使用Fragment,它具有相对完整的生命周期并且由F ...
阅读全文 »

问题引入乱码问题虽小但遇到的可能性非常大。项目初期,没发现最初引入的library-project是GBK编码的,而主项目则是UTF-8码。在library中加入部分文字注释后,会发现不论怎么改project的编码格式都不能照顾所有文件正常显示。这在eclipse中问题并不突出,可能是因为build ...
阅读全文 »

需求同”Git技巧–自动Merge逻辑(.gitattribute配置)”,为了生成多个逻辑一致但resource有些许差别的系列apps。利用original-package能够在不更改源码结构的条件下更改项目包名。 属性介绍关于的original-package标签的资料大多如出一辙,这里简单讲 ...
阅读全文 »