2016_____新年新的目标____android

来源:互联网 发布:性价比高的笔记本知乎 编辑:程序博客网 时间:2024/05/21 17:58

1、抽象的理解
自己理解抽象:就是这类事物都具备这个功能,但是这个具体内容都不知道,没有足够的信息来描述这个信息,这个类就是抽象类,功能细节无法确定所以就抽象出来就是抽象方法。
抽象类的由来:其实也是不断的向上抽取来的,越往上抽取就越不具体,不具体就出现抽象类,就是每个类的功能都有,但是实现方式不一样
事例:在项目的RollPagerView中定义指示器的方式有好几种(单纯的颜色、图片、文字)三种方式,所以在ShapeHintView中定义了两个抽象方法,makeFocusDrawable(),makeNormalDrawable(),不同的方式实现方式不一致,抽象的用途,父类可以调用子类的方法,所以这个类也必须是抽象的
2、接口的理解
抽象类和接口的异同点:
相同点:
都是不断向上抽取而来的。
不同点:
1,抽象类需要被继承,而且只能单继承。
接口需要被实现,而且可以多实现。
2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。
接口中只能定义抽象方法,必须由子类去实现。
3,抽象类的继承,是is a关系,在定义该体系的基本共性内容。
Is a 就是所属关系,什么是什么的一种,
接口的实现是 like a 关系,在定义体系额外功能。
就是举个例子,学员啊学员有学习功能吧,没有抽烟功能,学习是学员的基本功能吧,抽烟不是,抽烟是不是学员的额外功能啊,那些学员抽烟就去实现这个抽烟接口呗
还在我项目的RollPagerView中这三种指示器都需要初始化,都要设置当前的选中的哪一个,所以定义一个接口,initView(),setCurrent()这两个方法,让那三个指示器都去实现不同。
3、在代码中可以使用gradientdrawable来设置渐变
类似于布局文件中的shape
drawable绘制和canvas的学习
http://blog.csdn.net/iispring/article/details/50437731
http://blog.csdn.net/lonelyroamer?viewmode=contents
4、ViewConfiguration.getScaledTouchSlop () 的使用
getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。如果小于这个距离就不触发移动控件,如viewpager就是用这个距离来判断用户是否翻页

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0225/907.html
5、android中判断用户是上下滑动还是左右滑可能通过如果x轴的移动距离大于y就是左右,否则就是上下
if (Math.abs(x - mLastMotionX) < Math.abs(y - mLastMotionY))
6、如果知道adapter里面的数据已经更新,通过给adapter注册registerdatasetobserver 这样一个观察者,比如在RollViewPager里面当数据更新的时候要重新初始化指示器的个数
7、36个Android开发常用代码片段
http://www.phpxs.com/code/1001775
8、2015年十大热门Android开源新项目
http://www.jianshu.com/p/aa7238cd8daf
9、Android开发常用的调试工具:leakcanary,BlockCanary,开发者使用的内存清理、Pss监控工具
http://my.oschina.net/liucundong/blog/398547
10、kotlin 中文版的pdf
https://wangjiegulu.gitbooks.io/kotlin-for-android-developers-zh/content/xie_zai_qian_mian.html
11、Android Studio 小技巧合集
http://laobie.github.io/android/2016/02/14/android-studio-tips.html
12、想收集一下Android应用性能调优的技术点
http://zhuanlan.zhihu.com/kaede/20326073
13、java中enum转换为int事例

public static enum DrawMode{        UNKNOWN(0),        AXIS(1),        ARGB(2),        TEXT(3)        private int value = 0;        private DrawMode(int value){            this.value = value;        }        public int value(){            return value;        }        public static DrawMode valueOf(int value){            switch (value){                case 0:                    return UNKNOWN;                case 1:                    return AXIS;                case 2:                    return ARGB;                case 3:                    return TEXT;            }        }    }

