- 博客(14)
- 资源 (11)
- 收藏
- 关注
原创 Android Studio中Button等控件的Text中字符串默认大写的解决方法
初学Android的时候,在Android Studio中xml里面添加一个Button、EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是android:textAllCaps,最后查看了一下Themes.xml文件,找到了一些端倪,发现在设置样式的时候,默认是把所有的字符串显示大写true。如图,是从android的Style
2017-04-26 16:13:38 447
原创 Android设计模式(一)—— 建造者模式
其实设计模式,只是一种定式,适用于不同的语音,今天,虽然加上了Andorid的前缀,只是因为举例仅是android代码,所以学好内在,则举例仅是举例,内涵才是到处通用的。建造者模式解释: 建造者模式(Builder Pattern)又叫生成器模式,是GoF提出的23种设计模式中的一种。 建造者模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复
2017-04-21 10:48:48 983
原创 UML类图总结
上图包含了UML类图的基本图示法,接下来详细的讲解一下。类 (class)类用矩形框表示。那个‘动物’矩形框,他就代表一个类(class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前边的符号,‘+’表示public,‘--’表示private,‘#’表示protected。接口(
2017-04-20 14:47:51 340
原创 面向对象的五大基本原则
近来学习了一下面向对象的设计模式,其中涉及到了面向对象的五大基本原则,所以总结一下。以前一直认为程序中的类有使用到封装、继承和多态就是面向对象设计,其实不然封装、继承、多态只是面向对象的三大特性,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象,其实真正的面向对象设计是要符合下面的五大原则1、单一职责原则(SRP)2、开放封闭原则(OCP)3、依赖倒置
2017-04-20 10:21:27 413
原创 Android中关于Drawable
Drawable有很多种,它们都表示一种图像的概念,但是它们又不全是图片,通过颜色也可以构造出各式各样的图像的效果。在实际开发中,Drawable常被用来作为View的背景使用。Drawable一般都是通过XML来定义的,当然我们也可以通过代码来创建具体的Drawable对象,只是用代码创建会稍显复杂。在Android的设计中,Drawable是一个抽象类,它是所有Drawable对象的基类,每个
2017-04-12 14:41:51 210
原创 动画之补间动画详细总结(三)代码生成
一、概述前两篇,我为大家讲述了利用XML来定义动画及插值器,但在代码中,我们常常是动态生成动画的,所以,这篇将为大家讲述如何用代码生成动态生成动画及插值器。先简单写出各个标签对应的类,方便大家理解:scale —— ScaleAnimationalpha —— AlphaAnimationrotate —— RotateAnimationtranslate ——
2017-04-11 11:42:36 330
原创 动画之补间动画详细总结(二)Interpolator插值器
一、概述Interpolator属性是Animation类的一个XML属性,所以alpha、scale、rotate、translate、set都会继承得到这个属性。Interpolator的系统值有下面几个:意义如下:AccelerateDecelerateInterpolator 在动画开始与介绍的地方速率改变比较慢,在中间
2017-04-11 11:35:03 360
原创 动画之补间动画详细总结(一)
一、概述Android的animation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《Animation Resources》1、XML配置文件中alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动
2017-04-11 11:08:50 634
原创 Android性能优化(三)绘制优化
绘制优化是指View的 onDraw方法要避免执行大量的操作。 首先,onDraw中不要创建新的布局对象,这是因为 onDraw方法可能会被频繁调用,这样就会在一瞬间产生大量的临时对象,这不仅占用了过多的内存而且还会导致系统更加频繁的 gc(垃圾回收),降低了程序的执行效率。 其次,onDraw方法不要做耗时的任务,也不能执行成千上万次的循环操作,尽管每次循环都很轻量级,但
2017-04-07 11:34:16 480
原创 Android性能优化(二)布局优化
布局优化思想:尽量减少布局文件的层级。布局中层级少了,就意味着Android绘制时的工作量少了,那么程序的性能自然就提高了。如何进行布局优化呢? 首先删除布局中无用的控件和层级,其次有选择地使用性能较低的ViewGroup,比如 RelativeLayout。如果布局中既可以使用LinearLayout 也可以使用RelativeLayout ,那么就采用LinearLayout
2017-04-07 11:28:10 282
原创 Android性能优化(一)内存泄露优化(静态变量、单例模式、属性动画)
内存泄露优化分为两个方面,一方面是在开发过程中避免写出有内存泄露的代码,另一方面是通过一些分析工具比如 MAT来找出潜在的内存泄露继而解决。一、静态变量导致内存泄露。一般情况下静态变量引用了或者内部持有Activity导致Activity无法销毁会导致内存泄露。代码如下:二、单例模式导致内存泄露Android的单例模式在我们项目开发中经常会用到,不过使用的不恰当的话也会
2017-04-07 10:30:04 5573
原创 自定义SharedPreferences的封装
SpUtil类是对android.content.SharedPreferences的封装,简化了对其的使用。代码如下:public class SpUtil { private static final String NAME="EY"; //保存文件的名称 private static SpUtil instance; public static SpUtil g
2017-04-06 11:05:29 606
原创 LogcatFileManager类 收集BUG Log日志
LogcatFileManager类是用来将Logcat信息以文件的形式保存在手机本地。LogcatFileManager.java文件代码如下:public class LogcatFileManager { private static LogcatFileManager INSTANCE = null; private static String PATH_LOG
2017-04-06 11:00:50 452
原创 Android 全局异常捕获之CrashHandler,用于开发者收集获取异常信息
一个App上线或者投入到生产环境的时候崩溃了,还不知道是什么原因,这肯定是开发者的痛…所以肯定要加入全局异常捕获,如果项目较大的话,可以考虑加入第三方诸如友盟的崩溃统计插件,以达到异常捕获的效果!Crash,可以理解为崩溃、垮台,通常来讲就是App运行期间发生了不可预料的错误,虽然在经历发布之前,测试人员进行了大量的测试,但是并不能保证App的正常运行,总会或多或少有一些BUG的。
2017-04-06 10:50:28 822
Java面向对象设计模式代码总结
2017-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人