自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 11559 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 416

原创 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 1961

原创 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 10437 2

原创 Qt - 我对 setViewPort 和 setWindow 的理解

通过实验我得出:setWindow 相当于在一个虚拟平面坐标系中框定要显示的区域;setViewPort 相当于在设备(Widget 弹窗)上放置一个镜头(这个镜头设置好了位置大小 QRect),用来显示窗口的图像,并且左上角与窗口左上角对齐。想象一下,你拿相机选好一个景后,保持左上角位置不变,前后拉近拉远镜框,这就和 setViewPort 的原理一样。参考:三步理解Qt中的setViewport和setWindowQT窗口与视口(window&ViewPort)的关系,言简意赅的表

2021-04-28 15:02:42 808

原创 Android 入门宝典 - 资源的引用

R 类将所有资源对应于自身的一个内部类(id、drawable、layout、string)java 中使用资源:R.recourseClass.resourceNamexml 中使用:@recourseClass/resourceName标识符无需在资源中定义,可直接分配:@+id/标识符...

2020-04-26 23:18:17 534

原创 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 1120

原创 Android 入门宝典 - ListView & Adapter 列表视图

RecyclerView:AdapterViewHolder:内部类,定义 View 元素,构造时绑定 View 组件onCreateViewHolder:调用此方法构造 ViewHolder,对 ViewHolder 内部的初始化onBindViewHolder:对 ViewHolder 子项进行赋值getItemCount:告诉 RecyclerView 一共有多少子项?能否在 V...

2020-04-13 02:38:04 438

原创 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 201

原创 Android 插件 - ButterKnife 视图字段和方法的绑定

文章目录引入用法资源绑定activity 资源自定义布局资源简化适配器其他提供的绑定API多个视图绑定列表的操作方法监听器绑定多回调监听器的单绑定可选绑定解绑https://jakewharton.github.io/butterknife/引入Gradle 添加:implementation 'com.jakewharton:butterknife:(insert latest ve...

2020-04-04 01:08:58 411

原创 Android - RemoteViews 微件

bitmap 设置图片尺寸,避免 内存溢出 OutOfMemoryError的优化方法

2020-04-03 02:00:19 370

原创 Android 开发文档 - 动画

View 动画:创建动画 xml 文件:res/anim/xxx.xml属性动画:xml 定义:res/animator/ 下

2020-04-02 01:53:24 349

原创 Android - 黏性滑动容器控件

Scrollerhttps://developer.android.com/reference/android/widget/Scrollerjava.lang.Object ↳ android.widget.Scroller此类封装了滚动。您可以使用滚动条(Scroller或OverScroller)来收集生成滚动动画所需的数据,用来响应一个挥动手势。滚动条会随着时间的推移为您...

2020-03-30 00:50:50 229

原创 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 996

原创 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 267

原创 URI

RFC 2396 - Uniform Resource Identifiers (URI): Generic Syntax统一资源标识符(URI)提供了一种简单且可扩展的方式来标识资源。URI语法和语义的规范源自万维网全球信息倡议提出的概念,该概念的使用始于1990年,并在“ WWW中的通用资源标识符”中进行了描述[RFC1630]。本文档更新并合并了“统一资源定位符” [RFC1738]...

2020-03-14 22:03:36 272

原创 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 416

原创 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 542

原创 Android 开发实战 - 获取网页数据

使用HttpURLConnection新建 url创建 connection 对象connection 设置请求属性使用字节流读取 connection 的 InputStream使用 StringBuilder 将读取的数据构建成字符串展示关闭操作句柄HttpsURLConnection connection = null;BufferedReader reader = nu...

2020-02-03 12:11:07 812

原创 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 749

原创 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 642

原创 Dijkstra 算法:面向对象的实现方式(Java)

