自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Dagger2使用

Dragger2是安卓使用的依赖注入的方式,开发从IOC控制翻转转换到apt依赖注入。注入方式:构造函数注入,接口方式注入,注解方式注入。第一步:添加lib包compile 'com.google.dagger:dagger:2.12'annotationProcessor 'com.google.dagger:dagger-compiler:2.12'第二步

2017-12-26 13:49:25 190

原创 SharePreference封装使用

/** * Created by malei on 2017/2/8. */public class SharePreferenceUtils { private static final String NAME = "properties"; private static SharedPreferences get(Context context, String us

2017-12-26 13:41:51 415

原创 加快app的启动速度

想要加快app的启动速度,最重要的就是在app启动时候,对第三方插件进行初始化做一些处理。对于我开发的多款软件,我总结了,加快app启动分三步。第一步:在Application中onCreate()进行第三方工具初始化public void onCreate() { super.onCreate(); ApplicationService.start(th

2017-12-20 16:16:46 1063

原创 gradle 区分debug和realse自动化打包

项目也写完了,混淆也做好了,然后就打包呗,打包区分debug版本和realse版本,只需要在gradle中设置下就可。//开发用 yyyy-MM-dd 打包提测 yyyy-MM-dd_HH-mm-ss 因为精确到秒 android studio 就不能自动安装apkdef timeForDebugFileFormater = "yyyy-MM-dd"def timeFor

2017-12-20 14:15:16 5757

原创 手机号输入实时验证

import android.text.Editable;import android.text.TextWatcher;import android.widget.EditText;/** * @author by malei on 2017/12/19. * 手机号实时验证 */public class PhoneFormatUtils implements TextWatc

2017-12-19 13:16:56 1275

原创 Rxjava编程思想

随着android越来越成熟,为了开发更方便出现了不少新的开发框架,其中Rxjava是一个不能被忽视的重点。Rxjava是响应式开发,它是一种特殊观察者模式,被观察者订阅观察者。和bolts框架正好反过来。第一部分:角色Rxjava分成两个角色,观察者和被观察者。1)观察者:Observer类,但是因为该类并不好的可以满足开发的需求。之后推出

2017-12-16 12:24:00 784

原创 Toast的优化操作

当我们在使用Toast的时候,发现如果有连续的10个Toast,需要show,我们就需要等待前9个都show()完成后,才能展示自己的,这样肯定是不好的,我们应该做到当要展示第10个Toast的时候,直接展示,而不是等待,这样我们需要对Toast进行处理下,我们使用下软引用。public void show(Context context){ //如果当前的Toas

2017-12-15 13:55:26 350

原创 使用Proguard进行代码混淆

项目重构已经完成,使用了最新的retrofit框架,现在最后一步就是对代码进行混淆了。代码混淆使用了Proguard技术。第一步:公共不混淆操作########必须的progrud配置#######指定代码的压缩级别-optimizationpasses 5#包明不混合大小写-dontusemixedcaseclassnames#不去忽略非公共的库类-dontskipn

2017-12-15 13:37:58 805

原创 使用Gradle进行统一依赖管理 - 版本,jar包

当我们项目过大,需要进行组件式开发时,会涉及多个项目,每个项目都可能使用第三方提供的jar包,但是如果jar包不统一的话,会造成编译失败。我们可以通过gradle 来对整个项目进行统一版本管理。避免发生一个项目里使用了Rxjava1.0的版本又引入了Rxjava2.0的版本。第一步操作:在项目里创建config.gradle文件ext { android

2017-12-13 10:36:37 5849

原创 算法-冒泡排序

算法有人说难,有些人说容易,其实算法只是一种解决问题的思想。最简单的算法应该就是冒泡排序了。第一部分:什么是冒泡排序       将相邻的两个数据进行比较,并交换的排序算法。从后向前,依次相邻两个元素进行比较,符合条件的话,就进行交换。 f(n) 与 f(n-1) 进行比较,进行n-1次比较过程。       需要进行n-1轮比较,每一次比较都可

2017-12-13 10:32:03 177

原创 算法- 前言

计算机编程 分成两部分:数据结构 + 编程语言。 编程语言是为了实现功能,数据结构是为了更高效的执行程序。第一部分:算法的分类  在开发中,我们将算法分为两类:排序,查找第二部分:排序方法的分类  根据数据的大小将排序分为:内排序,外排序。  内排序:当数据量不大时,可将数据一次性放入内存空间,进行排序,返回结果。  外排序:因为数据量非常的大,一次性无法将

2017-12-11 15:44:03 237

原创 Okhttp内部解析

okhttp是一个网络请求类库,与httpURLconnection是同一级别的,OKHttp比起httpURLconnection做了大量的性能优化和在使用上的优化。第一部分:实例创建okhttp关键的类是OkHttpClient。它有两种构造方式,如下: 1)   OkHttpClient client = new OkHttpClient();//使用构造方法直接

2017-12-05 14:16:58 477

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除