14、Android中开发的坑
https://github.com/tangqi92/Android-Tips
http://www.lai18.com/content/1518518.html
15、Android在代码中设置字体大小setTextSize
http://qiushao.net/2015/09/14/android%E5%9C%A8%E4%BB%A3%E7%A0%81%E4%B8%AD%E8%AE%BE%E7%BD%AE%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F
http://blog.csdn.net/lizhenmingdirk/article/details/7349386
16、invalidate与postinvalidate 的区别
http://stackoverflow.com/questions/7596370/what-is-the-difference-between-androids-invalidate-and-postinvalidate-metho
invalidate需要在必须在UIThread更新,postinvalidate 非UIThread的更新操作
17、深入的理解自定义view和invaldate方法
http://blog.csdn.net/guolin_blog/article/details/17045157
http://blog.csdn.net/lmj623565791/article/category/2680591
http://blog.csdn.net/qinjuning/article/details/7110211
http://bbs.9ria.com/thread-230915-1-1.html
http://blog.csdn.net/beyond0525/article/details/48181345
18、Android中paint常用参数的设置
http://blog.csdn.net/wangchangshuai0010/article/details/7336435
19、Andrid内存优化汇总

  • 首先需要了解Android内存的分配原理及大小
    http://www.jianshu.com/p/d061fa36a0d9
    Android官方的一些翻译文档中文的http://www.pocketdigi.com/category/android%e6%96%87%e6%a1%a3%e7%bf%bb%e8%af%91/page/4
    http://blog.csdn.net/liaoqianchuan00/article/category/1274275
  • 查看Android系统为手机分配了多少内存
    http://blog.csdn.net/guolin_blog/article/details/9316683
    http://www.cnblogs.com/mythou/p/3203536.html
    http://blogs.360.cn/blog/%e6%b5%85%e8%b0%88android%e5%ba%94%e7%94%a8%e6%80%a7%e8%83%bd%e4%b9%8b%e5%86%85%e5%ad%98/
  • Android GC的那些事,回收机制
    http://www.360doc.com/content/15/1021/08/14416931_507224558.shtml
    http://www.ibm.com/developerworks/cn/opensource/os-cn-android-mmry-rcycl/
  • 工具分析

    阿里巴巴测试平台 http://mqc.aliyun.com/
    内存泄露工具检测leakcanary(https://github.com/square/leakcanary)
    BlockCanary是一个Android平台的一个非侵入式的性能监控组件
    https://github.com/moduth/blockcanary
    腾讯MIG专项测试组开发出来的狂拽酷炫屌炸天的神器
    http://gt.tencent.com/index.html
    http://bugly.qq.com/
    http://www.jianshu.com/p/8b77d394b2a6

  • 技术经验之谈
    【MDCC技术大咖秀】Android内存优化之OOM
    http://www.csdn.net/article/2015-09-18/2825737/1
    胡凯技术博客:http://hukai.me/android-performance-oom/
    一个只关注android性能的博客:http://androidperformance.com
    http://www.jianshu.com/p/9546d21376ed
    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/1216/3778.html
    http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=498
    http://rong.logdown.com/posts/314130-android-studio-tools-memory-profiler
    http://www.androidchina.net/1963.html
    Android性能专项测试之Memory Monitor工具
    http://blog.csdn.net/itfootball/article/details/48712595
    http://android.jobbole.com/80926/
    http://www.devtf.cn/?p=939
    http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0611/3033.html

    19、有意思的 Java 小问题
    http://blog.csdn.net/feelang/article/details/49680417
    如何获取 Android 设备的CPU核数、时钟频率以及内存大小
    http://blog.csdn.net/feelang/article/details/46554095
    20、强大的图片加载框架 fresco
    “>http://fresco-cn.org/docs/resizing-rotating.html#
    21、比较好的学习网站
    http://www.androidchina.net/4189.html
    22、Android自定义控件合集
    http://www.jianshu.com/p/9546d21376ed
    23、APK瘦身实践
    http://www.androidchina.net/4340.html
    24、可以下载源码的博客
    http://www.androidchina.net/dev/android_source
    http://www.jcodecraeer.com/plus/list.php?tid=31
    http://www.mobile-open.com/category/android-experience
    泡在网上的日子
    http://finalshares.com/ 极分享
    http://www.itlanbao.com/code/100710.html IT蓝豹
    http://www.javaapk.com/demo javaapk
    25、Android里面快速开发框架,react native的专题
    http://www.lcode.org
    http://blog.csdn.net/developer_jiangqq/article/details/50033453
    26、github高级搜索技巧

  • 首先明白github上顶部三个按钮的作用

    1.想拷贝别人项目到自己帐号下就fork一下。
    2.持续关注别人项目更新就star一下
    3.watch是设置接收邮件提醒的。

  • 在github上如何搜索star最多的项目
    直接在https://github.com/输入stars:>100

  • https://github.com/trending能看到本日(周,月,年)热门
    https://github.com/explore

  • github代码搜索技巧
    http://blog.sina.com.cn/s/blog_4e60b09d0102vcso.html
    另外github还支持高级搜索。甚至还可以搜索用户、问题及代码!
    参考:https://help.github.com/articles/searching-github/
    https://github.com/search/advanced
    27、Android stuio 常用技巧篇、编码技巧篇、调试技巧篇、Android studio 你应该知道的一切
    http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=402416974&idx=1&sn=a8fd70a65ff3973758e4a7975c361139#rd
    http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=402416974&idx=2&sn=136e2a77c9bdd2cf971143d7f35e57d2#rd
    http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=402416974&idx=3&sn=3a0f99a753e7e8372cb98b696542d2cb#rd
    http://www.cnblogs.com/smyhvae/p/4390905.html
    28、android 不透明度16进制值

100% — FF95% — F290% — E685% — D980% — CC75% — BF70% — B365% — A660% — 9955% — 8C50% — 8045% — 7340% — 6635% — 5930% — 4D25% — 4020% — 3315% — 2610% — 1A5% — 0D0% — 00格式如#00FFFFFF,前两位代表不透明度的十六进制。00表示完全透明,FF就是全不透明。依次递增。
1 0
原创粉丝点击