摘要:
Genymotion 模拟器安装好虚拟机后,启动时报错: ————————— VirtualBox – Error In supR3HardenedWinReSpawn ————————— <html><b>NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0 阅读全文
摘要:
前言本文主要介绍java语言的三个特性:类型协变和逆变,动态代理和静态代理,注解。协变和逆变借用Treant的博文,逆变与协变用来描述类型转换(type transformation)后的继承关系,其定义:如果A、B表示类型,f(⋅)表示类型转换,≤表示继承关系(比如,A≤B表示A是由B派生出来的子类);f(⋅)是逆变(contravariant)的,当A≤B时,有f(B)≤f(A)成立;f(⋅... 阅读全文
摘要:
前言正常的App开发流程基本上是这样的:开发功能-->测试--->上线,上线后发现有大bug,紧急修复---->发新版本---->用户更新----->bug修复。从发现bug到修复bug花了很长时间。我们希望bug的修复是立马生效的,用户无感知就能自动修复bug。当然,Android端的动态修复bug已经有不少框架了,不过我们今天讲的是另一个话题:Android的插件化。Android插件化有很... 阅读全文
摘要:
前言对于Android来说,Binder的重要性怎么说都不为过。不管是我们的四大组件Activity、Service、BroadcastReceiver、ContentProvider,还是经常在应用中使用到的各种ServiceManager,其背后都是Binder在支撑。然而Binder机制又不是三言两语能够描述得清楚的,因此本文通过对一个简单的AIDL Demo进行分析,让读者对Binder... 阅读全文
摘要:
前言魅族手机的闹钟应用中有个倒计时,这个控件还是蛮有趣的。左边是魅族闹钟,右边是我们最终实现的效果,虽然有些细节还需优化,不过基本上已经达到了想要的效果,我们先来就来看看如何实现吧。 分析确定宽高对一个Android自定义控件来说,一般都经过三个步骤onLayout()onMeasure()onDraw()onLayout明确子控件在父控件中的位置(本控件不需要重写),onMeasure是确定控... 阅读全文
摘要:
前言一问起Android应用程序的入口,很多人会说是Activity中的onCreate方法,也有人说是ActivityThread中的静态main方法。因为Java虚拟机在运行的时候会自动加载指定类的静态共有main方法,因此个人更倾向于第二种说法。public final class ActivityThread { ...... public static void main(St... 阅读全文
摘要:
前言相信Android开发者对ListView不会陌生,使用ListView需要设置相应的Adapter才能展示数据。Adapter到底是什么东西?让我们来一探究竟。Adapterp1.png通过图1我们可以看出Adapter是View和数据之间的桥梁,并为每一个数据项生成相应的View。Adapter是个接口,定义了子类需要实现的方法,最常见的方法有:getCount(),总共有多少数据项ge... 阅读全文
摘要:
获取textview行数textview代码import android.content.Context;import android.graphics.Canvas;import android.text.Layout;import android.text.Layout.Alignment;import android.text.StaticLayout;import android.tex... 阅读全文
摘要:
Android反编译调试源码1. 反编译得到源码直接在windows 命令行下输入命令java -jar apktool_2.0.0.jar d -d 小米运动_1.4.641_1058.apk -o out,此处必须使用-d参数,这样反编译出来的代码后缀才是java,只有java文件才能被eclipse识别调试。2. 加入可调试标志在Eclipse中以out文件夹为源码新建Android工程,... 阅读全文
摘要:
eclipse中jar包打断点1. 下载工具链接:http://pan.baidu.com/s/1dEF5tqL 密码:md4m2. 增加jadeclipse功能把 net.sf.jadclipse_3.3.0.jar复制到eclipse/plugins目录下3.配置jad路径打开eclipse,windows-->perferences-->java--->jadClipse,配置Path t... 阅读全文