摘要: Android学习系列的文章目录Android学习系列(1)--App签名(为apk签名)Android学习系列(2)--App自动更新之通知栏下载Android学习系列(3)--App自动更新之自定义进度视图和内部存储Android学习系列(4)--App自适应draw9patch不失真背景And...阅读全文
posted @ 2011-05-02 11:39 谦虚的天下 阅读(16226) 评论(14) 编辑
摘要: 稍微整理下extjs系列的文章目录ExtJs2.0学习系列(1)--Ext.MessageBoxExtJs2.0学习系列(2)--Ext.PanelExtJs2.0学习系列(3)--Ext.Window ExtJs2.0学习系列(4)--Ext.FormPanel之第一式ExtJs2.0学习系列(5)--Ext.FormPanel之第二式ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇)ExtJs2.0学习系列(7)--Ext.FormPanel之第四式(其他组件示例篇)ExtJs2.0学习系列(8)--Ext.FormPanel之第五式(综合篇)Ext阅读全文
posted @ 2008-08-29 20:29 谦虚的天下 阅读(16048) 评论(5) 编辑
摘要: 首发地址:http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ 因为推广的需要,公司需要把APK的大小再“减小”一下,4M以内! 当达到4M以内之后,公司建议说,能否再压压?2M如何? 瘦身前 因为平时就阅读全文
posted @ 2016-03-01 11:01 谦虚的天下 阅读(1943) 评论(0) 编辑
摘要: 使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进。在此,把这些相关的东西记录,做一总结。 1. 替换AndroidManifest中的占位符我想把其中的${app_label}替换为@string/app_name 如果只想替换...阅读全文
posted @ 2015-11-08 21:59 谦虚的天下 阅读(23566) 评论(4) 编辑
摘要: 在上篇中,我们已经能基本使用git了,接下来继续更深入的挖掘一下git。 更多的配置自定义信息 除了前面讲的用户名和邮箱的配置,还可以自定义其他配置: 还有一些配置,比如core.autocrlf,core.whitespace等等就点到为止,不做赘述。 忽略文件 使用.gitignore...阅读全文
posted @ 2015-09-21 11:06 谦虚的天下 阅读(868) 评论(1) 编辑
摘要: 对于初学者,从使用上先入手,往往学的最快,并从中汲取教训,再回头更深入的学习,效果尤佳。 安装git 安装git自不必说,mac已经内置了git,linux下一个命令就能搞定,windows下需要下载一个客户端安装,一切尽在官方网站: http://git scm.com/ 配置自定义信息 ...阅读全文
posted @ 2015-09-21 11:05 谦虚的天下 阅读(836) 评论(0) 编辑
摘要: 公司规模不大,成立之初,选择了svn作为版本控制系统。这对于用惯了git的我来说,将就了一段时间后,极为不爽,切换到git svn勉强能用。随后,因为产品需要发布不同的版本,而git svn对远程分支的支持又甚为不好,于是提出搭建git环境的想法。鉴于呆过的前公司,没有一家使用svn不出事的(印象最...阅读全文
posted @ 2015-09-20 22:30 谦虚的天下 阅读(3074) 评论(2) 编辑
摘要: 目的 发布自己的android library(也就是aar)到公共的jcenter仓库,所有的人都能用gradle最简单的方式引用。 为什么选择jcenter,它兼容maven,而且支持更多形式仓库,android studio最新版本已经默认jcenter了。 环境 Android Studio阅读全文
posted @ 2015-03-09 00:22 谦虚的天下 阅读(19857) 评论(21) 编辑
摘要: ##事件总线框架针对事件提供统一订阅,发布以达到组件间通信的解决方案。##原理观察者模式。##EventBus和Otto先看EventBus的官方定义:```Android optimized event bus that simplifies communication between Activ...阅读全文
posted @ 2015-01-12 01:34 谦虚的天下 阅读(21400) 评论(2) 编辑
摘要: 因为EXT和NTFS格式的差异,我一直对于windows下阅读Android源码感到不满。前几天,想把最新的android5.0的源码下下来研究一下,而平时日常使用的又是windows环境,于是专门思考了一下这个问题,总结一次。###要求有且只有一份可以下载,更新,编译的Android源码,可以在...阅读全文
posted @ 2014-12-25 00:29 谦虚的天下 阅读(4365) 评论(3) 编辑
摘要: ######11)Widget样式(Widget Style)特别说明,此处定义大量的系统内置控件的样式,对于重写原生控件的样式具有很大的参考价值。```xml @android:style/Widget.AbsListView @android:sty...阅读全文
posted @ 2014-09-29 21:46 谦虚的天下 阅读(22150) 评论(1) 编辑
摘要: 使用android studio开发项目的一些问题,功能和技巧。####1. 环境Mac OSX 10.9.5 + Android Studio 0.8.9####2. gradle项目加载超慢这是因为gradle官方下载地址特别慢导致,解决方案有2个:* VPN,干净利索。 [推荐VPN...阅读全文
posted @ 2014-09-23 10:18 谦虚的天下 阅读(36827) 评论(3) 编辑
摘要: ####1. 环境UBUNTU 14.04 + Android Studio 0.8.2####2. 安装jdkopenjdk-7是一个很好的选择:```as3sudo apt-get updatesudo apt-get install openjdk-7-jdk```不排除你需要选择一个默认版本...阅读全文
posted @ 2014-07-16 18:17 谦虚的天下 阅读(38763) 评论(3) 编辑
摘要: 【基于最新的Android4.4的源码分析】每家公司或者每个移动团队无不想开发出一套自己的UI框架,融入自己的设计和特性,这必然会去修改android的ui。所以,学习和理解android的UI设计是最基础和非常有必要的。android ui设计最重要的就是主题和样式。1、位置在Android的fr...阅读全文
posted @ 2014-05-17 23:44 谦虚的天下 阅读(31122) 评论(1) 编辑
摘要: 之前一直在windows下用source insight阅读android源码,效果非常好。后来远程异地服务器,网络限制,一直用ssh + vim,现在主要还是以这种方式。最近发现一个不错的东西(早就有了),在android源码中有这么一个目录development/tools/idegen。顾名思...阅读全文
posted @ 2014-05-10 23:32 谦虚的天下 阅读(34425) 评论(12) 编辑
摘要: 在Android4.4 Kitkat上集成了一个比较好用的视频录制功能。参考:http://forums.androidcentral.com/android-4-4-kitkat/329674-how-use-screen-recording-android-4-4-kitkat.html1、名称...阅读全文
posted @ 2014-04-24 11:12 谦虚的天下 阅读(6865) 评论(0) 编辑
摘要: 前面多篇文章介绍到如何下载和编译Android或者CM源码,不过一直都是放在《拓展系列》里。随着学习的深入,android源码是非常有参考和学习价值,强烈推荐大家都去下载,编译,学习,所以把它提到《学习系列》专讲一章基础篇。刚装了UBUNTU14.04,所以尝试在新环境下编译一下android源码。...阅读全文
posted @ 2014-04-22 23:44 谦虚的天下 阅读(27972) 评论(8) 编辑
摘要: 接着《Android学习系列(36)--App调试内存泄露之Context篇(上)》继续分析。5. AsyncTask对象 我N年前去盛大面过一次试,当时面试官极力推荐我使用AsyncTask等系统自带类去做事情,当然无可厚非。 但是AsyncTask确实需要额外注意一下。它的泄露原理和前面Handler,Thread泄露的原理差不多,它的生命周期和Activity不一定一致。 解决方案是:在activity退出的时候,终止AsyncTask中的后台任务。 但是,问题是如何终止? AsyncTask提供了对应的API:public final boolean cancel (bo...阅读全文
posted @ 2014-04-10 14:52 谦虚的天下 阅读(8916) 评论(5) 编辑
摘要: Context作为最基本的上下文,承载着Activity,Service等最基本组件。当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏。下面针对一些常用场景逐一分析。1. CallBack对象的引用 先看一段代码:@Overrideprotectedvoid onCreate(Bundle state){ super.onCreate(state); TextView label =new TextView(this); label.setText("Leaks are bad"); setContentView(lab阅读全文
posted @ 2014-04-09 23:56 谦虚的天下 阅读(17295) 评论(5) 编辑
摘要: 建造者模式把构造和表示分离开,根据客户需求生产一个相应的对象。本来呢,我们根据Builder接口实现不同的具体的ConcreteBuilder,就可生产不同的对象了。但是,下面例子的只有一个Builder,所以也没有接口Builder,也没有其他的ConcreteBuilder。但是我今天要讲的例子太简单,简单到都不觉得是建造者模式,但是又有建造者模式的感觉。1. 意图将一个复杂对象的构建和它的表示分离,使得同样的创建过程可以创建不同的表示。2.结构图和代码android中大量的使用对话框组件,它的调用方法就是构建,拼接,表示。Builder通过setTitle(),setMessage(),阅读全文
posted @ 2013-04-19 17:35 谦虚的天下 阅读(8855) 评论(4) 编辑
摘要: 策略模式其实特别简单(听到这句话,大家是不是心里一下子放松了?)。比如排序,官方告诉大家我这里有一个排序的接口ISort的sort()方法,然后民间各尽其能,实现这个排序的方法:冒泡,快速,堆等等。这些方法就是“不同的策略”。然后,某个模块下,需要一个排序方法,但是暂时不能指定具体的sort方法(出于扩展的考虑),就需要使用ISort接口了。最后,具体什么场景下,传入什么具体的sort方法,实现灵活的排序。这就是策略模式!下面,我们分析Android中的动画是如何使用策略模式的。1. 意图定义一系列的算法,把它们一个个封装起来,并且使它们可互相替换。策略模式使得算法可独立于使用它的客户而变化。阅读全文
posted @ 2013-04-19 10:56 谦虚的天下 阅读(8794) 评论(2) 编辑
摘要: 当前比较成熟一点的应用基本上都会在进入应用之显示一个启动界面.这个启动界面或简单,或复杂,或简陋,或华丽,用意不同,风格也不同.下面来观摩几个流行的应用的启动界面.1. 货比三家以腾讯qq,新浪weibo,UC浏览器,游戏神庙逃亡等7个应用为例,比比看:(我认为最精美的界面应该是qq2012,虽然只有一张图,基本的应用名称,版本,图标这些信息都有,但是看着舒服,觉得美.)2. 元素启动界面的本意是以友好用户界面来掩饰后台缓冲加载,让用户用平和等待的心情进入正常应用界面.但是因为启动界面是放在开始,在这个特殊的点上,可以做更多的事情,如应用宣传,显示版权,展示广告等等.所以,这个启动界面的元素,阅读全文
posted @ 2012-12-30 19:58 谦虚的天下 阅读(27100) 评论(8) 编辑