自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (11)
  • 收藏
  • 关注

原创 不要在ConstraintLayout的子View中使用match_parent

引以为戒。目前出现过的问题,主要都是因为recycleview间接导致的。问题1:MainActivity中使用ViewPaper2,ViewPaper2显示的Fragment中有RecycleView。MainActivity中底部依赖的控件隐藏会导致Viewpaper2的高度是正常的,Fragment显示不全(RecycleView不显示)原因:ViewPaper2的宽使...

2020-02-27 09:26:51 978 2

原创 压缩包重命名后的解压文件夹名称问题

为了解决“压缩文件重命名后,解压文件夹名称依旧是修改前的名字”的问题

2024-02-26 18:10:41 389

原创 TextView设置Marqueue宽度足够时也发生滚动的原因

需求在自定义ViewGroup时,其中包含一个TextView,设置Marqueue,当文本长度最大宽度时,开始滚动显示。问题最开始使用固定宽度为最大宽度,然后文字居中,无问题。后来由于需求变更,加入了drawable,所以宽度调整为自适应,文字居左。这时候问题出现了。文字一直会滚动,哪怕文字很短,已经展示完全的时候分析首先确认问题原因是居左、drawable及drawable padding、自适应宽度导致的,因为就修改了这几个地方。依次回调居左、drawable及drawable pad

2022-02-25 15:21:29 774

原创 Volatile关键字对于double、long的影响

缘由今天被问到一个问题,太久没看了,记混了,特此记录一下。线程安全三大特性总所众知,多线程安全主要变现为三个特性:可见性、原子性、有序性。Volatile而说到可见性,就不得吧提到Volatile这个关键词。对于大部分基础数据类型,单独的读写操作都是具有原子性的,Volatile保证了其可见性。但是double、long这两种类型的读写则有所不同。double、long本身有64位宽,对于Java虚拟机,目前是将32位的读写作为原子操作,所以double和long的读写需要分为两次,每次读写

2022-01-24 14:45:38 1042

转载 float的精度和取值范围

float的精度和取值范围

2021-12-10 17:51:37 251

原创 commitNowAllowingStateLoss导致的FragmentManager is already executing transactions

