- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 访问控制
访问控制(或隐藏具体实现)与“最初的实现不恰当”有关。-Java编程思想 在软件开发过程中,我们经常会发现以前实现的某段代码还有更好的方式或是更快的算法,这时我们需要对代码进行重构。如果代码封装得很好的话,那我们只需要修改实现的部分就好了,其他调用了这段代码的地方根本不需要进行修改。相反,如果我们写的类暴露了过多的实现细节或是接口定义得不合理,那就很难进行代码重构了(我们需要保证客户代码不会因为这
2016-04-22 20:19:36
836
原创 Android给一组控件设置StateListDrawable
今天在弄一个小东西的时候用到StateListDrawable,结果遇到一点问题。现在简单总结一下。 问题是这样的,在前面写SegmentView的时候,给里面的各个Item添加背景,想着中间的几个Item(中间的Item都没有圆角)的背景都是一样的,那就用一个StateListDrawable对象就够了吧。结果就出问题了,如果中间有2个或更多的Item,当点击它们的时候背景就乱了,和想象的结果完
2016-04-05 20:35:21
1811
原创 Android SegmentView
Android Segment在IOS开发中有一个很好用的控件SegmentControl,而在Android要实现相同的功能就需要自己手动完成,如果能有一个已经封装好了的功能类似的控件就好了,基于这个想法,自己实现了一个Android版的SegmentView。 代码比较简单,就是在一个LinearLayout下动态的生成各个Segment Item,通过RoundRectShape画好圆角矩阵
2016-04-05 16:38:30
1453
原创 Java基本数据类型
对Java是否是一门纯面向对象编程语言一直以来都存在争议,因为在Java中还存在像基本数据类型、静态变量、静态方法这样的非面向对象特性。 在Java中一切皆是对象,除了基本数据类型。之所以这样设计,主要是为了提高效率(对像基本数据类型这样简单而又经常使用的变量创建变量会比较低效),所以Java对基本数据类型采用了C、C++相同的方式来处理,就是变量直接存储“值”,而不是对象引用。 在Java中有
2016-04-04 17:14:27
369
原创 资源清理
Java是一门纯面向对象编程语言(如果不考虑基本数据类型的话)。在Java中所有对象都通过new操作符创建,都在堆上分配内存空间。在堆上分配内存空间可以带来很大的灵活性(我们可以在运行时决定我们所需要的内存空间大小)。 不过在带来灵活性的同时,也会带给我们一些麻烦,首先在堆上分配内存不像在栈上那样进行简单的指针运算就可以了(在栈上分配和释放内存只需要操作栈顶指针就可以了,所以它非常高效),它需要申
2016-04-03 19:06:02
523
原创 Java初始化
Java初始化Java保证变量在使用前都已经初始化。 对类的成员变量(静态变量和实例变量),在构建类的实例时,首先都会被初始化为一个默认值(数字型变量(int、byte、short、long、float、double)都会被初始化为0,而boolean则是false,char其ascii码也是0,其他非基本类型的变量则会被初始化为null),当然你也可以在定义变量时直接初始化,然后才是由初始化块和
2016-04-03 18:21:23
435
原创 Android OOM分析总结
在Android开发过程中,你曾经是否遇到java.lang.outofmemoryerror异常。面对OOM问题我们应当如何处理,下面作一简单总结。 OOM原因引用没有及时释放资源对象没有关闭频繁申请不必要的内存native层的内存没有手动释放大对象加载
2016-04-02 13:53:41
253
原创 android获取状态栏高度
public int getStatusBarHeight(Context context) {int height = 0;int resourceId = context.getResources().getIdentifier("status_bar_height","dimen","android");if (resourceId > 0) { height = context.g
2014-11-15 16:16:20
376
原创 android如何判断当前页是否全屏
public boolean isFullScreen(Activity activity) {return (activity.getWindow().getAttributes().flags &WindowManager.LayoutParams.FLAG_FULLSCREEN)==WindowManager.LayoutParams.FLAG_FULLSCREEN;}
2014-11-15 16:11:23
3258
原创 SlidingPanelLayout与ViewPager滑动冲突的解决方法
SlidingPanelLayout是Google在support v4包中新加的用于
2014-11-10 23:23:32
1564
转载 Android 各版本新增功能
Android3.0新增功能:主要增加全息主题 1、Fragments:较activity粒度小的拥有独自生命周期的模块。可作为acitivity的一部分,activity通过FragmentManager管理独自的fragments back stack。 2、Action Bar:activity顶部标题栏的替代品,通常含logo,点击出现原menu
2014-05-25 22:44:32
489
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人