- 博客(101)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 沉浸式webview输入框被输入法遮挡了怎么办?!
还是那个倒霉的双十一需求,测试时发现发弹幕的输入框被系统输入法挡住了,这个问题在之前UC内核的浏览器时没问题啊。经过各种对比定位,发现是因为这次需求还有个沉浸式的实现,就是这个实现导致输入框无法被弹起。所幸看到了这篇blog,试验后效果拔群,唯独有个小遗憾是没有适配非沉浸式的状态,沉浸式和非沉浸式切换时会有个小黑条。小子不才遂在大神肩膀上狗尾续貂,以资来者。
2024-01-14 12:30:00
778
原创 webview全屏处理,即插即用
去年双十一有个直播的需求,听起来很简单,技术也都很成熟,但是真的开始实现后,还是有不少坑的,首先第一个uc内核不支持webRTC协议,需要重新开发chrome内核的webview,其次webview全屏处理、悬浮窗恢复同步、输入框被被输入法遮盖等问题,都是坑,小子挨个踩过,查阅很多前辈资料,把能够即插即用的部分整理出来,以资来者。
2024-01-13 10:50:51
700
原创 编译鸿蒙codelabs安装时报错
学习鸿蒙ArkTS时编译codelabs样例代码,发现编译完成报错。目前鸿蒙的资料比较少,且官方文档路径很深,遂记录下来,以资来者。
2023-08-17 17:10:00
1749
原创 python读取xml文件,让工具可配置
同上文,随着笔者写的脚本部署在服务器上常态化运行后,有很多地方需要改成可配置的,这样方便其他小伙伴在使用时能够快速完成配置,不用去关注代码逻辑。考虑两种配置文件形式,json或者xml,考虑到xml可以写注释,而json不行,遂选择xml作为配置文件类型。
2023-06-24 16:47:37
198
原创 logging类使用方法,给自己封装一个打日志的工具
笔者使用python脚本主要是把工作中的一些重复性劳动自动化处理,所以大多在自己本地的PyCharm上跑,有问题console打出来就好了。但是随着工具脚本部署到服务器给部门提供服务,就需要有日志进行留痕和问题定位了。所以将第三方库logging简单封装一下,在工程中方便调用。
2023-06-23 17:37:42
235
原创 每个多需求并行开发的早晨执行一下,快乐生活每一天
就可以完成自己的一个特性分支同主分支的rebase了,但是使用过程中,多个需求特性同时开发时,切换来切换去执行脚本也有些麻烦。遂又写了一个多分支自动同步的脚本,与各位同学分享一下。脚本的基础上又套了一层多分支循环调用,并且比对了一下每次执行命令后的分支名符合预期,如果不一致则暂停同步脚本,保证rebase的冲突能够暴露给使用之。
2023-06-11 21:10:46
74
原创 android 耳机连接状态查询
近期有个要监听耳机的需求,本以为挺简单,三五行调用个系统方法就能解决了。结果发现还有点复杂,考虑到这块妥妥是一个模块的东西,自己四处查了一些资料后,去伪存真,最终总算整理出了可以直接使用的内容。记录下来,以资来者。耳机样式分为有线和无线两种,而且需要动态监控当前耳机状态,所以要对察插入时间进行监听,有线耳机的接入是有广播的,而无线耳机就没有了,需要做个简单的轮询处理。
2023-04-22 16:53:31
1570
1
原创 用孕妇的思维和孕妇对话——《用孩子的思维和孩子对话》
看惯了某鱼上经典的卖货话术,“不懂事怀孕了,遂出”。没想到我居然也快要当爸爸了。这几个月准爸爸的生活让我切身的体会到了孕妇的不容易以及陪伴孕妇的辛苦。本文不打算歌颂母亲或者替准爸爸们倒苦水,单纯总结思考一下孕期夫妻如何沟通。加之最近焦虑于未来如何教育孩子,如何与孩子相处,看了这本由温全燕老师写的《用孩子的思维和孩子对话》,感觉不光要用孩子的思维和孩子对话,也要用孕妇的思维和孕妇对话。
2023-04-17 21:33:02
352
2
原创 python解析Java文件三方库javalang用法简介
书接上文,在我一顿操作猛如虎的土鳖扫描后,发现仅仅只是扫描出关键字的话,有些封装后的调用或者将关键字声明称常量后的调用都没法识别出来。这种关键字扫描怎么说呢?有点鸡肋,误报太多,无法聚焦重点。所以我们需要一个识别关键字是否为变量或者封装在那个函数中的能力。这个相当于解析整个Java文件,按照基础的Java文件结构进行归类查询。这种功能其实就是IDE的实现跳转功能,想着这么成熟的技术一定有库的,又去搜索了一波,总算发现了这个宝藏库——javalang。
2023-03-18 17:40:18
3486
2
原创 python提取android工程代码中的一些数据
另外,其实聪明如你的小伙伴已经看出来了,我其实想要使用python脚本来把Android权限相关内容提取出来,这块不清楚有没有比较牛的python库可以直接解析Java文件,然后返回python中可以直接调用的类、方法、成员变量等等的数据结构。所以首先就是把工程中的java文件都读入到内存中,然后按行遍历内容,逐个匹配关键字,当匹配上后,就记录文件、行号以及命中内容。好歹把功能实现了,其中使用的正则都是我一点一点试出来的,挺费劲,记录一下,以资来者。看起来很不错,我甚至用了个常量组,方便日后的扩展。
2023-03-14 20:17:02
448
11
原创 python正则匹配括号里内容的方法
从日志里捞出来一个数据结构体,因为编码原因,没法直接专程json对象解析,所以没办法只好自己手写一层层剥离括号。记录3个核心匹配的逻辑,省的以后四处查了。
2023-03-11 21:30:04
2078
原创 WebView自定义进度条、加载动画,拿走直接用~
年前有个小需求,要对有些域名的H5进行加载流程优化,通过展示H5加载动画来安抚用户焦躁的心情,以提高用户体验。虽然不能理解加个动画咋就优化了用户体验,但需求还是得做的。想着这是个基础的小功能,独立性比较好,遂记录下来,以资来者。
2023-02-09 19:50:00
1764
原创 微信平台注册APP签名获取方法
但是,这个地址居然是空(写博客时又查了一下微信官方地址,又给补上了。),在C站四处找了半天总算找到了安装包,安装,打开。为了证明我说的是对的,我把老的资源放上来。其中在微信平台注册时遇到提供APP签名的问题,我哐哐哐把apk一顿解压,后查看签名文件,讲sha1和sha256两种签名都放上去了,全都提示长度错误。没办法,又换了个Android8.1的设备,跑起了APP后输入包名,点击获取签名,总算完成了。事情是这样的,APP需要和微信做一些交互,涉及到集成微信SDK并完成注册,具体集成方法请见。...
2022-08-26 06:30:00
226
原创 Androidx回退Android-Support库踩到的坑
由于一些很坑的原因,导致提供的aar需要从androidx框架回退到旧的support库,通过androidx关键字删除了代码中所有的依赖后,编译还是报了错误,显示还有依赖androidx的地方。分析上面的输出,发现工程依赖的三方库里存在androidx的依赖。以后只支持Jetpack。重新编译,问题解决!...
2022-07-21 06:30:00
2649
原创 APK解压后AndroidManifest无法正常显示处理方法
最近想要验证一下aar中声明的权限会不会被打包到apk的AndroidManifest中去,所以把编译出的apk进行了解压。解压命令:很顺利,在解压缩的目录下看到了文件,可是打开后看到的时一片编码数字,并不能看到想要看到的东西。查找解答发现需要将xml进行转码后才可以正常查看,遂下载进行处理。然后执行命令即可看到正常的xml文件了。转码命令:最后,开头的问题经过验证,发现aar中的会被合并到APK的中,这块多模块集成时一定要注意,避免引入无关的权限,影响应用上架扫描。...
2022-06-22 07:30:00
1067
1
原创 python入门技能树评测-积跬步以至千里
很早前就看C站开始搞这个技能树的栏目了,我记得开始时只有C语言,奈何大一时被指针虐的体无完肤,遂敬而远之。最近看到有python技能树入门了,加之近期需求不紧,可缓图之。
2022-06-16 21:55:07
455
1
原创 用理性决策生活——《长得好看能当饭吃么》
《长得好看能到饭吃吗》一书是学霸谢宗博根据自己疫情闲散期间在某平台的问答内容整理而成的一本“问答录”,学霸就是学霸,闲散期间也能搞出这么多花样。书中内容主要是为读者粉丝解释生活中的一些奇怪现象,运用经济学原理发掘其深层次逻辑,并予以合理解释。...
2022-06-16 04:30:00
424
原创 openpxyl读写excel操作
今天在看csdn问答时,看到一个小伙伴提问如何对excel做如下操作。看了会儿觉得不难,就开始搞了,结果发现也不是那么简单。吭吭哧哧搞定了,让我叉会儿腰。本来开开心心去贴答案,结果看到有个老哥先回答了,短短几行搞定。好伤心,技术无止境,自己还是太嫩了。贴上老哥的代码链接膜拜一下。...
2022-06-11 17:00:00
373
原创 #5月学习挑战#Python入门-进阶语法-sys.argv+os.path
sys.argv和os.path都可以可以获得当前脚本的路径+脚本名,注意正反斜杠。
2022-06-11 15:00:00
104
原创 #5月学习挑战#Python入门-进阶语法-文件及hashlib
hashlib提供md5,sha,blake(这个是啥)等非对称加密算法。md5和sha256以下的算法都是不安全的,商用环境请勿使用。
2022-06-10 20:40:33
62
原创 #5月学习挑战#Python入门-进阶语法-lambda
lambda是一种匿名函数,可以作为变量传递来传递去。在python这种极简的编码风格中更是十分常见的。
2022-06-10 07:30:00
109
2
原创 #5月学习挑战#Python入门-基础语法-json
json库是python内置得几个常用库之一。简单记录下基本用法。库提供了两个方法,一个读一个写。是将json数据转成python的基本数据格式。map->dist, array->list, str->str, num->num, True/False->True/False, null -> None。获得的新对象可以直接按照python对象调用,十分方便。则是反过来。python的与Java的中打开资源类似,都是由框架帮你完成资源的打开与释放,避免忘记手动进行释放,而造成内存泄漏等问题。...
2022-06-06 22:15:00
66
原创 #5月学习挑战#Python入门-基础语法-三元表达式
python三元表达式写法没有Java的写法简洁,但是他有扩展功能,即一行能写出三五个分支都可以。
2022-06-06 07:30:00
54
原创 Android动态权限框架-AndroidUtilCode使用方法
所提供的动态权限框架是我见过的最为省事的框架。没有了宿主页的限制,可以在任何地方进行动态申请。极大地解决了为H5封装接口或者封装能力类时的尴尬境地。其用法极其简单,分为如下三步。...
2022-06-05 22:00:00
1206
原创 Android动态权限框架-EasyPermission使用方法
Android自6.0以后加大了敏感权限的管控力度,在使用过程中动态请求权限变得不可或缺。其原生实现虽然不难,但是也略为繁琐,想了解详情的同学可以移步《Android原生动态权限申请方法》,故业内大神帮大家封装了各种动态权限框架。就是其中之一。...
2022-06-05 19:00:00
1189
原创 Android自定义弹窗
每个APP都有自己的UI风格,不可能简单地使用Google自带的弹窗模板。所以是时候搞一套我们自己的弹窗范例代码了。按照下列代码只需要再根据APP的主题风格重新绘制一波弹窗布局,就可以无脑迁移了,这种轮子没必要一遍一遍的重造,记录下来以资来者。...
2022-06-05 08:30:00
4131
原创 #5月学习挑战#Python入门-基础语法-列表与元组
列表是python 6种内建序列种最为常见的两种。其实从某种意义上来说,元组是一个不可修改的列表。
2022-06-03 11:30:00
57
原创 #5月学习挑战#Python入门-基础语法-字符串用法
python中重要的数据结构字符串,主要分为如下几方面使用要点。拼接字符串的拼接,可以使用进行拼接,也可以使用进行拼接。加号很好理解,乘号的效果是循环添加。具体示例如下:引号嵌套如上所言,python字符串可用单引号双引号定义。在java中如果遇到字符串里的字符串,sql语句拼接,我们需要对字符串中的双引号进行转义,在python中则不用这么麻烦,直接外部声明为双引号,内部使用单引号声明变量即可。具体用法可以使双套单,也可以是单套多。
2022-06-02 18:30:00
109
1
原创 #5月学习挑战#Python入门-基础语法-enumerate用法
是python内置类,与都支持。其作用如注释,对一个可迭代的对象,枚举化,返回一个枚举对象。该枚举对象可返回其中每个迭代元素的游标及元素本身。
2022-06-01 06:30:00
151
原创 #5月学习挑战#Python入门-基础语法-函数
Python函数的入参和出参都十分灵活,在平时写代码和读代码时都会遇到各种神奇的写法,记录几种常见的,备忘。多样的函数入参def dump(index, default=0, *args, **kw): passif __name__=='__main__': dump(0) dump(0,2) dump(0,2,"Hello","World") dump(0,2,"Hello","World", install='Python', run='Python Prog
2022-05-31 07:30:00
186
原创 #5月学习挑战#Python入门-基础语法-列表推导式
参加了CSDN的5月学习挑战,做到这个编程语言简史题目,对其中的写法有些好奇,遂进行了一下深入的学习。B选项这个写法很让我好奇。if __name__ == '__main__': languages = ... years = ... [print(languages[i], ':', years[i]) for i in range(0, len(languages))]这里打印一句使用的是列表推导式,一种轻量级循环写法。经学习,这种写法实际得到的会是一个新的数组,有点
2022-05-29 21:00:00
234
3
原创 Android 通话功能实现
需求原因,需要在APP中加一个通话功能。想着功能应该不难,遂网上随便抄了一份,打算交作业,但居然还crash了。没办法,去官网查阅资料。其中细节还是有必要记录下来,以资来者。非敏感使用近期APP应用用户隐私保护的管理力度日益增长,所以尽可能少在AndroidManifest.xml权限吧,少一些解释麻烦,所以可以采用Google提供的跳转到Android系统指定的通话的拨号盘方式处理。顺带将号码传递过去,用户需要在通话APP上点击拨号按钮以完成通话任务。这种方式的好处在于显式跳转了系统APP,通话行为要
2022-05-29 11:15:05
557
2
原创 Android Studio中的常用提高效率的重构小工具介绍
还是因为工作原因,遇到了一个刚入门的小盆友。昨天下午我看着他对着工程吭哧吭哧折腾了好久,好奇过去看看,原来是他写的一个方法把feature写成了fature,还在整个项目各个位置调用方法,由于偷懒,该方法涉及的成员变量、局部变量也都Ctrl-C,Crtl-V成了fature,所以他不亦乐乎的自己玩了一下午。虽然疫情导致大家需求都不紧了,能够找点事儿填补一下时间也挺好的,但是有这功夫,刷个leetcode不好么。遂给他演示了几个AS常用的重构工具。改名首先是最常用的功能——改名。使用方法是将光标放置在
2022-05-28 06:30:00
594
原创 Android Studio 工程导入方法及填坑方案
由于工作原因,需要将工程传递给一些新人小朋友,交互过程中,发现有几个典型的问题值得记录分享一下,以资来者。Androdi Studio 导入工程步骤AS导入工程常用的有两种途径一种是通过本地工程导入,还有一种是从远端的版本管理仓拉取工程。本地工程导入本地工程导入比较简单,点击菜单File,然后找到Open...点击,便可以得到下图。![在这里插入图片描述](https://img-在目录栏目输入你本地工程所在地址,便可以看到你的本地工程名,而且还是一个Android机器人的图标,选中后点击OK
2022-05-24 22:16:38
4751
原创 Android Sqlite基本使用方法
通网这么多年了,真是不知道在终端设备留个本地数据库的应用场景还有没有存在的价值,但是居然在本周遇到了一个。很神奇,遂简单学习了一下基本用法,记录下来以资来者。SQLiteOpenHelperAndroid提供了一个很好用的封装类供大家进行sqlite数据库操作。所以Android操作Sqlite数据库的第一步就是创建一个DBHelper继承SQLiteOpenHelper。然后实现其中两个抽象方法onCreate与onUpgrade。最后通过DBHelper#getWritableDatabase来对数
2022-05-22 22:30:00
454
2
原创 TabLayout+Fragment+ViewPager实现Tab页面效果
日常开发小功能时常会用到tab页的切换用法。每次都去翻看之前写的代码,再从业务中剥离出来,太麻烦了。遂将自己之前常用的方式抽象出来,便于下次直接复制取用。基本目录结构─main ├─java │ └─com │ └─example │ └─scoremanager │ │ MainActivity.java │ │ Fragment1.java │ │ Fragm
2022-05-22 21:15:00
352
1
阿里json解析包.7z
2020-02-15
腾讯文档如何可以通过命令导出到本地
2021-09-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人