commitNowAllowingStateLoss导致的FragmentManager is already executing transactionsfragment版本1.3.6异常日志Fatal Exception: java.lang.IllegalStateExceptionFragmentManager is already executing transactionsandroidx.fragment.app.FragmentManager.ensureExecReady (F

2021-12-01 14:16:38 1653

转载 雷电模拟器4.0无法设置代理的问题

https://www.jianshu.com/p/6798163aac4a4.0在系统设置中设置代理没用添加:adb shell settings put global http_proxy ip:端口移除:adb shell settings delete global http_proxy&adb shell settings delete global global_http_proxy_host&adb shell settings delete global globa

2021-06-26 12:19:00 7551

原创 xlwings出现‘无效类字符串’问题

原因:不在代码上,而在于打开excel文件的软件上。默认打开excel操作excel文件,我就是没安装Excel出现的这个问题。我的电脑是Windows,其他系统可以尝试同样的方案。方案方案1:安装Office Excel后解决。方案2:如果安装了wps,修改打开excel的软件。解决:修改_xlwindows.py文件(可以用everything进行搜索)python安装目录下找到以上提示中的_xlwindows.py,备份为_xlwindows.py.bak,修然修改_xlwindo

2021-05-23 14:58:41 2394

原创 MotionLayout回调中设置visible无效的问题

setTransitionListener中设置原本gone的view为visible,view仍旧不可见。必须post中设置。具体原因暂未可知。clRoot.setTransitionListener(new TransitionAdapter() { @Override public void onTransitionChange(MotionLayout motionLayout, int startId, int endId, float progress) {

2021-03-24 14:11:39 670

原创 关于TextView设置Marquee不滚动问题

1、固定高度导致的已设置 android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever"但是不生效。。。 private void startMarquee() { // Do not ellipsize EditText if (getKeyListener() != null) return

2021-02-24 15:47:55 1553

原创 关于focusableInTouchMode不生效的问题

focusableInTouchMode 对于一个拥有触摸屏功能的设备而言, 一旦用户用手点击屏幕, 设备会立刻进入touch mode。这时候被点击的控件只有isFocusableInTouchMode()为true的时候才会获得focus,比如EditText控件。 其他可以触摸的控件比如Button(其isFocusableInTouchMode默认为false), 当被点击的时候不会获取焦点,它们只是简单地执行onClick事件而已。Android touch mode和focu

2021-02-04 17:29:12 1176

原创 关于AndroidStudio自带模拟器无法联网

之前手机版模拟器都没问题,但是不知道为什么,最近新建的Tv版模拟器似乎不能联网,尝试多次发现了以下解决方案:1.命令行打开你的 sdk 目录中的 emulator 文件夹 按住 shift 键同时右击空白处 选择在此处打开命令窗口然后输入 emulator @你模拟器的名字 -dns-server 8.8.8.8,114.114.114.1142.修改“网络和共享中心“--》指定网络--》属性--》internet版本协议4--》修改DNS地址为114.114.114.114 和8.8.8.8

2021-02-03 10:08:26 1092

原创 不改变view绘制顺序的情况下改变事件分发的顺序

Q:同一个层级的View 绘制顺序出现变化后, 是不是事件接收的顺序也出现变化了?能不能做到同一个层级下的A和B B在A上面, 但是A先接收事件?A: override fun getChildDrawingOrder(childCount: Int, drawingPosition: Int): Int { return childCount-1-drawingPosition; // return super.getChildDrawingOrder

2020-11-13 17:01:39 102

原创 关于Windows端口没被占用提示An attempt was made to access a socket in a way forbidden by its access permissions

问题某软件启动日志一直提示:An attempt was made to access a socket in a way forbidden by its access permissions。我百度发现全是“netstat -aon|findstr “49157””这种,但是我试了发现没有进程占用。原因后来好不容易找到了TCP动态端口起始端口,发现很多人说改这个可以解决问题。然后查到Windows Vista 和 Windows Server 2008 中,TCP/IP 默认动态端口范围已更改

2020-10-06 00:20:33 24361 7

原创 关于Android Studio中Kotlin顶级函数查看源码出现“compiled code”的解决方法

问题近日在查看Kotlin Flow相关源码的时候,发现很多操作符的源码点进去都会点到Class文件,对应的方法实现都是“compiled code”,看不到具体源码。点击右上角的几个选项一点用都没。。。。出现这种现象的函数一般是Kotlin的顶级扩展函数,但是有些顶级扩展函数又可以直接点击方法名导航到源码的地方去,不知道是什么差异导致的这两种不同的跳转。如果有人知道,希望能留言告知。解决方案查找调用的地方(源码中的调用,或者注释中的调用[方法名],不要选你代码中的调用,不然又回到了问题的起

2020-08-28 15:57:27 3574 2

原创 Java内部类是如何获取外部类的private属性

细话Java:"失效"的private修饰符

2020-08-26 15:51:41 465

原创 关于Kotlin中“协程一种轻量级线程”的解释

文章目录前言问题在哪协程是什么Kt协程和线程协程与线程结论前言相信很多人都听过或者看到过这样一种说法“协程是一种轻量级的线程”。以下文档中都有类似的描述:Kotlin中文网-协程-基础-第一个协程程序本质上,协程是轻量级的线程。Kotlin英文官网对应位置Essentially, coroutines are light-weight threads.显然,翻译很准确问题在哪相信很多人了解过Kt协程都看过上线官方的这个描述。因而很多人觉得协程比线程牛逼,因为是”轻量级

2020-08-17 17:03:13 1087

原创 关于Gson导致默认值丢失的问题分析

起因:一开始我以为gson是通过调用对应参数的构造,没有对应到默认值是因为kt的data class默认没有生成重载方法,后来自己试了一下发现加不加注解都无法取到默认值。断点看了看源码才发现原因:因为gson是直接调用默认构造,然后通过反射设置属性值的。而kotlin的默认值并不是直接设置在属性上的,而是在差异个数的构造方法上所以导致了默认值无效。解决方法:如图1中所示,使用Moshi是没问题的,我只测试了注解的方法是没问题的,原因是因为注解会生成对应的adapter,内部使用的是

2020-08-13 16:05:58 1504 1

原创 同步异步与阻塞非阻塞的区别

问题源于知乎 怎样理解阻塞非阻塞与同步异步的区别?以下乃个人见解,如有不对之处,欢迎指出讨论。概念同步异步是形容结果的通知形式。通知形式!主动/被动。阻塞和非阻塞是形容客户端在接受到结果之前的自身状态。一个是状态,一个是形式。组合毫无疑问可以进行组合。2*2=4种结果。我们最常用的两种组合:同步阻塞:网络请求的同步形式。主动获取结果,并且获取到结果前其他同线程操作不会执行。异步非阻塞:网络请求的异步形式。结果靠通知,并且发出请求后就执行其他操作去了。比较不长见的两种形式:1.同步非阻

2020-05-27 19:40:18 212

原创 小米手机第一次使用SSR提示“创建一个XXX链接”,无法点击确定

原因:有软件在屏幕上层挡住了(为啥就tm挡住了确定按钮?取消按钮可以点)在之前是因为"个性主题"。后来我更新到了MIUI12没有这个软件了,一直没找到是啥软件影响的。只能重启后马上点击,趁其他软件还在启动,马上点击确定,可以解决这个问题。...

2020-05-08 16:11:31 4948

原创 Android Studio国际化多语言String文件一键翻译插件

需求之前产品也提过这方面的需求,说每次翻译都要手动一次次的复制,然后翻译再复制回来,不仅容易出错,还麻烦。找现成的之前也搜索过相关文章,但是一方面很多都是不更新了,另一方面之前也没弄过插件开发,虽然比较感兴趣,但是bug太多一直没空。今天好不容易有点时间了,就顺便把这个弄一弄。1. 百度搜一下作为cv工程师,肯定不会自己从头写的,能用现成的就用现成的。发现了一篇文章,AndroidL...

2020-04-03 20:14:58 4221 5

原创 instagram、FaceBook分享

/** * 动态 * https://developers.facebook.com/docs/instagram/sharing-to-feed * 快拍 * https://developers.facebook.com/docs/instagram/sharing-to-stories */fun Activity.shareIns( path: String) {...

2020-02-27 09:37:00 1077

原创 Facebook打开,跳转个人首页、动态方式

1. 启动facebook,如果已经启动,就切换到前台fun startFacebook(context: Context) { val pkgName = "com.facebook.katana" var intent=context.packageManager.getLaunchIntentForPackage(pkgName); if (intent==nu...

2020-02-27 09:34:19 7726

原创 通过代理解决github项目Clone过慢的问题

host或者码云啥的都各有自己的缺点:host:目标ip变了需要多次更改,不能一次设置一直生效码云:码云本身克隆github也很慢本文主要记录通过代理的方式进行配置,如果不懂或不具备这个前提请自觉点击x退出。方案一:下载:代理方式选择全局,然后直接down方案二:clone:设置代理:git config --global http.proxy 'socks5://127...

2019-12-19 17:43:26 637 3

原创 LeetCode-5-最长回文子串

这道题其实每次看题目列表都会看到,然后还每次似懂非懂,也看了很多次解法了,但是就是看一次忘一次。今天趁着明天周末可以不用早起,准备写一两道,又看到了这道题,尝试按照记忆写一写。题目最长回文子串这里需要注意的是子串,而不是子序列,子串必须是连续的,子序列没有要求连续(516. 最长回文子序列)解法暴力解法:所谓暴力,无非就是穷举,然后判断每个子串是否是回文,然后和记录的长度做比较,...

2019-11-23 00:43:59 114

原创 google应用内支付接入说明

介绍google应用内支付主要用于海外应用的内购。主要分为一次性产品、订阅和奖励产品,本文主要介绍订阅和一次性产品,其他内容可以参考google开发文档。订阅类比国内各种产品的会员,每隔一定周期向用户收费。我负责开发的应用也主要采用这种收费模式,分为按月和按年两种付费模式。一次性购买类比游戏买皮肤这种一次性买断商品。最开始我们也使用了这种方式,后来被舍弃了,改为了按年订阅。试用期这两...

2019-11-15 23:15:31 2661

原创 关于使用aspectjx出现 java.util.zip.ZipException: zip file is empty

首先在demo中是没有问题的,然后集成到正式项目中就报了这个错,反复对比了好几次配置都一样的(有种情况是集成了但是不使用也会报错没找到类xxx)。先Googlegoogle发现该项目的issues里面也有很多人遇到这个问题。https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx/issues/101h...

2019-10-23 11:52:51 3459 1

原创 听说比KMP更牛逼的字符串匹配算法-Sunday

#废话今天之前,我只知道KMP(看猫片)算法,昨天刚看了28. 实现 strStr(),今天早上刚刚从一个KMP算法的评论里面知道了还有这个Sunday算法,作为一个程序员,我最喜欢周末了。字符串匹配算法通常包含BF、KMP、BM、Sunday。BF是最简单暴力的算法KMP是最广为人知的算法BM效率高,复杂Sunday简单且高效#正文Sunday算法的最主要特点...

2019-09-23 22:58:43 1072

原创 记HashMap中的tableSizeFor(寻找最小二次幂算法)

/** * Returns a power of two size for the given target capacity. */ static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >>> 1; n |= n &...

2019-09-20 21:45:18 366 3

原创 【算法】从1到n中1出现的个数

缘由买了两本算法方面的书,每次都是随便翻一翻,前两天睡前随便翻了下,看到这道题觉得很有意思,反复看了好几次看完全明白过来,然后今天趁周末没事在leetcode上面找到这道题自己写了写,特意记录下来。1. 解法1首先按照最自然的的思路就是从1到n求每个数字中1出现的个数,无非就是一个循环,然后通过while取模算每个数字的个位数字是否是1if(n<1) return 0int co...

2019-08-24 17:07:03 1624

原创 约瑟夫环问题-基础版(数学归纳法)

问题:n个人围成一圈,从1开始报数,报到m的人死,然后后面的人接着报数。。。直到最后剩下一个人,求最后这个人的初始编号是多少可以根据游戏进程进行正向模拟,但是我觉得这种方式是最自然的思考模式,肯定不是最优算法。实际上:确实不是最优。更优的算法是根据结果进行倒推:首先为所有人编号:初始号:0 1 2 3 4 5 ...

2019-08-19 22:43:12 493

原创 关于内部类访问外部类变量必须是final的解释

并不是同部分人所说的因为生命周期的问题,gc是否回收跟是否用final修饰并没有关系。final定义的是不可修改(对象指向的地址不可被修改,地址对应对象内部属性可以修改)内部类和外部类实际上是同级的,他们在编译时会被编译成两个独立的class文件。内部类能获取到外部类变量的原因是在构造外部类的时候回通过继承的方式,将外部类以及对应的参数当做构造参数传递到内部类的实现类中,从而达到内部类...

2019-08-19 13:21:37 791

原创 使用ffmpeg拼接两端音频第二段自动跳过无法播放的问题解决方案

搞了几天,编译调试乱七八糟的问题,终于解决了两种拼接方式 ffmpeg -i concat:123.mp3|124.mp3 -acodec copy output.mp3 ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp3//推荐mylist.txt:file '123.mp3'file '234.mp3'...

2019-08-12 15:22:57 1400

原创 Windows下载android源码

1.安装git作为一个android开发,这步应该可以跳过吧。主要就是安装git,添加到环境变量我个人是使用的Source Tree,毕竟我懒得记命令行验证:cmd 输入git,出现git的命令提示(一大堆的东西),就知道是否安装成功了2.安装Python下载地址:https://www.python.org/downloads/目前是3.7.4记得安装完添加到环境...

2019-08-10 16:48:42 412

原创 LitePal在Android9.0上报错java.lang.Class[] java.lang.reflect.Constructor.getParameterTypes()' on a null

https://github.com/LitePalFramework/LitePal/issues/546错误信息:java.lang.Class[] java.lang.reflect.Constructor.getParameterTypes()' on a null object reference错误原因:实体如果实现了Parcelable,在某些版本就会导致,目前发现在9.0上面...

2019-06-24 14:05:32 766 3

原创 一次RxJava2导致的线上崩溃问题:The exception was not handled due to missing onError handler in the subscribe()

周末正在休(玩)息(LOL),突然产品告诉我线上崩溃率很高,还记得周五测试很忙,没怎么测产品就急着上线了。吓得我感觉看了下友盟数据,发现错误频次最高的是一个网络请求无法解析域名的异常:第一反应:国外用户无法解析我们配置后台数据的域名,但是理论上来说也应该是网络错误,而不是闪退呀。第二反应:看到错误的抛出地址是io.reactivex.internal.functions.Fun...

2019-06-24 13:11:24 13783 10

原创 关于ObjectBox Kotlin集成

1.在应用的build.gradle添加classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"2.在app的build.gradle中添加apply plugin: "kotlin-kapt"dependencies{ debugImplementation "io.objectbox:o...

2019-06-22 20:01:26 1106

原创 View的绘制流程

View的事件分发机制在上一篇文章中我简单的梳理了一下View的触摸事件分发,有兴趣的可以看看,帮老弟我看看有啥不足之处,留言我改,共同进步。即使不看那篇文章相信大家也都知道View主要包含View和ViewGroup(当然,其实ViewGroup也是View的一种)。在日常开发中很多时候我们仅仅依靠系统自带的控件是无法达到设计师的要求的,这个时候我们通常都需要用到自定义控件。自定义控件一般有...

2019-01-30 23:40:18 125

原创 View的事件分发机制

新年快乐马上要过年了,这个时候很多人都回家了,过完年就到了金三银四的跳槽季了,身边也有很多朋友开始准备换工作了。而我,还没想好。View的事件分发机制在面试中被问到的频率很高,大概跟View绘制流程问到的频率差不多。我们今天就来复习一下View的事件分发机制,用‘复习’一词是因为我本人也是个小菜鸡,才毕业一年多,写东西的水平肯定比不上在座的大佬们。至于在此献丑,只是想把自己理解的东西写出来,相...

2019-01-29 23:54:29 136

原创 Fragment和Activity的选择

闲话多说为什么作家应该用 Markdown 保存自己的文稿献给写作者的 Markdown 新手指南很久之前就知道markdown写文档很好,现在也学学吧,之前是怕太多语法记不住,实际上还好,常用的就那么几个,比看 **FSC(Fucking Source Code)**简单多了。书写过程中产生了一个小疑问: 段前是否需要缩进? 我个人觉得都差不多,不知各位何解。发问相信大家平时肯定经常...

2019-01-26 22:39:39 1239

modbus4j的开发jar包和dll

modbus的开发jar包和dll,其中包含modbus4J.jar、modbus4j继电器调试记录.pdf、RXTXcomm.jar、rxtxParallel.dll、rxtxSerial.dll、seroUtils.jar

2018-07-05

Android 6.0指纹识别Demo

之前下载的demo,感觉还不错,所以分享出来 ,

2017-12-01

resin3.1.6破解版本

resin3.1.6破解版资源,欢迎各位下载 。

2017-11-22

设计模式详细讲解

自己看的设计模式文档,感觉还不错,每个例子都比较通俗易懂,每个代码都有注释,大家可以下载看看,记得回来评论,给后来的人一个参考,谢谢大家。 Ps:设计模式是一个非常重要的东西,尽管上学的时候不觉得

2016-08-22

android 自定义相机(可连续拍照,不变形,可预览,可以手动聚焦)

android 自定义相机demo,可以拍照,拍完了左下角有个预览的缩略图,上方可以调节闪光灯,切换前后镜头,可以手动、自动聚焦,右下角是一个延迟拍照,暂定为5秒

2015-12-28

Spring mvc mybatis web整合案例(包含相关jar包)

我找了很多网上例子,都不怎么好用,要么是跟我平常开发用的不一样,要么就是还要我自己做太多修改才能用的,我就自己从项目里面抽了一个出来,可能jar包有多余的,但是肯定能用,mysql的运行文件在webroot下面的document里面(运行了就有相关的数据库数据),运行我采用的是navicat工具,大家有什么问题可以去我的博客留言,我看到了一定会解答的

2015-12-28

mysql数据库64位

mysql 5.5.34 64 亲测win8可用

2015-10-08

c语言经典例题和答案 50道

答案自己做的 都测试了的 就最后两道没做(一道链表嫌麻烦,一道子串是java里的概念)

2014-03-31

Connectify(记得看说明文档)

我自己在用的软件 很简单的

2014-02-24

高校宽带取消联网弹窗

高校宽带取消联网弹窗

2014-02-24

空空如也

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

TA关注的人

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