自定义博客皮肤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学习进阶以及经验分享

  • 博客(173)
  • 资源 (5)
  • 收藏
  • 关注

原创 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 3971 2

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

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

2018-10-25 15:12:33 1117

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

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

2016-07-05 14:22:43 5473 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 8518 3

原创 Android 视图绑定实践

视图绑定

2022-12-14 10:28:59 320

原创 uniapp 躺坑之旅

uniapp 页面传递参数 数据过大的解决办法传递参数:encodeURIComponent(JSON.stringify(data))接受参数:JSON.parse(decodeURIComponent(data))

2021-04-19 20:28:41 253

原创 uniapp 账号登陆,账号绑定/解绑流程,躺坑

第一次开发uniapp微信小程序,记录一下开发中遇到的流程以及坑账号登陆1、uni.login 获取code,在调用接口传入code获取uKey绑定账号/解绑1、uni.login获取code,这个code不能拿登陆时获取的code,每次请求都应该是不同的code,此坑之一2、获取到code之后uni.getUserInfo获取个人信息中的encryptedData,iv3、拿code,encryptedData,iv去调用绑定/解绑接口实现绑定/解绑账号功能4、坑之二,流程应该是先uni.l

2021-03-19 16:08:10 1933

原创 css常见问题总结

CSS 问题总结此文会一直记录工作中常见的css问题安卓border-radius: 50% 不圆问题display: inline-blocktransform: scale(.5);transform-origin: 0% center

2021-02-07 11:07:37 252

原创 flex为1的时候,子元素限制一行时内容撑出父布局解决方案

今天遇到一个问题,就是flex布局,左边宽度不定,右边填满剩余空间时,右边元素子元素内容会撑出父布局,遂记录之。html:<div class="container"> <div class="left"> 宽度自适应 </div> <div class="right"> <div class="content"> 子元素 </div> </div></div

2021-01-12 10:12:56 1337

原创 Npm link组件开发

在进行npm组件开发时,为了方便看到组件效果,通常需要使用npm link命令来将组件映射到项目中,此文记录映射操作流程第一步:在npm项目中,cd到组件项目路径,即组件package.json所在路径你可以先ls ,查看项目下所有的组件,然后复制组件名称,cd 组件名,切换路径第二步:执行npm link第三步:打开项目,执行npm link 组件名,然后在页面中引用即可第四步:如果需要修改,直接在npm组件项目中修改即可,然后我们去node-moudles中可以查看组件代码,发现代码会实时同

2020-08-20 14:25:53 666

原创 Gitlab新建项目push报 remote origin already exists

场景:新建项目-push模版项目,因为clone模版项目的时候已经关联remote origin,所以此文记录如何解决此类问题git remote add origin 远程地址.git因为已经关联了remote origin,所以需要先删除git remote rm origin删除之后在去进行关联,执行步骤1执行完之后,提交文件会报错 repository ‘xxx.git/’ not found继续第二步,删除remote origin,重新关联,不同的是,需要把git 的用户名,密.

2020-08-17 11:27:39 742

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

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

2020-07-07 14:19:46 161

原创 实践配置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 259

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

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

2020-06-22 11:28:57 343

原创 使用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 1207

原创 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 2272

原创 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 328

原创 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 271

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

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

2020-05-27 11:03:42 744 1

原创 img标签间距问题

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

2020-05-26 18:43:27 345

原创 RecyclerView嵌套RecyclerView问题

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

2020-03-20 15:17:53 936

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

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

2020-03-16 19:53:51 1197

原创 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 332

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

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

2019-12-09 16:06:48 2211

原创 记录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 409

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

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

2019-12-06 17:08:00 530

原创 Flutter学习之滚动监听

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

2019-11-27 17:29:21 9459

原创 flutter学习之CustomScrollView

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

2019-11-22 16:08:40 9562

原创 flutter学习之GridView

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

2019-11-22 11:49:39 1162

原创 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 802

原创 Android studio Logcat 过滤栏消失

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

2019-10-14 14:22:13 1605

原创 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 7092 1

原创 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 2469

原创 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 2903

原创 Android 护眼模式的实现

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

2019-08-28 18:25:07 4179 15

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

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

2019-05-27 18:40:01 1319

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

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

2019-05-06 16:28:58 326

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

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

2019-05-05 18:56:19 450

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

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

2019-04-29 11:59:46 6066 7

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

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

2019-04-25 14:46:50 435

自定义刻度尺

自定义刻度尺

2016-09-14

Android自定义圆形进度条

Android自定义圆形进度条

2016-09-06

testtouchhelper

ItemTouchHelperAdapter实现RecylerView的拖拽以及滑动删除

2016-03-25

iosAlertdialog

ios风格的AlertDialog

2016-03-17

程序设计实验大纲

手机生产与销售系统,实现手机各部分零件的生产与组装、手机充电器的问题、生产一批同款式的手机和手机销售给顾客的信息,采用了外观模式、建造者模式、适配器模式、原型模式和模板方法模式

2014-06-16

空空如也

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

TA关注的人

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