关于 Dijkstra 算法的介绍和面向过程的代码实现见 Dijkstra 算法:思路详解 & 代码实现 这篇博文。下面介绍使用面向对象的实现方法。基础类型:顶点:public class Vertex { private String name; public Vertex(String name) { this.name = name; ...

2019-12-09 23:45:51 189

原创 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 447

原创 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 601

原创 Java - 流操作

字节流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)字节输出流:OutputStreamFileOutputStream类的定义:public abstrac...

2019-11-01 17:25:33 120

原创 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 92

原创 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 121

原创 英语学习 - 音标

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 2891

原创 Android 入门宝典 - Service 绑定流程

Service 绑定流程ContextWrapper.bindService(桥接模式)· mBase.bindServicemBase(Activity 通过 attach 方法关联的 ContextImpl 对象)@Overridepublic boolean bindService(Intent service, ServiceConnection conn, in...

2019-10-07 00:58:59 177

原创 Android 入门宝典 - Service 启动流程

ContextWrapper.startServicemBase.startServicemBase(Activity 通过 attach 方法关联的 ContextImpl 对象)startServiceCommonActivityManagerNative.getDefault() 返回 IActivityManagerActivityManagerService extends I...

2019-10-05 22:06:34 97

转载 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 98

原创 Android 入门宝典 - Activity 工作流程

startActivity 最终调用 startActivityForResultActivityGroup mParent· ActivityGroup 最开始用来在一个界面嵌入多个子 Activity,现在被 Fragment 代替Instrumentation 的 execStartActivity 方法AMSActivityManagerNative.getDefault() ...

2019-09-29 17:23:33 158

转载 Android 入门宝典 - ActionBar 应用

上下文操作模式(ActionMode)用户长按某一元素时出现的浮动菜单,此模式在屏幕顶部栏显示影响所选内容的操作项目,并允许用户选择多项,会直接影响对应的内容。一、为单个视图创建上下文操作模式实现 ActionMode.Callback 接口:回调方法中,您既可以为上下文操作栏指定操作选项(显示内容),又可以响应操作项目的点击事件,还可以处理操作模式的其他生命周期事件。private A...

2019-09-26 15:18:32 230

原创 Android 入门宝典 - MVP 模式

Android MVP 十分钟入门!ANDROID MVP 模式 简单易懂的介绍方式MVP架构开发,一篇让你从看懂到会使用

2019-09-18 17:18:05 116

原创 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 1868

原创 Java - 关键字

finalfinal 关键字可以应用于类,以指示不能扩展该类(不能有子类)。final 关键字可以应用于方法,以指示不能重写任何子类中的方法。一个类不能同时是 abstract 又是 final。abstract 意味着必须扩展类,final 意味着不能扩展类。一个方法不能同时是 abstract 又是 final。abstract 意味着必须重写方法,final 意味着不能重写方法。v...

2019-09-18 11:47:33 132

原创 Java - Exception 异常处理

RuntimeException:终止程序异常CheckedException:必须捕获异常异常处理方式:方法返回值定义异常:缺点:强制返回值,不优雅throw 抛出异常:以一个类表示异常,更直观...

2019-09-18 00:41:04 252

原创 Java - GC 垃圾回收机制

引用类型强引用 :创建一个对象并把这个对象直接赋给一个变量,不管系统资源多么紧张,强引用的对象都不会被回收,即使他以后不会再用到。软引用 :通过SoftReference修饰的类,内存非常紧张的时候会被回收,其他时候不会被回收,在使用之前要判断是否为null从而判断他是否已经被回收了。弱引用 :通过WeakReference修饰的类,不管内存是否足够,系统垃圾回收时必定会回收。虚引用 :不...

2019-09-17 17:19:37 105

原创 Java - 观察者模式

观察者需要提供通知更新接口:public interface Observer { void update(int command);}被观察者需要提供注册、移除观察者接口,规范起见添加通知方法接口:public interface Observerable { // register void registerObserver(Observer observer...

2019-09-17 17:18:20 92

原创 Android 入门宝典 - 进程间通信 AIDL

AIDL:server:请求抽象成接口,编写aidl接口service 实现接口,开启服务时返回 binder 实例AndroidManifest 配置 service,使其可被访问(自定义 action)client:拷贝 aidl 文件到和 server 相同路径下,使其可以实例接口Intent(action)访问,需要添加包名(setPackage(XXX))通过保留 ...

2019-09-17 13:42:55 201

软件需求规格说明书模板

最让程序员头疼的就是写开发文档了!

2022-01-14

Mastering the Android Touch System - Daves Slides.pdf

课件(PDF):Mastering the Android Touch System(掌握 Android 触控系统) 创作者:Daves Slides

2020-11-21

空空如也

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

TA关注的人

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