- 博客(17)
- 问答 (1)
- 收藏
- 关注
原创 屏幕适配,彻底理解dp,dpi,屏幕密度,分辨率之间的爱恨纠葛
android初学者都会对密度,分辨率,dp,dpi等等混淆,今天来好好捋一捋这剪不断理还乱的江湖关系!废话不多说,直入主题。in:英寸inch,物理尺寸,1in =2.54厘米(cm)。4.2寸手机等等就是这个in,通常说的手机4.2寸,都是手机对角线4.2in。dpi:这个知道英文名有助于理解意义,its english name is: Dots Per Inch.每英寸的点数
2014-12-31 14:00:26 8958
原创 深刻理解activity启动模式,彻底理解android的四种启动模式,尤其singleTask
一个Activity的Launch Mode为singleTask时,在新建这个Activity时,会把它放在一个新的stack中并置于顶部(即放在新的task中)。如果这个Activity已经在某个task的stack中了,此时只会调用它的onNewIntent(),而不会调用onCreate()。一个Activity的Launch Mode为singleInstance时,与singl
2014-12-29 19:46:54 8612
原创 setWillNotDraw();方法的使用
ViewGroup默认情况下,出于性能考虑,会被设置成WILL_NOT_DROW,这样,ondraw就不会被执行了。如果我们想重写一个viewgroup的ondraw方法,有两种方法:1,构造函数中,给viewgroup设置一个颜色。2,构造函数中,调用setWillNotDraw(false),去掉其WILL_NOT_DRAW flag。在viewgroup初始化的时候,它调用了
2014-12-29 14:02:17 20898 3
原创 View的事件处理机制
android view事件处理机制娴熟了,才能做出酷炫的效果,提升逼格必备。触摸了任何一个控件都会调用控件的dispatchTouchEvent(MotionEvent event)方法,这个入口方法定义在view类里面。 public boolean dispatchTouchEvent(MotionEvent event) { if (mInputEventC
2014-12-20 20:31:33 6247
原创 社会化分享
sso名词解释:sso英文全称single sign on ,单点登录。sso是在多个应用系统中,用户只需要登录一次,就可以访问多有互相信任的应用系统。例如,用户已经登录新浪微博客户端,使用sso授权登录时不需要用户手动输入用户名,密码,直接点击登录即可,因此成为免登陆。配置AndroidManifest.xml–权限、友盟AppKey、分享的相关组件复制指定平台的libs和res
2014-12-20 13:14:30 3851
原创 Android View 中view.requestLayout() 与 invalidate()
requestLayout:当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view重新调用他的onMeasure onLayout来对重新设置自己位置。 特别的当view的layoutparameter发生改变,并且它的值还没能应用到view上,这时候适合调用这个方法。invalidate:View本身调用迫使view重画。View.req
2014-12-20 00:25:17 6666
原创 tips---adb
今天对自己很恼火,写一点简单的程序,发现简直是一步一坎,对eclipse和电脑各种不爽。等有钱了,高低买个好电脑,...唉越来越暴躁了,有点恨自己太渣了。大学误入歧途,现在悔恨也晚了,虽然现在每天都很刻苦,可是眼睛超不给力,没搞多久就眼睛酸痛,非常非常郁闷啊,我觉得学习精力和劲头是足够的现在,就是眼睛制约了我的效率,愁死了。总感觉有些东西记不牢,这是硬伤。唉。adb shell ad
2014-12-17 21:39:31 8079
原创 Android小tips fragment&&wms等
android framwork 层模块基础的线程进程通信模块,WindowManagerServer(Wms)、ActivityManagerSystemService(AmS)、(this is service)PackageManagerServer(PmS).通信总结的很到位
2014-12-17 11:19:27 667
原创 谈恋爱(面向对象)五大原则浅析!
面向对象编程其实是在无时无刻不在向我们阐释婚恋观呀今晚上看了一会模式,面向对象编程5大原则,想来跟处对象是一样一样的:单一职责原则(SRP): 做一个单纯的人,才会有简单《稳稳的幸福-陈奕迅》;一个类应该仅有一个引起它变化的原因开放封闭原则(OCP):悟以往之不谏,知来者犹可追; 既开放又封闭,对扩展是开放的,对更改是封闭的!里氏替换原则(LSP):花心大萝卜才
2014-12-16 23:33:53 1005
原创 uml图符号解析--工欲善其事必先利其器
泛化 (继承)== 实现(接口) > 组合(强关联) > 聚合(次强关联) > 关联 (普通关联)> 依赖(不是关联但仿佛是弱关联)聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。关联是一种拥有关系依赖是一种
2014-12-16 16:30:01 770
原创 撕开位运算神秘面纱
基础不是太好,大学计算机原理神马的还要抽时间补一补。看android源码的时候,很多地方蹦出来几个位运算,感觉就无从是从了,深深地一种文盲的感觉。是时候对java中the fucking位运算做一下总结了位运算符 >>右移 >>正负右移与& 或| 非~异或^逻辑运算符 &&并且(会短路,所以简单的耗时
2014-12-15 23:36:04 2719
原创 最优单例模式
直奔主题,单例模式是一种表面简单实则很精妙的一个设计模式,网上有好多写法,什么饿汉懒汉什么多线程多处理器等等乱七八糟,个人觉得一种比较好的写法如下。public class SingleTon { private SingleTon() { }; private static class Holder { private static SingleTon instance =
2014-12-15 14:25:31 2591
原创 android developer tips---干掉adb侵入者命令和activity中获取控件宽高方法
netstat -ano | findstr "5037" 找出监听5037端口的 PID ,然后 tasklist | findstr "PID number" 查看占用的进程,kill之。获取控件宽高。一: ViewTreeObserver vto = mBtnSend.getViewTreeObserver(); vto.addOnGlobalLayoutListener(n
2014-12-15 11:03:28 1193
原创 内存易混淆概念
内存溢出指系统内存不够用了。你要求分配的内存超出系统能给你的,系统不能满足需求,产生溢出。 内存泄露指被分配出去的内存回收不了了,这样无论多少内存早晚会被用完,一般是程序逻辑有问题。最简单的例子就是死循环由于程序判断错误经常发生此事, 申请了一个integer,但是给他存long才能存的数。(竟也是内存溢出)java内存回收机制是从程序的主要运行对象开始检查引用
2014-12-12 10:45:24 853
原创 内存小知识&&&&gradle小知识
java内存访问重排序:java目标是成为一门平台无关性的语言,write once,run everywhere。java内存模型,旨在屏蔽平台差异性,java内存模型成为java语言规范的一部分,happens-before规则,happens-before前后的两个操作不会被重排序且后者对前者的内存可见,并不严谨。程序次序法则、监视器所法则、volatile变量法则、线程终结法则
2014-12-11 22:26:25 908
原创 listview的getItem和getItemId
在使用listview的时候经常会重写getItem()和getItemId()这两个方法,有的博客说getitem会在getview中使用,这是不对的,我们可能会疑惑这俩方法有什么用,有时候我们会直接ruturn null好像也没什么影响。其实,这俩方法不是在baseadapter类中被调用的,而是在Adapterview中被调用的。方法如下: public Object getIt
2014-12-09 17:18:38 7908
空空如也
android支付宝快捷支付sdk集成
2015-01-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人