自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白龙的博客

他强任他强,清风拂山岗

  • 博客(154)
  • 收藏
  • 关注

原创 PopupWindow在标题栏没有办法遮罩

PopupWindow在标题栏没有办法遮罩popupWindow.setClippingEnabled(false);

2020-05-15 16:06:44 326

原创 shell字符串拼接

#!/bin/shapkName=CTestV5_5.5.5.0_7_ycmob2.apklastName=${apkName##*_}headName=${apkName%_*}firstName=${headName%_*}echo "firstName is ${firstName}"apkName=${firstName}"_"${lastName}echo "apkNa...

2020-01-10 18:18:20 1946

原创 shell脚本截取字符串

测试字符串apkName=CTestV5_5.5.5.0_7_ycmob2.apk#表示保留结果是后边的字符 #表示操作符,*_ 表示从左往右找到第一个 _ ,截取 _ 之后的所有字符 lastName=${apkName#*_} 结果 5.5.5.0_7_ycmob2.apk ##表示操作符,*_表示从右往左找到第一个 _ ,截取 _ 之后的所有字符 last...

2020-01-10 18:14:28 272

原创 设计模式之禅-依赖倒置原则

高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。高层模块和低层模块容易理解,每一个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是低层模块,原子逻辑的再组装就是高层模块。那什么是抽象?什么又是细节呢?在Java语言中,抽象就是指接口或抽象类,两者都是不能直接被实例化的;细节就是实现类,实现接口或继承抽象类而产生的类就是细节,其特点就是可以直接被实...

2019-09-11 15:45:42 252

原创 设计模式之禅-里氏替换原则LSP

1.子类必须完全实现父类的方法 在类中调用其他类时务必要使用父类或者接口,如果不能使用父类或者接口,则说明类的设计已经 违背了LSP原则 如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中已经发生“畸变”, 则建议断开父子继承关系,采用依赖、聚集、组合等关系代替继承。 2.子类可以有自己的个性子类可以有自己的方法和属性3.覆盖或实现父类的方法时输入参数可以被放大...

2019-09-11 11:16:56 242

原创 链表与数组比较

2019-09-04 18:02:16 214

原创 Android移动性能实战>总结

Android移动性能实战知识点13+1+1磁盘,cpu,内存网络电池(耗电)知识点2SP每次commit()会对应一次文件的打开和关闭优化:同一个方法中,在最后一次保存中调用commit即可使用apply代替commit,前者是异步操作,后者是同步操作知识点3Objectoutputstream序列化磁盘时,会把内存中的每个对象保存在磁盘,在保存对象时候,每个数据成员会带来...

2019-08-09 10:31:16 334

原创 过程性语言与面向对象语言区别

这里介绍阅读过的文章辅助理解:https://www.cnblogs.com/wuyongji/p/10534105.html

2019-08-09 10:08:24 748

原创 java数据结构和算法学习笔记

1.数据结构的概念数据结构是对计算机内存(或者磁盘)中数据的一种安排数据结构有:数组,栈,链表,二叉树,哈希表等算法是对数据结构中的数据的一种处理.数据结构特性:...

2019-08-08 20:17:16 388

原创 Android中最近使用的动画总结

