- 博客(60)
- 资源 (2)
- 收藏
- 关注
原创 DST 根 CA X3 证书过期问题和修复
问题Let’s Encrypt 最初使用“DST Root CA X3”证书来颁发 Let’s Encrypt 证书。然而,随着时间的流逝和服务的使用越来越多,他们现在使用“ISRG Root X1”和“ISRG Root X2”作为根CA,使用“Let’s Encrypt R3”作为中间证书。较旧的设备可能正在使用今天(2021 年 9 月 30 日)到期的较旧的根 CA。请参阅https://letsencrypt.org/docs/dst-root-ca-x3-expiration-septemb
2021-10-09 10:57:48
12155
1
原创 优秀程序员之路 - 快捷键
win10组合键win+A:打开通知和状态栏win+B:选择通知区域中的第一个图标,通过方向键切换图标win+ctrl+B:打开软件在通知区域的新消息win+D:显示桌面win+E:打开“文件资源管理器”快速访问栏win+ctrl+F:打开“查找计算机”窗口win+G:打开游戏栏win+K:打开设备管理栏win+L:更换用户和快速锁定桌面win+M:最小化所有打开窗口win...
2021-08-23 00:02:37
503
原创 Qt - 奇葩问题 & 解决方案
windeployqtxx.exe does not seem to be a Qt executable原因:在“工具-选项-Kits-构建套件(Kit)”中选择的是“Desktop Qt 5.13.2 MinGW 32-bit(默认)”而“项目-Build & Run”中选择的是“Qt 5.13.2 (mingw73_32_static)”“Build & Run”改用上面那个就 OK 了!Qt windeployqt failed with: does not se
2021-08-16 15:18:09
2287
原创 Android - 蓝牙开发
文章目录科普SIG类型制式编程Classic BluetoothBluetooth Low Energy蓝牙的UUID是什么?有什么用?科普https://zh.wikipedia.org/wiki/%E8%97%8D%E7%89%99蓝牙(英语:Bluetooth),一种无线通讯技术标准,用来让固定与移动设备,在短距离间交换资料,以形成个人局域网(PAN)。其使用短波特高频(UHF)无线电波,经由 2.4 至 2.485 GHz 的 ISM(工业、科学、医疗)频段来进行通信。1994 年由电信商
2021-08-03 15:51:34
11417
2
原创 Qt - 我对 setViewPort 和 setWindow 的理解
通过实验我得出:setWindow 相当于在一个虚拟平面坐标系中框定要显示的区域;setViewPort 相当于在设备(Widget 弹窗)上放置一个镜头(这个镜头设置好了位置大小 QRect),用来显示窗口的图像,并且左上角与窗口左上角对齐。想象一下,你拿相机选好一个景后,保持左上角位置不变,前后拉近拉远镜框,这就和 setViewPort 的原理一样。参考:三步理解Qt中的setViewport和setWindowQT窗口与视口(window&ViewPort)的关系,言简意赅的表
2021-04-28 15:02:42
911
原创 Android 入门宝典 - 资源的引用
R 类将所有资源对应于自身的一个内部类(id、drawable、layout、string)java 中使用资源:R.recourseClass.resourceNamexml 中使用:@recourseClass/resourceName标识符无需在资源中定义,可直接分配:@+id/标识符...
2020-04-26 23:18:17
685
原创 Android - Gradle 项目构建
Gradlehttps://en.wikipedia.org/wiki/GradleGradle是一个开源构建自动化系统,它基于Apache Ant和Apache Maven的概念,并引入了一种基于Groovy的领域特定语言(DSL),而不是Apache Maven用于声明项目配置的XML形式。Gradle使用有向无环图(“ DAG”)确定任务可以运行的顺序。Gradle是为多项目构建而...
2020-04-13 20:24:48
1436
原创 Android 入门宝典 - ListView & Adapter 列表视图
RecyclerView:AdapterViewHolder:内部类,定义 View 元素,构造时绑定 View 组件onCreateViewHolder:调用此方法构造 ViewHolder,对 ViewHolder 内部的初始化onBindViewHolder:对 ViewHolder 子项进行赋值getItemCount:告诉 RecyclerView 一共有多少子项?能否在 V...
2020-04-13 02:38:04
763
原创 Android - 权限
权限声明在 AndroidManifest.xml 清单文件中。文件格式如下:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.boxuegu"> ...
2020-04-04 17:30:31
354
原创 Android 插件 - ButterKnife 视图字段和方法的绑定
文章目录引入用法资源绑定activity 资源自定义布局资源简化适配器其他提供的绑定API多个视图绑定列表的操作方法监听器绑定多回调监听器的单绑定可选绑定解绑https://jakewharton.github.io/butterknife/引入Gradle 添加:implementation 'com.jakewharton:butterknife:(insert latest ve...
2020-04-04 01:08:58
706
原创 Android 开发文档 - 动画
View 动画:创建动画 xml 文件:res/anim/xxx.xml属性动画:xml 定义:res/animator/ 下
2020-04-02 01:53:24
614
原创 Android - 黏性滑动容器控件
Scrollerhttps://developer.android.com/reference/android/widget/Scrollerjava.lang.Object ↳ android.widget.Scroller此类封装了滚动。您可以使用滚动条(Scroller或OverScroller)来收集生成滚动动画所需的数据,用来响应一个挥动手势。滚动条会随着时间的推移为您...
2020-03-30 00:50:50
283
原创 Android 开发文档 - OpenGL 详解
Android 可通过开放图形库 (OpenGL®)(特别是 OpenGL ES API)来支持高性能 2D 和 3D 图形。OpenGL ES 是 OpenGL 规范的一种形式,适用于嵌入式设备。两个基本类用于通过 OpenGL ES API 来创建和操控图形:GLSurfaceView 和 GLSurfaceView.Renderer。GLSurfaceView此类是一个 View,...
2020-03-27 20:43:15
1274
原创 Android - Intent
https://developer.android.com/reference/android/content/Intentjava.lang.Object ↳ android.content.Intent它基本上是一个被动数据结构,其中包含要执行的动作的抽象描述。结构主要属性action:要执行的常规操作,例如ACTION_VIEW,ACTION_EDIT,ACTION_M...
2020-03-16 00:35:55
576
原创 URI
RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax统一资源标识符(URI)提供了一种简单且可扩展的方式来标识资源。URI语法和语义的规范源自万维网全球信息倡议提出的概念,该概念的使用始于1990年,并在“ WWW中的通用资源标识符”中进行了描述[RFC1630]。本文档更新并合并了“统一资源定位符” [RFC1738]...
2020-03-14 22:03:36
338
原创 Android 入门宝典 - Sqlite 数据库
创建数据库类:必须重写 onCreate 和 onUpgrade 方法。public class MySQLiteOpenHelper extends SQLiteOpenHelper { private static final String CREATE_BOOK = "create table Book (" + "id integer primary...
2020-03-12 14:39:47
603
原创 8086CPU 指令系统总结
1、数据传送指令eg:mov、push、pop、pushf、popf、xchg(对换寄存器内容)等,进行单个数据的传送2、算术运算指令eg:add、sub、adc、sbb、inc、dec、cmp、imul、idiv、aaa等,执行结果影响标志寄存器sf、zf、of、cf、pf、af位内容3、逻辑指令eg:and、or、not(取反)、xor、test、shl、shr、sal、sar、ro...
2020-02-24 12:18:16
611
原创 Android 开发实战 - 获取网页数据
使用HttpURLConnection新建 url创建 connection 对象connection 设置请求属性使用字节流读取 connection 的 InputStream使用 StringBuilder 将读取的数据构建成字符串展示关闭操作句柄HttpsURLConnection connection = null;BufferedReader reader = nu...
2020-02-03 12:11:07
922
原创 Android 开发实战 - 关闭所有界面功能
编写一个 Activity 收集器,通过此收集器可以对 Activity 进行添加和消除;public class ActivityCollector { public static List<Activity> activities = new ArrayList<>(); public static void addActivity(Activity ac...
2020-01-21 23:26:11
794
原创 Java - Collection 的 toString
经常看到 List 的 toString 的形式是 “[” 开头,", " 分隔,"]" 结尾,它的实现来自 AbstractCollection<E>:public abstract class AbstractCollection<E> implements Collection<E>public String toString() { Ite...
2019-12-09 23:46:30
684
原创 Dijkstra 算法:面向对象的实现方式(Java)
关于 Dijkstra 算法的介绍和面向过程的代码实现见 Dijkstra 算法:思路详解 & 代码实现 这篇博文。下面介绍使用面向对象的实现方法。基础类型:顶点:public class Vertex { private String name; public Vertex(String name) { this.name = name; ...
2019-12-09 23:45:51
212
原创 Java - Map 的区别 & 自定义 Map 的排序
按 Key 排序使用 TreeMap 的构造函数,传入比较器,再 putAll 将要排序的 Map 的所有元素放进去,所得的 TreeMap 即为 Map 按 Key 排序的结果。TreeMap 的构造函数如下:TreeMap()TreeMap(Comparator<? super K> comparator)TreeMap(Map<? extends K, ? ext...
2019-12-07 11:26:01
505
原创 Java - 查询数组(无序)返回索引的方法复杂度
5 种方法使用 List 的 contains 方法:public static boolean useList(String[] arr, String targetValue) { return Arrays.asList(arr).contains(targetValue);}使用 Set 的 contains 方法:public static boolean u...
2019-11-28 19:35:53
643
原创 Java - 流操作
字节流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)字节输出流:OutputStreamFileOutputStream类的定义:public abstrac...
2019-11-01 17:25:33
155
原创 Java - 类型转换
结论:儿子变老子,用老子的东西,干儿子的事;儿子装老子,用自己的东西,干自己的事@Overridepublic boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Student)) return false; Student student = (Student) o;...
2019-10-28 16:05:30
125
原创 Java 源码解读 - String
contains():使用了 indexOf() 方法判断字符串是否存在public boolean contains(CharSequence s) { return indexOf(s.toString()) > -1;}indexOf 最终调用如下函数:/** * Code shared by String and StringBuffer to do search...
2019-10-25 14:24:41
145
原创 英语学习 - 音标
u:iE] [ɔ] [u] [ʌ] [e] [æ] u:单元音 长元音 [i:] [ə:] [ɔ:] [u:] [ɑ:]双元音 [ei] [ai] [ɔi] [au] [əu] [iə] [ɛə] [uə]清浊成对的辅音 清辅音 [p] [t] [k] [f] [θ] [s] [ts] [ʃ] [tʃ]清浊成对的辅音 浊辅音 [b] [d] [g] [v] [ð] [z]北(bei)...
2019-10-24 23:49:41
3428
原创 Android 入门宝典 - Service 绑定流程
Service 绑定流程ContextWrapper.bindService(桥接模式)· mBase.bindServicemBase(Activity 通过 attach 方法关联的 ContextImpl 对象)@Overridepublic boolean bindService(Intent service, ServiceConnection conn, in...
2019-10-07 00:58:59
202
原创 Android 入门宝典 - Service 启动流程
ContextWrapper.startServicemBase.startServicemBase(Activity 通过 attach 方法关联的 ContextImpl 对象)startServiceCommonActivityManagerNative.getDefault() 返回 IActivityManagerActivityManagerService extends I...
2019-10-05 22:06:34
131
转载 Android API
API 级别是一个对 Android 平台版本提供的框架 API 修订版进行唯一标识的整数值。平台版本API 级别VERSION_CODE备注Android 7.024N平台亮点Android 6.023M平台亮点Android 5.122LOLLIPOP_MR1平台亮点Android 5.021LOLLIPOPAndroid 4.4W20KITKAT_WATCH仅限 KitKat for We...
2019-09-30 11:44:25
133
原创 Android 入门宝典 - Activity 工作流程
startActivity 最终调用 startActivityForResultActivityGroup mParent· ActivityGroup 最开始用来在一个界面嵌入多个子 Activity,现在被 Fragment 代替Instrumentation 的 execStartActivity 方法AMSActivityManagerNative.getDefault() ...
2019-09-29 17:23:33
201
转载 Android 入门宝典 - ActionBar 应用
上下文操作模式(ActionMode)用户长按某一元素时出现的浮动菜单,此模式在屏幕顶部栏显示影响所选内容的操作项目,并允许用户选择多项,会直接影响对应的内容。一、为单个视图创建上下文操作模式实现 ActionMode.Callback 接口:回调方法中,您既可以为上下文操作栏指定操作选项(显示内容),又可以响应操作项目的点击事件,还可以处理操作模式的其他生命周期事件。private A...
2019-09-26 15:18:32
287
原创 Android 入门宝典 - MVP 模式
Android MVP 十分钟入门!ANDROID MVP 模式 简单易懂的介绍方式MVP架构开发,一篇让你从看懂到会使用
2019-09-18 17:18:05
136
原创 Android 开发实战 - 音乐播放器
播放器 1.0基本功能实现:播放列表:生成基本的 Music 类package com.example.playaudiotest.model;public class Music { private int musicId; private String musicName; private String musicWriter; private ...
2019-09-18 16:55:39
2225
原创 Java - 关键字
finalfinal 关键字可以应用于类,以指示不能扩展该类(不能有子类)。final 关键字可以应用于方法,以指示不能重写任何子类中的方法。一个类不能同时是 abstract 又是 final。abstract 意味着必须扩展类,final 意味着不能扩展类。一个方法不能同时是 abstract 又是 final。abstract 意味着必须重写方法,final 意味着不能重写方法。v...
2019-09-18 11:47:33
161
原创 Java - Exception 异常处理
RuntimeException:终止程序异常CheckedException:必须捕获异常异常处理方式:方法返回值定义异常:缺点:强制返回值,不优雅throw 抛出异常:以一个类表示异常,更直观...
2019-09-18 00:41:04
298
原创 Java - GC 垃圾回收机制
引用类型强引用 :创建一个对象并把这个对象直接赋给一个变量,不管系统资源多么紧张,强引用的对象都不会被回收,即使他以后不会再用到。软引用 :通过SoftReference修饰的类,内存非常紧张的时候会被回收,其他时候不会被回收,在使用之前要判断是否为null从而判断他是否已经被回收了。弱引用 :通过WeakReference修饰的类,不管内存是否足够,系统垃圾回收时必定会回收。虚引用 :不...
2019-09-17 17:19:37
132
原创 Java - 观察者模式
观察者需要提供通知更新接口:public interface Observer { void update(int command);}被观察者需要提供注册、移除观察者接口,规范起见添加通知方法接口:public interface Observerable { // register void registerObserver(Observer observer...
2019-09-17 17:18:20
107
原创 Android 入门宝典 - 进程间通信 AIDL
AIDL:server:请求抽象成接口,编写aidl接口service 实现接口,开启服务时返回 binder 实例AndroidManifest 配置 service,使其可被访问(自定义 action)client:拷贝 aidl 文件到和 server 相同路径下,使其可以实例接口Intent(action)访问,需要添加包名(setPackage(XXX))通过保留 ...
2019-09-17 13:42:55
230
Mastering the Android Touch System - Daves Slides.pdf
2020-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人