自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

隔壁小王的博客

Anroid学习进阶以及经验分享

原创 fastlane实现Android自动化打包

之前写过jenkins打包的配置文章,也写过一篇关于python实现本地自动化打包加固上传蒲公英一系列操作的文章。今天记录一下fastlane在Android中实现自动化打包的步骤。jenkins打包:https://blog.csdn.net/qq_16131393/article/details/83381128python打包:https://blog.csdn.net/qq_1613...

2019-09-05 15:33:20 1186 2

原创 Android 通过python实现自动化构建打包上传加固

Android 通过python实现自动化构建打包上传加固实现需求:基于gradle命令,通过python实现多渠道,多环境打包,上传蒲公英,360加固等经过学习调研完成步骤如下:一,通过gradle配置多渠道多环境: productFlavors { baidu { manifestPlaceholders = [UMENG_CHANNEL_VA...

2018-10-25 15:12:33 575

原创 Android导航栏资源总结,单纯防丢!

今天单独把github上导航栏的资源的拿出来总结一下,单纯防丢,都是别人的智慧,不喜勿喷!MagicIndicator https://github.com/hackware1993/MagicIndicator TabbedCoordinatorLayout https://github.com/vitovalov/TabbedCoordinatorLayout android-segme

2016-07-05 14:22:43 4473 1

原创 Android开源工具项目集合

最近因为要去外派了,工欲善其事,必先利其器!所以又回顾了一下自己github上所收藏的项目,也算是温故而知新吧。最流行的android组件大全 http://www.open-open.com/lib/view/open1409108030307.htmlAndroid开源项目分类汇总 http://www.open-open.com/lib/view/open1406272852585.htm

2016-05-21 03:01:32 7905 3

原创 【每周JS之】变量提升和函数提升

JS中变量会预解析,所谓的预解析就是:在当前作用域中,JavaScript代码执行之前,浏览器首先会默认的把所有带var和function声明的变量进行提前的声明或者定义。为什么变重点标注,当前作用域,因为在函数里外会将变量提升到不同的地方,通俗将,函数外,提升至全局作用域顶部,函数内,函数内部作用域顶部目录变量提升函数提升变量提升会将声明的变量进行提升,变量的赋值还在当前位置,不做提升例如 console.log(a); var a=1;结果:undefined解释:JS将

2020-07-07 14:19:46 34

原创 实践配置Vue Devtools

Vue Devtools是Vue 开发调试工具,虽然网络上很多文章写了如何配置,但是还是走了一些弯路,先记录如下步骤一:git clone https://github.com/vuejs/vue-devtools二:切换到vue-devtools目录,使用yarn 下载依赖,yarn对node版本有要求,这里笔者切到到10.0.0版本,执行 yarn install三:这里会提示Cypress下载error,需要连接网络代理,不用管他四:在目录里这里目录跟网络大多不一样,可能是更新了,编辑配

2020-07-03 17:37:30 33

原创 Web如何通过代理真机调试

web通过代理实现真机调试通过Charles+网络手动代理Charles如何配置,就不再这里详细说启动项目,开启代理,确认代理已经连接,这个时候我们可以在浏览器调试查找网络ip在package.json中查看项目配置的端口号!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!要确保手机跟电脑连接统一个网络!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!打开手机网络->显示高级选项->手动代理->填写主机(ip)->填写端口号(port)保

2020-06-22 11:28:57 50

原创 使用n管理模块切换安装不同node版本

安装yarnnpm install -g yarn没安装,提示 bash: yarn: command not found安装nodejs版本管理模块nnpm install -g n或者sudo npm install -g n升级npmsudo npm install npm@latest -g查看node版本,npm 版本node -vnpm -v安装指定node版本sudo n 10.0.0管理node 包 源的工具nrmnpm install -g nr

2020-06-16 16:20:06 173

原创 Mac 通过adb安装apk文件

在windows下安装apk很容易,直接连上usb把文件挪到手机里即可,但是mac上有点麻烦,只能通过qq,微信传递等下载在安装。更简便的方式是通过adb命令安装1:首先找到adb地址,在Android sdk下面的platform-tools的adb文件2:获取要安装的apk路径执行!!![adb 的绝对路径] install [apk 的绝对路径]如果手机中存在此应用,应该先删除在执行,不然会出现Failure [INSTALL_FAILED_ALREADY_EXISTS]或者通

2020-06-15 17:10:51 115

原创 Vue实现非父子组件通信

Vue非父子组件传值这种情况,就需要自己定义一个eventbus,如下1.自己定义bus,新建一个eventbus.js文件import Vue from 'vue';var bus = new Vue();export default bus2.在非父子组件导入import bus from "../eventbus.js";类似子组件向父组件传值,定一个方法,利用emit emitOne() { bus.$emit("to_two", 111); },这

2020-06-07 19:07:15 77

原创 vue 实现父子组件通信

vue父子组件传递参数父组件向子组件传参组件注册1:全局注册,在入口main.js中Import [组件名] from [组件路径]Vue. component(‘[组件名]’,组件名)例如:{ import Toast from '../../../../src/common/com/com-toast/com-toast.vue'; Vue.component('Toast', Toast);}2:局部注册,在页面js中import ComponentA from './C

2020-06-07 18:54:01 66

原创 div中子元素input设置flex无效

在flex布局下input设置flex:1失效的原因由于input默认存在最小宽度,所以在父元素宽度太小的情况下input设置了flex:1会失效解决办法1:给input在嵌套一层div,设置flex2:在给input设置width:100%

2020-05-27 11:03:42 35

原创 img标签间距问题

实践中发现,img标签周围存在间距,导致距离计算不准例如这里采用absolute,bottom间距为0,但是还是存在间距,后来采用在img的父布局中设置 font-size: 0;

2020-05-26 18:43:27 40

原创 RecyclerView嵌套RecyclerView问题

RecyclerView嵌套RecyclerView问题(一) 嵌套刷新后分割间距变化问题场景:RecyclerView嵌套RecyclerView,且外部增加下拉刷新,运用addItemDecoration分别添加分割,刷新后内部列表分割间距变大,外部列表不变分析:主要是addItemDecoration在初始化的时候添加多次,在外部的RecyclerView在刷新的时候并不会重复addI...

2020-03-20 15:17:53 95

原创 RecyclerView中 item进行放大动画被父布局覆盖

问题描述:当我们需要在RecyclerView的item中设置缩放动画时,会发现放大时会被父布局遮挡问题解决:需要设置RecyclerView的父类的属性: clipChildren = false, clipToPadding = false, 避免边缘的子view被父类遮挡.如果父布局还有父布局,也需要添加上述属性...

2020-03-16 19:53:51 220

原创 AndroidX迁移实验以及问题解决

AndroidX谷歌文档前提条件更新项目以使用支持库的最终版本:版本 28.0.0使用 Android Studio 3.2 及更高版本gradle.properties 文件中设置android.useAndroidX=true,android.enableJetifier=truegradle版本升级到4.6以上一键迁移,选择 Refactor > Migrate to A...

2020-01-06 17:33:11 96

原创 Bitmap.createBitmap 导致内存溢出的考虑

最近业务涉及自定义相机,这一块业务涉及到很多图片的处理,图片的旋转,裁剪,压缩等等,这块主要讲一下createBitmap引起的内存溢出。这里讲一下几个个人认为的原则1:尽量少用慎用createBitmap,用了必须try catch2:在catch中处理,不然就不走了,判断是否是OutOfMemoryError,在处理3:处理一般返回默认图片,要么就根据path,用BitmapFact...

2019-12-09 16:06:48 404

原创 记录requestFeature() must be called before adding content问题

requestFeature() And supportRequestWindowFeaturerequestFeature很常见,大家也经常在去掉标题栏的时候使用。requestFeature() must be called before adding content这个问题大家多少也了解,今天就笔叙一下遇到的问题就是字面意思,requestFeature必须在setConten...

2019-12-09 10:50:20 91

原创 实操AspectJ实现Android埋点以及问题汇总

公司为了安全考虑,决定自己做埋点统计,之前做了一版,查询了很多资料,大多数都是在baseActivity监听声明周期以及拦截触摸事件,第一版任务急,也就采用这种方式,配合手动埋点,算是完成第一版的埋点组件。但是这种有很多问题,比如弹窗,popwindow,以及fragment无法监听,所以,私下查询资料,学习了AspectJ,动手完成了第二版埋点组件,自测兼容所有的点击事件。AspectJ埋点...

2019-12-06 17:08:00 68

原创 Flutter学习之滚动监听

ScrollController构造方法 ScrollController({ double initialScrollOffset = 0.0, //初始化滑动距离 this.keepScrollOffset = true,//是否保存滑动距离 this.debugLabel, }) : assert(initialScrollOffset != null),...

2019-11-27 17:29:21 3899

原创 flutter学习之CustomScrollView

CustomScrollViewCustomScrollView是可以使用Sliver来自定义滚动模型(效果)的组件。它可以包含多种滚动模型。包括header,footer,以及类似Android Coordinglayout布局的滑动效果,CustomScrollView可以实现把多个彼此独立的可滑动widget组合起来Sliver的概念Flutter中提出一个Sliver(中文为“薄片”...

2019-11-22 16:08:40 403

原创 flutter学习之GridView

GridViewGridview可以实现多维网格布局,最主要的属性gridDelegate,类型是SliverGridDelegate,它的作用是控制GridView子组件如何排列。如果不设置此属性,则必然报错SliverGridDelegate是一个抽象类,Flutter中提供了两个SliverGridDelegate的子类SliverGridDelegateWithFixedCrossA...

2019-11-22 11:49:39 63

原创 flutter学习之Listview

ListView构造方法ListView.separated({ Key key, Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController controller, bool primary, ScrollPhysics physics, boo...

2019-11-21 16:19:42 122

原创 Android studio Logcat 过滤栏消失

有时候打开多个项目,突然发现lagcat的过滤栏消失不见了,那么应该如何调出来呢?得救之道,就在其中在底部Logcat处右键单击选中windowed Mode,在取消就出来了...

2019-10-14 14:22:13 574

原创 Mac命令行出现-bash: command not found的解决办法

配置flutter环境变量的时候,由于种种原因,出现-bash command not found问题,更是导致了java命令,git命令无法使用,多方查询网络,终于解决问题,以此文记录之。1、在命令中执行export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin输入cd ~/ 进入home目录2、创建bash_profile命令 to...

2019-10-14 10:51:37 1022

原创 Flutter配置好后,在Android Studio中找不到android设备

完成Flutter的Android配置之后,连上设备,运行flutter doctor,发现已经识别了三个可用设备了但是想要运行程序,却发现提示无法连接设备。得救之道,就在其中path替换成自己的android sdk路径:flutter config --android-sdk /path/to/android/sdkpath换成自己的android studio文件夹路径:fl...

2019-10-14 10:47:18 822

原创 Flutter Android Studio 可以显示open ios Simulator但是无法连接ios设备

运行flutter doctor,各项都安装完毕,打开android studio,可以显示open ios Simulator打开设置,但是却无法连接得救之道,就在其中输入命令sudo xcode-select --switch /Users/wangchang/Downloads/Xcode.app/Contents/Developerswitch后面即xcode安装路径回车即可,这...

2019-10-14 10:44:02 1542

原创 Android 护眼模式的实现

思路:获取content根布局,在上面添加一层浮层,默认透明,开启护眼模式设置护眼色值。实现:在BaseActivity的onCreate方法中,添加浮层,所有的Activity继承BaseActivity即可步骤1: /** * 添加护眼模式浮层 */ protected void initEye() { content = ((ViewGrou...

2019-08-28 18:25:07 2157 6

原创 记录一下Android 长截屏功能

需求对webview进行截屏,可以大于一屏代码:在setContentView之前调用if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { WebView.enableSlowWholeDocumentDraw(); }对大于5.0的版本处理,防止截屏不全。public s...

2019-05-27 18:40:01 536

原创 Android 状态栏问题汇总解决方案

为了解决项目中的状态栏适配问题,本人总结了一个demo,汇总状态栏适配遇到的各种场景实现。具体有如下功能:功能1:实现在切换tab时切换状态栏背景色与字体图标颜色功能2:实现在activity中滑动,渐变修改状态栏背景色与字体图标颜色功能3:实现在fragment中滑动,渐变修改状态栏背景色与字体图标颜色效果图:本人github地址:https://github.com/wang...

2019-05-06 16:28:58 88

原创 Android 对PagerSlidingTabStrip进行改造之兼容圆角下划线以及长度

PagerSlidingTabStrip的默认样式是地址:https://github.com/astuetz/PagerSlidingTabStrip这是一个比较老的tabIndicator库,改造前兼容的自定义属性 * pstsIndicatorColor滑动指示器颜色 * pstsUnderlineColor视图的底部的全宽线的颜色 * pstsDividerColor选项卡之间...

2019-05-05 18:56:19 178

原创 Android 实现一个自定义曲线图

一般来说应用中比较常见的是折线图,直方图这种比较多,今天来写一个项目中的需求曲线图,也是在之前的折线图基础上改进而来,看效果图主要考虑曲线的实现以及阴影部分的实现先看代码:import android.content.Context;import android.content.res.Resources;import android.graphics.Canvas;import a...

2019-04-29 11:59:46 1829 3

原创 以一个需求为例浅谈对事件分发机制的理解

最近看了一些事件分发机制的文章,觉得有必要拿项目中的一些实例,来阐述一下对事件分发机制的理解,增强记忆。首先看需求这里由于需要向上滑动展示出一个titlebar的效果,所以我采用了CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+ViewPager的一个方案。首先,通过问题来阐述事件分发问题1:titlebar的样式并不好用to...

2019-04-25 14:46:50 188

原创 NestedScrollView嵌套ListView出现问题以及解决方法

在使用CoordinatorLayout和AppBarLayout实现嵌套滑动的时候,出现listview没有嵌套滑动;看布局: <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="mat...

2019-03-22 10:30:41 583

原创 设置dialog形式的activity问题处理

场景:当我们在进行页面改版时,发现只是将一个activity的样式变成了dialog,这时候可以不需要重新写dialog,直接将activity改造成dialog样式的activity即可重点1:activity需要在清单文件添加dialog样式主题 <style name="MyDialogStyleBottom" parent="Theme.AppCompat.Dialog"&...

2019-03-18 17:17:34 335

原创 jarsigner 错误: java.lang.RuntimeException: 密钥库加载: Keystore was tampered with, or password was incorre

Android的apk安装包签名在上传应用到应用市场的时候需要开发者对应用进行认领,采用Android的apk安装包签名机制来完成。jarsigner简单使用说明jarsigner -verbose -keystore D:\sign_verification\xiaodou.jks -signedjar D:\sign_verification\meizuemptyapk-release-...

2018-11-08 10:45:48 2878 4

原创 Failed to load AppCompat ActionBar with unknown error.

最近在打开新项目的时候发现布局无法显示,刷新布局显示 Failed to load AppCompat ActionBar with unknown error.将主题替换为Base.Theme.AppCompat.Light.DarkActionBar即可...

2018-10-30 14:46:16 180

原创 Re-download dependencies and sync project (requires network)

今天打开一个项目的时候报Re-download dependencies and sync project (requires network)问题在于使用了4.4.1的gradle,然后却下载不下来。解决办法,从开发项目中的gradle-wrapper.properties中复制distributionUrl替换到目标项目中,在点击gradle refresh all即可。最好是把根...

2018-10-30 11:45:34 483

原创 Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception:

Android studio更新3.1.2之后打开新项目,就会报Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception:解决办法,在gradle.properties中添加android.enableAapt2=false即可第二种解决方式更...

2018-10-25 16:27:51 572

原创 Android 自动化构建之Jenkins配置

需求:前面实现了通过python来实现自动化构建上传加固,但是只能满足开发人员来实现此操作,近期公司需要配置Jenkins来完成这项这项操作,以满足测试人员自由构建获取apk。Jenkins的下载安装启动以及下载插件不在此文章之列!一,登录二,管理Jenkins->系统设置安装完jenkins之后会在主目录生成目录地址,项目的构建地址就在这里如:全局属性配置SDK位置配...

2018-10-25 15:59:20 777

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