-
Jenkins Android打包配置pipeline
//参数定义//产品名称defproduct="产品名称"//发布根目录defdistRootDir=""//构建完成日期defbuildDate=""//构建完成时间defbuildTime=""//编译devOpsTaskIddefdevOpsTaskId="nil"//app配置库地址defappRepository="项目地址"//common配置库地址defcommonRepositor......24,790 0 2019-09-06 15:48
-
Android 自建maven库
一.安装免费的nexus已mac为例 1.在密令窗口输入brewinstallnexus进行安装 2.启动服务brewservicesstartnexus 3.在浏览器输入http://127.0.0.1:8081/nexus/ 就可以看到以下界面,默认账号密码admin/a......23,445 0 2019-05-29 11:05
-
Android 自建Snapshot依赖库无法更新问题
1.删除缓存\.gradle\caches\modules-2\files-2.1\ 2.在module的build.gradle中(与dependencies同级)增加如下代码 configurations.all{ resolutionStrategy.cacheChangingM......18,265 0 2019-05-29 09:20
-
Android 表现模式MVP-VM
MVP-VM M:model层,即数据层 V:视图层,Activity/Fragment为代表 P:控制层,业务处理 VM:viewmodel与databinding配合使用 P层持有V层和VM层,处理所有的业务逻辑,P层可控制V层的显示,P层通过VM层获取到数据并可以进行处理,最终控制V, VM层获取......18,472 0 2019-05-28 22:36
-
ButterKnife源码解读
18,491 0 2018-12-19 17:21
-
Android 面试高级技能
一.算法 排序算法:冒泡排序,选择排序,插入排序,快速排序,二叉树排序 查找算法:线性查找,二分查找,二叉树查找二.数据结构 栈,队列,链表,二叉树,堆,图三.设计模式 单利模式,工厂模式,创建者模式,观察者模式,外观模式,责任链模式,策略模式四.源码分析 okhttp,retrofit,glide,......17,931 0 2018-12-01 21:56
-
Android IPC通讯——AIDL
一.AIDL是什么? AIDL是一个缩写,全称是AndroidInterfaceDefinitionLanguage,也就是Android接口定义语言。二.AIDL能干什么? 进行跨进程通信,比如两个APP之间的通讯。三.AIDL支持的数据类型? Java中的八种基本数据类型,String类型,CharSequence类型,List类型,Map......18,038 0 2018-09-27 15:58
-
Glide源码分析
Glide是一款非常优秀的图片加载框架,使用方便,占用内存小。我也深感内疚,只知道它的使用而不知道其内部实现是怎么样的,今天就来走一趟Glide的源码分析。一.Glide的构成 它的构造方法,可以看出它涉及到内存编码等信息Glide(Engineengine,MemoryCachememoryCache,BitmapPoolbitmapPool,Contextco......17,865 0 2018-09-14 11:14
-
OkHttp 源码分析
先来看看OkHttp的简单使用,由图可以看出,大概整个流程是,通过OkHttpClient将构建的Request转换为Call,然后在RealCall中进行异步或同步任务,最后通过一些的拦截器interceptor发出网络请求和得到返回的response。接下来我讲按图标志的四个点进行源码分析。<imgsrc="data:image......17,758 0 2018-09-11 18:07
-
Android 组件化开发
随着app的不断开发和维护,app越来越臃肿,很多模块可能不在使用或者暂时不显示,又不对对代码进行删除,代码的耦合性越高,太多的垃圾代码造成一系列问题,运行速度更是慢。所以有必要一个能够解决这个问题的框架,组件化开发时其中一个方案。a) 组件是对逻辑的封装,不限于图形元素。即我们可以把if做成组件、把一个倒计时做成组件、把一段动画做成组件、把路由做成组......18,196 0 2018-02-25 22:13
-
引入LeakCanary报错的解决办法
java.util.zip.ZipException: duplicate entry: com/squareup/leakcanary/watcher/R.class尼玛,版本问题请更新到最新版本debugCompile‘com.squareup.leakcanary:leakcanary-android:1.5.4’ releaseCompile‘com......18,362 0 2018-02-07 14:24
-
-
Android 虚拟按键适配工具
适用于沉浸状态栏,该代码需要放置于设置沉浸状态栏后面,代码详见:https://github.com/tzz2015/commonLibpackagecom.zyf.fwms.commonlibrary.utils;importandroid.graphics.Rect;importandroid.view.View;importandroid.view.ViewGroup;importandro......2,316 0 2018-02-06 16:48
-
Android 通用混淆
相信很多同学都遇到混淆的各种问题,最后半途而废了,以下是我成功混淆的代码,供大家参考。release{minifyEnabledtrueshrinkResourcestruezipAlignEnabledtruesigningConfigsigningConfigs.signconfigproguardFilesgetDefaultProguardFile('proguard-android.tx......3,159 4 2018-01-30 15:58
-
android 全国地址选择器
测试一下内存会不会爆需要准备: 1.省市区三份json 2.依赖三级联动控件 compile'com.contrarywind:Android-PickerView:3.2.4'最终效果如下:如下提供一个工具类:packagecom.zyf.fwms.commonlibrary.pickerview;importandr......1,923 0 2018-01-20 22:54
-
Android app 被后台杀死问题
问题描述: 由于Android内存管理机制,运行在后台app难免部分内存被回收,再次打开app的的时候,空指针异常,导致app崩溃,即使是微信也是难免的,有时候发现运行在后台的微信,再次打开确实重新启动了,这个做法也是值得效仿的。下面我给出比较简单的解决方案。 1.提升应用级别,减缓被系统回收,在配置清单添加如下一句话android:persistent......1,732 0 2018-01-20 22:37
-
Android 标题随recyclerview的滚动背景颜色渐变
privateintheight=620;//滑动开始变色的高,真实项目中此高度是由广告轮播或其他首页view高度决定privateintoverallXScroll=0;privatevoidinitHideShowTitle(){mBindingView.xRecyclerView.addOnScrollListener(newRecyclerView.OnScrollListener(){@......3,716 0 2017-09-18 15:38
-
Android内存泄露工具Leakcanary的使用
GitHub地址1、引入依赖dependencies{debugCompile'com.squareup.leakcanary:leakcanary-android:1.5.2'releaseCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.5.2'}2.application中初始化publicstaticRefWatcherg......1,803 2 2017-09-07 14:58
-
Android viewpager 滑动时间修改
1.重写Scroller/***利用这个类来修正ViewPager的滑动速度*我们重写startScroll方法,忽略传过来的duration属性*而是采用我们自己设置的时间*/publicclassFixedSpeedScrollerextendsScroller{publicintmDuration=1500;publicFixedSpeedScroller(Contextcontext){s......2,538 0 2017-09-06 23:16
-
Android 防二次打包
在起始页//得到签名PackageInfopackageInfo=null;try{packageInfo=getPackageManager().getPackageInfo(getPackageName(),PackageManager.GET_SIGNATURES);Signature[]signs=packageInfo.signatures;StringsignStr=md5(signs......1,588 0 2017-09-06 23:01