摘要:
Android应用程序使用View和ViewGroup来构建用户界面,它们都是继承自View类(或其子类)例如:Button、TextView、EditText等。各类View搭配上Style和Animation可以编织出非常丰富的UI,足以应付绝大部分的需求。但有时候我们也需要一些特别的View ,以带给用户与众不同的体验。 在此我打算写一个大长篇都是关于android View的,主要内容为:SDK上部分文章翻译(英文水平有限尽请拍砖);自定义的View、android源代码分析、开源View代码分析;各类App应用的界面模仿;以理论+代码示例+实践 的方式指导本系列博文的撰写。——因为. 阅读全文
摘要:
android 框架下View的绘制过程简单示例说明绘制过程关于Paint关于Canvas关于Drawable(3中创建方法)Drawable的扩展:TransitionDrawabl、ShapeDrawable、NinePathDrawable (XML 与 Class表现)关于windowXML Atts属性暴露(AttributeSet、TypedArray、obtainStyledAttributes()方法)包含XML 属性的自定义View 示例Resouce XML 中资源文件关于Animationanimation 示例关于View的事件View事件的示例关于 ViewStatu 阅读全文
摘要:
Aop的横切,可以将核心业务逻辑抽离出来, 可以在以下类似情况使用如日志、权限、数据持久attribute 方式实现:[log][rosle]public void test(){} 的形式, 然而此种形式如何传递上下文?例如不用Aop则应该如此public void test(){ if(User.isRosle){try{//核心逻辑代码//核心逻辑代码}catch{Log.execl("...");}finall{Log.execl("....");}}}由此可以看到如果利用attribute 可以看到 把User.IsRosle的属性或方法放入到 阅读全文
摘要:
近日一次面试里被问到,有没有写博客什么,我说有,然后发现自己已经好久没有写博客了。最近的随笔都是写在 “麦库”上的。现在移动一些麦库上还看得过去的笔记到随笔里充一下门面 笑 阅读全文
摘要:
攻击的原理很简单, 目前很多语言, 使用hash来存储k-v数据, 包括常用的来自用户的POST数据, 攻击者可以通过构造请求头, 并伴随POST大量的特殊的”k”值(根据每个语言的Hash算法不同而定制), 使得语言底层保存POST数据的Hash表因为”冲突”(碰撞)而退化成链表.这样一来, 如果数据量足够大, 那么就可以使得语言在计算, 查找, 插入的时候, 造成大量的CPU占用, 从而实现拒绝服务攻击.例如:如果用求莫方式解决冲突的 Hash 那么 可以构造 一类列 莫相同的key .此时假设Hash 表的最大长度为 n ,利用冲突插入了M个值,那么 查找的时间复杂度就变为 O(N) [ 阅读全文