1.缩放动画2.位移动画(方法以及参数含义)3.属性动画4.组合动画ObjectAnimator scaleX = ObjectAnimator.ofFloat(holder.svGiftImg, "scaleX", 0f,1.3f, 1f); ObjectAnimator scaleY = ObjectAnimator.ofFloat(holder...

2019-08-02 15:16:51 239

原创 fresco混淆问题

1.debug包下没问题,release包就崩溃原因是因为没有混淆参考文章:https://pagespeed.v2ex.com/t/440528https://www.fresco-cn.org/docs/proguard.html解决方案:添加混淆:#fresco# Keep our interfaces so they can be used by other ProGua...

2019-06-10 18:41:23 1299

原创 ViewPager,实现真正的无限循环以及解决边界切换闪屏问题

参考文章:https://www.jianshu.com/p/99b9e4b53dc0https://www.cnblogs.com/zhujiabin/p/7470721.html实现无限循环方式1.viewpager adapter中@Override public int getCount() { return data.size() == 0 ? 0 :...

2019-05-24 11:59:44 2118 1

转载 编程中限定资源前缀resourcePrefix

android {resourcePrefix "${project.name}_" //给 Module 内的资源名增加前缀, 避免资源名冲突}1、layout中的.xml文件提示更换前缀名。2、value中的.xml文件的name属性提示更换前缀名。...

2019-04-09 18:17:37 6775

转载 组件化需要考虑的技术点

几篇比较好的文章作为扫盲,进阶,感激大牛们的存在https://www.jianshu.com/p/f671dd76868f大牛总结了在组件化中很重要的三个大点:1.基础库(网络请求、图片加载等)的封装2.路由框架(页面跳转, 服务提供)3.业务组件的划分和代码隔离组件化实现的方案:单工程+多module模式。...

2019-04-09 18:12:53 989

转载 gradle中api、implementation和compile的区别

文章写的不错https://www.jianshu.com/p/c1e9f30c88a0

2019-04-04 16:58:01 2137

原创 项目开发中config.gradle的使用

gradle统一入口版本管理的初衷是解决一个项目只要一个地方修改,各个有引用的模块便可以自动生效,从而达到了一个地方修改各个地方生效的好处,同时能保持gradle引用库版本的一致,特别适合在多module项目中统一管理。1.在根目录新建config.gradle文件, 并在项目的顶级 build.gradle 中引用它android新建gradle文件的方法:在project视图下顶级...

2019-04-04 14:16:23 3290

原创 搜索页面,软件盘操作小整理

1.使软件盘显示搜索按钮设置edittext属性:android:imeOptions="actionSearch"edittext当作搜索按钮的事件监听 <EditText android:id="@+id/search_bar_et" android:layout_width="match_parent" ...

2019-03-28 15:05:06 191

转载 android无埋点统计的调研分析

埋点调研:1.代码埋点:友盟,百度统计2.可视化埋点:对代码改动比较大3.全埋点:统计比较通用的数据1.https://juejin.im/entry/58e8aa25a22b9d00589bd297美团点评的方案,就是重写 UI 控件,然后拦截其事件,符合要求的,发送统计数据到统计系统中。虽然可以解决问题,但是又需要面临另外一个问题,移植的成本非常的高所以美团想到的了两个方案:参...

2019-02-21 18:41:13 1051

原创 一些小的知识点

1.recycleview中使用GridLayoutManager使其有gridview的效果:表格布局,第一个参数表示上下文,第二个参数表示表格有多少列,代码如下:rv.setLayoutManager(new GridLayoutManager(this,3));在表格布局中还可以修改参数,使其水平布局,那么那个数字就代表着有几行了,同样最后一个参数表示反转:rv.setLayout...

2019-02-14 10:25:40 176

原创 android中的单例模式

这是本博看了《android源码设计模式解析与实战》的总结。单例模式的实现方式1.懒汉模式public class Singleton{ private static Singleton sInstance; private Singleton(){ }public static synchronized Singleton getInstance(){if(sInstance ...

2019-02-01 14:48:53 506

原创 kotlin中一些知识点

1.委托属性: 语法是: val/var &lt;属性名&gt;: &lt;类型&gt; by &lt;表达式&gt;2.https://www.cnblogs.com/liuliqianxiao/p/7157700.html可空类型? ?. ?: !!.?可为空?.如果不为空3.类布局通常,一个类的内容按以下顺序排列:属性声明与初始化块次构造函数方法声明伴生对象不要按字母...

2019-01-31 18:26:43 277

原创 Kotlin中的object 与companion object的区别

https://www.jianshu.com/p/14db81e1576a这篇讲解的比较好1.object:静态对象2.companion object:伴生对象,一个类中只能有一个。类似于java中的静态方法 Java 中使用类访问静态成员,静态方法...

2019-01-30 11:27:37 2066

原创 Android 反编译神器jadx的使用,比jd更好用

下载地址:https://github.com/skylot/jadx/releasesjadx使用:对于 Mac 或者 Linux,使用 jadx-gui ,Windows 下就需要使用 jadx-gui.bat 了,双击可以直接运行,如果有安全警告,忽略它就可以。支持的文件类型apk、dex、jar、zip、class、aar,真的强大之前使用过的jd一百倍有木有。这篇文章写的很详细:...

2019-01-28 11:23:24 3362

原创 计时器Chronometer的使用

&lt;Chronometer android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/chronometer" android:textColor="#ff0303" android:textSize="12pt" andro..

2019-01-09 10:08:17 1398 1

原创 何红辉设计模式之六大原则

这篇文章总结的很到位:https://www.jianshu.com/p/807bc228dbc2欢迎去阅读设计模式六大原则 ,简称:solid1.Single Responsibility Princple单一职责原则同一个类只负责一个职责,其内部是高度关联的函数。2.开闭原则:Open close princple在扩展上开放,在修改上禁止。一个好的设计在添加新功能的时候应该进...

2018-12-11 17:39:38 367

原创 使用ValueAnimator实现倒计时功能

1.代码 /** * 开始计时 */ private void startTimer() { if (timeValueAnimator == null) { timeValueAnimator = ValueAnimator.ofInt(0, 100); timeValueAnimator.setInt...

2018-12-03 18:17:58 1031

原创 一个能够有shimmer功能的帧动画自定义imageview

1.自定义继承imageview的view:public class ShimmerFrameLayout extends AppCompatImageView { AnimationDrawable animationDrawable; Runnable runnable; int delayMillis;public ShimmerFrameLayout(Cont...

2018-12-03 11:24:41 482

原创 android手机屏幕共享神器踩坑指南

开源项目地址:https://github.com/Genymobile/scrcpyscrcpy,由 Genymobile 推出的可跨平台的、可自定义码率的、开源的屏幕共享工具。它提供了在 USB (或 TCP/IP )上连接的 Android 设备的显示和控制,适用于 GNU/Linux、Windows 和 MacOS 。Genymotion 模拟器就是 Genymobile 的产品。该...

2018-11-30 19:15:16 4181

原创 android动画帧动画,属性动画等

1.Animationdrawable帧动画:1. 设置动画的xml 作为src:view.setImageResource(R.drawable.play_gif);2. AnimationDrawable animationDrawable = (AnimationDrawable) view.getDrawable(); 3.animationDrawable.start();...

2018-11-30 18:43:54 271

原创 textview显示下划线,超链接,监听textview部分text点击事件

1.textview改变部分字体颜色 SpannableStringBuilder sb = new SpannableStringBuilder(); sb.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.rgbfcff24)), start, end, Spanned.SPAN_EX...

2018-11-30 16:55:49 522

转载 Java浮点数float,bigdecimal和double精确计算的精度误差问题

学习到一篇博客内容,值得做一篇笔记:建议阅读原文,本文只是粗略笔记原文连接:https://www.cnblogs.com/wangyt223/p/6210916.html1.double小数转bigdecimal后四舍五入计算有误差案例:double g= 12.35;BigDecimal bigG=new BigDecimal(g).setScale(1, BigDecimal....

2018-11-06 20:52:46 853

原创 leetcode58最后一个单词的长度

字符串长度问题

2018-11-06 14:39:25 136

原创 debug调试中的一些问题

1.debug时候无法启动,一直显示watting for adb界面解决方案多半是adb被占用:2.在mac上debug显示界面:在活动监视器中杀死adb,然后使用as debug,如果没有好转,就看看手机是否安装了某手机助手,我是好死不死的安装了手机助手,果断卸载之,痊愈3.debug打了断点,但是死活无法进入debug页面调试代码,可能是因为你的代码范围设置了auto,改为...

2018-11-05 21:04:14 1426

原创 GIT命令的复习

1.clone远程代码到指定文件夹git clone address e:/workspace2.查看仓库所有分支git branch --remote3.切换分支developgit checkout develop

2018-11-01 15:44:01 173

原创 面试心路历程总结

1.低头干活也不忘抬头看路。不然只苦兮兮的干活回头很可能让你失去市场价值2.多一门技能,比如英语口语3.早做职业规划,不要浑浑噩噩度日4.你的努力市场会给你一个公正的价码5.宁吃奋斗的苦不要吃生活的苦6.不要因为暂时的不顺遂,忘记长久的目标7.技术不是青春饭8.不要停止学习,无论哪一行,想要出色,背后都是汗水。...

2018-10-27 13:38:00 888

原创 某大厂一次面试经

1.你做的项目app占多大内存,崩溃率为多少2.在你的app里你比较擅长的模块是什么3.线程池的使用,自己写联网操作的工具怎么实现4.事件分发机制5.view的绘制过程6.一根质量不均匀的绳子燃烧完毕是1h,怎么计算出半小时的时间...

2018-10-27 13:29:50 633

原创 javascript入门篇

这里只记录需要在意的点,不做长篇大论的抄录1.JavaScript 是一种动态类型语言,也就是说,变量的类型没有限制,变量可以随时更改类型。var a = 1;a = 'hello';上面代码中,变量a起先被赋值为一个数值,后来又被重新赋值为一个字符串。第二次赋值的时候,因为变量a已经存在,所以不需要使用var命令。如果使用var重新声明一个已经存在的变量,是无效的。var x ...

2018-10-23 19:05:44 166

原创 第一个reactnative项目

1.搭建rn环境必须安装的依赖有:Node、Watchman 和 React Native 命令行工具我们推荐使用Homebrew来安装 Node 和 Watchman。在命令行中执行下列命令安装:安装homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/maste...

2018-10-23 14:23:35 636 1

原创 leetcode29. 两数相除

给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。利用&amp;lt;&amp;lt; 左位移,相当于乘以2,&amp;gt;&amp;gt;右位移,相当于除以2说明:被除数和除数均为 32 位有符号整数。除数不为 0。假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231...

2018-10-22 10:24:22 200

原创 kotlin实战第三章

1.kotlin的集合,kotlin没有自己的集合类而是采用标准java的集合类

2018-10-22 10:21:00 279

空空如也

空空如也

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

TA关注的人

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