- 博客(171)
- 资源 (11)
- 收藏
- 关注
原创 QT+VS2019 环境搭建
一、概述一个PC-QT 的跨平台项目要维护。需要搭建一套环境。使用的是QT+VS2019的环境。QT使用v5.9.3的版本 (这个版本qalgorithms.h文件要替换成新的,源码附在文尾)vs插件使用qt-vsaddin-msvc2019-2.7.1.vsix二、安装无脑安装上文的QT5.9.3 和qt-vsaddin-msvc2019-2.7.1.vsix三、配置QT版本这里配置的版本要和上文配置的qt-version 对上四、配置调试参数,如果项目需要的话比如执行编译出
2023-07-20 10:59:50 6492
原创 kotlin className.() 类名点花括号 T.()
一、概述在看一些开源,或者他人的代码的时候遇到这种语法。高级函数参数里有个 类名.(),曾经也抄过放到自己的代码里。但是没有深究,一段时间后看的时候又忘记是什么意思了,so 记录一下。二、先说结论className.() 在高阶函数中出现,作为高阶函数的一个参数。表示:一个以className 对象作为参数的函数或者Lambdafun className.()//表示的是fun xxx(ob:className){}//或者{ ob:className->}细节thi
2022-03-24 14:50:57 1356 2
原创 一、Android Matrix 矩阵
一、Android矩阵大学学的线性代数和矩阵基本忘记的差不多了,理解起矩阵Matrix着实有点费劲,记了一次笔记还把左乘右乘记错了。1.1 使用场景项目中会使用到矩阵的场景:背景图片,指定位置为中心点的缩放,图片平移,图片旋转。opengles 中GLSurfaceView所承载的内容需要缩放,平移变换。是内容变换不是窗口glViewport 变换【注意】:这里提到了两种场景就对应了两种坐标体系,2种矩阵图片场景的矩阵,也就是 android.graphics.Matrix 后文用And
2022-03-21 00:42:57 5756
原创 glib ndk arm64-v8a
1、概述glib的ndk编译是一个复杂麻烦的过程。 这里使用的是 glib-V2.5.83版本,因为当时 arm32位编译用的就是v2.5.83。 ndk 是用的是当下次新版本:android-ndk-r21e 。环境:glib版本2.58.3ndk版本android-ndk-r21e, 选的平台版本target, platform也是21编译环境Ubuntu 16.04.2 LTSlibffi: v3.3libiconv:v1.16gettext:v0.21编译重度参考了这个:htt
2021-10-16 01:25:51 1532
原创 ffmpeg 4.1.7编译arm64-v8a流程
1、概述这次编译的是ffmpeg 4.1.7 arm64-vba版本下载地址:https://ffmpeg.org/download.html【前置条件】:已经部署好ndk, 使用:android-ndk-r21e编译环境:Ubuntu 16.04.2 LTS2、环境变量配置export NDK=/home/share/ide/android-ndk-r21eexport SYSROOT=$NDK/platforms/android-21/arch-arm64/export TOOL
2021-09-29 19:21:01 1843
原创 Arouter helper kotlin(支持kotlin的 Arouter的导航插件 )
一、概述代码组件化,就会牵扯到代码隔离。 跨组件方案在充分使用代码隔离后都会出现一个问题。业务组件间需要相互调用,但由于使用了跨组件方案处理,代码隔离后 相关联的代码就失去了自动跳转的联系。阅读代码,和操作代码带来了一定程度的不便。之前给公司内部的跨组件库写过一个idea插件,来帮助两个组件之间关联的代码进行导航。也有想过给Aroute 写一个,迟迟没有整理。Arouter有个官方的ArouterHelper 插件,提供了java代码的单向导航。但是在Kotlin里是失效的。so 写了一个支持Kotli
2021-08-07 00:40:25 604
原创 Android studio 4.2.2 模糊
1、问题描述Android studio 升级了4.2.1 开始界面 ide 视图就很模糊, 查了一下没解决。就搁置着继续用4.1.x 想着没准后面的版本就好了。今天更新了4.2.2 还是模糊。 补充:场景是win10,笔记本电脑,外接了1920*1080的显示器,在笔记本显示器端不明显 在外接显示器端很明显。2、解决之前看到一些说法是win dpi转换的问题,但是不会设置。 梯子出去查了下确实是win设置的问题:原链接:stackoverflow 倒数第二个答案3、付中文截图4、完工
2021-07-28 10:33:00 642
原创 Flutter 错误记录基于android studio
1、概述记录flutter 遇到的错误2、记录2.1、下载不到包 Could not download arm64_v8a_debug.jar (io.flutter:arm64_v8a_debug:1.0.0-6bc433c6b6b5b98dcf4cc11aff31cdee90849f32)解决方式:android studio 下载不到包的话直接 Shadowsocket 开启全局梯子就可以了。但是flutter 还没用需要android studio 开启代理。就可以了Shadowso
2020-08-11 20:14:38 355
原创 android 神奇的粗体设置
概述android 设置粗体是有常规的一个操作。通用的方式也有以下几种:xml里设置 android:textStyle=“bold”代码设置 tv1.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));代码设置 tv1.paint.isFakeBoldText = true区别以前单纯的以为加粗都是一样的,还是太单纯。做了一个图标下区别。 中文区别不大,主要是英文和数字的区别。测试机是(一加6T,android 9)可以看出普
2020-07-17 17:55:34 1546
原创 kotlin 协程并发简单案例说明
1、概述kotlin 协程,自己在项目中用来进行同步串行调用的比较多。 对于并发调用,虽然知道用async,但是也是有些不清晰的,还有asynic 还有个lazy模式。所以写了个简单的例子好理解些。2、示例2.1 fun test1() { GlobalScope.launch { val old = System.currentTimeMillis() Log.d("lee", "----test1---")
2020-06-17 22:57:04 1369
原创 idea plugin 工程导入
1、概述idea 插件的工程也是有意思,有些麻烦。比如github上面的开源工程下到本地就是没法用。比如提示:no plugin module specified for configuration。还有配置跑飞2、解决针对,没有正常run起来报:no plugin module specified for configuration解决方式:修改该文件的type为 :PLUGIN_MODULE然后去config建一个plugin对象3、其他3.1、检查gradle文件夹(如果是使用gra
2020-06-15 16:00:54 1826
原创 (二)Idea 插件开发之简单示例
1、概述这篇介绍 如何新建一个简单的idea plugin工程。 并且简单介绍下 目录结构和打包流程2、示例2.1、project ->new project2.2、debug【注意】:debug是到了新的idea 工程去了2.3、打包【注意】:打包回到源码工程来2.4、安装这个就不熬述了。就是idea plugin 的离线安装 (android studio操作一样):打开新ide,在File -》 setting -》plugin -》 install pl
2020-06-06 17:53:19 467
原创 (一)Idea 插件开发之环境搭建
1、1、FAQidea 插件开发, 很坑的一个点。 用2020年的最新:idea Ultimate 版本开发的插件,点击debug是能看到效果的。但是,真的打包成jar或者zip的时候并不能用。2、正确的姿势我的有效开发版本:2018款的 idea Ultimate 版本, jdk 使用 1.8版本。 (不要使用最新的 jdk -12 的版本)。...
2020-06-06 17:30:23 1310
原创 android 模仿Keep的训练统计(横向 RecyclerView 实现picker)
1、概述keep 的运动统计界面,滑动的柱状图很炫酷。想着怎么实现2、模仿效果3、实现思路多操作几遍,感觉keep的效果就是一个横向的picker,及:横向滑动,自动选择中间一项,点击item也可以自动滚动该item(这个只是锦上添花)。就按横向picker进行思考,google 了一些实现。发现用recycleView其实是很方便做横向 picker的。参考:添加链接描述3.1、值得提的点SnapHelper 可以自动滚动一个item,实现吸合效果其他都是顺其自然的点:Rec
2020-05-28 21:51:49 924
原创 android databinding 的三种自定义属性方式
1、概述目前发现,databinding 有三种自定义属性的方式。分别是:1、xml 引入自定义属性标签。代码通过 @BindingAdapter 注解完成绑定2、直接在代码里使用:@BindingMethods 注解引入自定义属性,再用@BindingAdapter 注解完成绑定3、自定义控件属性时,提供set的方法 可以自动完成支持 databinding 属性。 属性名字=控件的自...
2020-03-10 09:55:33 6496
原创 reactnative 环境搭建填坑(红屏,)
概述搭建reactnative window环境,并没有无脑成功记录下。操作步骤:https://reactnative.cn/docs/getting-started/缺陷1、问题:‘react-native’ 不是内部或外部命令,也不是可运行的程序按 操作步骤下来会漏掉一步 react-native-cli 的安装。 补上安装步骤:https://blog.csdn.net/niu...
2019-12-29 21:39:36 1216
原创 android:两个圆圈的指示器
一、概述项目中UI 给了个图是两个圆圈的上下边沿指示器:效果如下实际在项目中废弃了,并没有使用到,有点可惜,记录下。二、原理原理:onDraw + 画曲线 + onTouch 手势曲线的画法:一开始想用赛贝尔曲线画,但是效果不理想,主要是自己也不大能驾驭后面改用画半圆,直线相切的方式画弧线(但是ui 觉得太圆了)最后使用比较简单的方法, 在目标图上标出了有限的一些点用平滑的曲线...
2019-09-28 14:16:47 446
原创 android studio 设置默认换行符(全局改 LF,CRLF)
1、概述背景同时使用win 和mac 做开发。 两个都跟随自己的系统设置。win 的回车换行符是 \r\nmac 的回车换行符是 \ngit直接团队协作的时候倒没发现问题,自己的老代码从1台机子mac copy到win去的时候,commit的时候会提示:2、统一修改换行符3、设置新建文件使用 的换行符...
2019-09-13 12:08:08 10204 1
原创 Drony 定向抓指定app的http,https包
一、概述charlies,fiddler抓app的http/https包,现在都是直接在手机上设置代理。有些不友好的地方,比如:手机上装的app多了,会很多数据上来,要加过滤规则,正式环境测试环境都要加连上了代理,有些普通使用的app (非抓包app)会没法使用会出现经常要设置代理,关闭代理,需要又要设置(有些手机会保存代理ip还好,不保存的还要每次手写)Drony 可以解决上述痛...
2019-09-10 22:13:43 32122 14
原创 Databinding 编译抓瞎(org.gradle.api.GradleException: Compilation error. See log for more details)
一、概述背景databinding 出来好久好久了, 一直是拒绝使用的, 最早的原因就是 出错了抓瞎找不到错误,报一个统一的错误,一脸懵逼。新项目使用mvvm,databinding 是基础组件。 代码写啊写,接着编译 运行,找出错误修复,喝口水,检查功能,如此流程,一去不复返。 步履维艰,写代码不敢写多,差不多就得编译下,因为啥,因为抛出错误是统一错误,找不到出错在哪里,得看git hist...
2019-07-13 11:59:58 12278 6
原创 git 嵌套使用:Submodule
git 嵌套使用:Submodule一、概述诉求:希望把一个lib做成maven 的效果,各个工程都可以依赖,实现复用。 但是maven 独立项目的特点决定了他的开发成本和维护成本都比较高。方案一:lib 随工程走,阶段性的用 beyond compare 这类比较器同步,通过手动的方式阶段性的维护一个 复用库。优点: 首次操作简单缺点:不好同步,后期会懒得同步,都是手动方案二...
2019-06-21 09:47:44 6457
原创 文件大小的计算与有意思的显示
1、概述计算一个文件,一个文件夹的大小这个概念其实很基础,然后发现很有意思。拿《鬼吹灯》的一个txt文档做实验。首先基础知识:1m=1024k1k=1024byte1byte=8bite2、结论文件显示的大小k,m的计算mac 用的是 1000win 用的是10242、实验2.1、指令查看使用linux 的 ls 指令#查看大小ls -l#带单位的查看大小ls -...
2018-12-27 15:52:13 3357 2
原创 FAQ(Run with --stacktrace option to get the stack trace. Run with --info pr --debug ...)
1、android studio编译错误有时会遇到 Run with --stacktrace option to get the stack trace. Run with --info pr --debug ... 或者:Run with --debug option to get more log output. Run with --scan to get full ins...
2018-12-20 16:40:59 5394
原创 java中的内存概念(java内存区,gc内存区,JMM内存模型,cpu内存模型)
1、内存字眼java里的内存概念很多,有:java内存区,gc内存区,JMM内存模型,cpu内存模型,对象内存布局。很容易混淆。比如突然问:运行时数据区,堆和栈,新生代和老年代,工作内存与主内存,高速缓存与主内存,对象在内存中的存储布局。就找不到北了,都不知道哪个属于哪类范畴和概念。很多概念里都有内存这个字眼,真容易混淆起来,一脸懵逼。(之前我就一直混淆,懵逼)通过对jvm的学习,下文会把这...
2018-11-24 13:29:58 907
原创 kotlin 星号投影(泛型里的 * )
1、概述在Kotlin 的泛型封装里,会出现 <*> 称为星型投影语法。用来表明"不知道关于泛型实参的任何信息"。2、结论<*>星型投影,修饰的容器(比如:MutableList,MutableMap ),只能读不能写。 相当于<out Any?>比如:MutableList<*> 表示的是 MutableList<out Any?...
2018-11-22 16:40:03 5576 6
原创 Android dialog 弹出时,保持 隐藏 navigation bar(虚拟栏)
1、概述一些场合,要求界面是全屏的,然而在全屏界面下,弹出dialog 会导致虚拟按键栏又重新奔出来,也是比较难受的2、解决方式重载dialog 的 show() 方法。设置为焦点失能,就不会弹出被隐藏过的 虚拟栏了@Override public void show() { // Set the dialog to not focusable. g...
2018-11-07 14:22:13 15757 11
原创 Android 扫码枪 读取(外接键盘读取)
1、概述android 设备外接一个 标准扫码枪,要把扫码枪扫到的内容取出来。界面上放一个EditTextView 直接就把内容显示到EditTextView中了。 然而有些界面上并不能摆EditTextView 。针对没有EditTextView的界面展开下文2、扫码枪-输入设备项目中使用的是标准的扫码枪(实验的是新大陆的NLS-FR40),标准的意思就是它都不给开发文档。查了下说是走的标...
2018-10-24 16:09:39 10257 18
原创 android studio 3.1.4 踩神坑(mac版本)(Unable to resolve dependency for ':xxx compileClasspath)
1、概述每回升级android studio 都要痛苦一会,只是这次是大痛了。整整搞了一天+。本来是预感到问题了,恰巧3.1.4把这个配置给隐藏了。找的好痛苦。Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath':Unable to resolve dependency for ':librari...
2018-09-18 02:32:40 4787 2
原创 kotlin: with,apply
1、概述除了 ?.let 在作为安全可控性的时候好用外,with,apply 也是使用频率很高的。其中 apply 尤其好用。 在java 代码中想要链式编程,设置一个对象的属性时,往往跑到这个属性去把该set方法返回this,方便编程。或者更规范的另外建个 builder。然而在kotlin 里用apply 就可以了2、with 函数with 函数把第一个参数,作为lambda(第...
2018-09-12 18:03:32 1322
原创 kotlin 备忘( java 的final static 常量转换为kotlin 的正确姿势)
1、概述java 和kotlin 混合编码已经一段时间了,java中经常在类(或者interface)里写 public final static 常量来代替枚举。 java 的final static 常量转换为kotlin 时,直接用IDE 自动转转的是不够好的。特此记录下2、结论java 的final static 常量转换为kotlin 时,要加上 const 关键字,...
2018-09-06 10:55:29 6187
原创 Kotlin java 在android 中混合编译的问题
1、概述android 项目中 kotlin 和 java 混合使用也有一段时间了。基本没有出现什么大问题,然后不是没有出过问题。2、遗留问题(针对java和kotlin 混合使用的项目)2.1、java kotlin 混合使用,同时使用 Glide 图片加载项目会失败。解决: 现在是java写了一个调用GlideApp 的函数, kotlin 调用该函数。 不直接调用GlideA...
2018-09-06 10:20:18 3108 3
原创 JVM 垃圾回收机制
一、垃圾回收机制,从概念角度1.1、什么是垃圾无用对象所占用的内存空间1.2、如何定位垃圾引用计数法可达性分析(标记算法为防止漏报 stop-the-world机制(GC卡顿,full Gc 长卡顿)1.3、垃圾回收的三种方式清除压缩复制二、垃圾回收机制,从内存的角度jvm 的对象内存分配在堆上。 2.1、 jvm 的堆分...
2018-09-05 15:14:22 225
原创 android log4j 多文件输出配置(配置多个输出文件)
1、概述log4j 是 Apache 出的一个java 打log 到本地的框架。 其中对于android的支持需要使用:android-logging-log4j,对其进行支持。log4j 在使用时可以配置不同的输出源,进行保存log,java的配置网上可以找到很多是通过xml进行配置的。然android 的log4j 需要通过代码设置,之前一直没找到示例,抽时间看了下源码,和api,找到了配...
2018-08-24 09:42:04 3021
原创 php 数组轮询
一、概述php 没有java的 map 和 list,也没有set。 看到的都是数组。初学php 记录下 php的数组,多维的先忽略二、数组1、索引数组,和java c 语言数组一样,用[0], [1] 数字下标访问 2、关联数组,类比java 的map,用key访问,key是个字符串。三、数组初始化1、索引数组$contents = Array("a0","...
2018-07-19 18:48:36 2468
java认识UML类图元素
2014-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人