自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个踩这七色彩虹的路人甲

码自己的字,让别人去copy吧...

  • 博客(58)
  • 资源 (12)
  • 问答 (2)
  • 收藏
  • 关注

原创 Git提交规则

如果当前 commit 与被撤销的 commit,在同一个发布(release)里面,那么它们都不会出现在 Change log 里面。还有一种特殊情况,如果当前 commit 用于撤销以前的 commit,则必须以revert:开头,后面跟着被撤销 Commit 的 Header。Body部分的格式是固定的,必须写成This reverts commit hash>.,其中的hash是被撤销 commit 的 SHA 标识符。其中,Header 是必需的,Body 和 Footer 可以省略。

2024-06-12 13:45:58 151

原创 Android Lint的使用

Androidstudio lint检查使用

2024-01-13 21:00:06 816

原创 Activity启动流程详解

利用类加载器进行创建实例,同时利用Instrumentation回调activity的生命中周期。然后AMS进程一系列的工作,如判断该activity是否存在,启动模式是什么,有没有进行注册等。,利用本地进程在系统服务进程的IBinder接口直接访问本地ActivityThread。通过AMS在本地进程的IBinder接口,访问AMS,这里采用的跨进程技术是AIDL。的内部类,IApplicationThread是在远程服务端的Binder接口。ActivityThread通过。...

2022-07-20 15:40:34 1235 1

原创 安卓APP应用启动流程详解

Android 应用启动流程详解

2022-06-02 17:37:12 7128

原创 Java 数据结构之单链表详解

Java单链表之详解

2022-06-02 15:13:38 462

原创 Mac HomebrewCN被墙

HomebrewCNHomebrew 国内自动安装脚本/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”

2022-05-07 14:54:39 481

原创 Git 删除远程仓库错误提交的绝技

如有3个commit如下:commit 03commit 02commit 01要删除commit 3git reset --hard HEAD^git push --force

2022-01-06 10:58:57 1239

原创 android studio 4.2.2版本更新问题

1.更新連線超時,是網路問題,之前我以為得翻牆,原來是公司網路太慢了。2.android studio 4.2.2 編譯程式 報錯Unknown host ‘android-mirror.bugly.qq.com’. You may need to adjust the proxy settings in Gradle.解決方式:是因為gradle 代理的問題,進入C:\users\使用者名稱.gradle 目錄下的gradle檔案,記事本開啟刪除或註釋以下配置資訊systemProp.https.

2021-08-06 14:57:39 560

原创 Android 混淆大全一篇就够了

############################################### 对于一些基本指令的添加############################################### 代码混淆压缩比,在0~7之间,默认为5,一般不做修改-optimizationpasses 5# 混合时不使用大小写混合,混合后的类名为小写-dontusemixedcaseclassnames# 指定不去忽略非公共库的类-dontskipnonpubliclibrarycla.

2020-10-20 11:31:15 4432

原创 Git分支规范

分支策略开始开发前,从develop拉取特性分支,分支命名为 feature/xxx特性开发完成后,向develop分支发起Merge Request,评审后合入develop分支转测时,从develop拉取release分支,从转测到发布前的bug修复都在release分支,分支命名为 release/v0.2.0release分支入master,并打tag,发布,tag按版本命名,发布后release分支因合并回develop出现线上bug时,从特定tag拉取hotfix分支,所有的bug修复

2020-10-13 10:57:35 288

原创 Charles抓包教程

Charles下载:https://www.charlesproxy.com/latest-release/download.do注册:选择菜单—> Help—> Register,输入Registered Name: https://zhile.ioLicense Key: 48891cf209c6d32bf4选择菜单—> Help—> Register—>SSL Proxying:Install Charles Root CertificateInstall

2020-09-19 10:53:27 372

原创 华为鸿蒙系统

华为鸿蒙系统华为鸿蒙系统(英文:huaweiHarmonyOS,HongmengOS)。在2019年8月9日,华为在东莞举行华为开发者大会,正式发布操作系统鸿蒙OS。鸿蒙OS是一款“面向未来”的操作系统,一款基于微内核的面向全场景的分布式操作系统,现已适配智慧屏,未来它将适配手机、平板、电脑、智能汽车、可穿戴设备等多终端设备。2020年9月10日,华为鸿蒙系统升级至华为鸿蒙系统2.0版本 。华为鸿蒙系统2.0通过跨设备协同、大小屏互动、极速配网、自适应 UX、可视可说 AI 赋能语音交互、开发者开

2020-09-16 17:44:42 5418

原创 Dart语言异步支持

Dart类库有非常多的返回Future或者Stream对象的函数。 这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像 IO操作。而不是等到这个操作完成。async和await关键词支持了异步编程,允许您写出和同步代码很像的异步代码。处理FuturesFuture.thenFuture.delayed 创建了一个延时任务(实际场景会是一个真正的耗时任务,比如一次网络请求),即2秒后返回结果字符串"hi world!",然后我们在then中接收异步结果并打印结果,代码如下:Futu

2020-09-08 20:40:04 160

原创 Protobuf详解使用

Protobuf全称是Google Protocol Buffer,是一种高效轻便的结构化数据存储方式,可用于(数据)通信协议、数据存储等。Xml、Json是目前常用的数据交换格式,它们直接使用字段名称维护序列化后类实例中字段与数据之间的映射关系,一般用字符串的形式保存在序列化后的字节流中。消息和消息的定义相对独立,可读性较好。但序列化后的数据字节很大,序列化和反序列化的时间较长,数据传输效率不高。Protobuf和Xml、Json序列化的方式不同,采用了二进制字节的序列化方式,序列化与反序列化不需要解

2020-09-04 02:04:09 2274

原创 Fiddler抓包教程

Fiddler抓包教程通过ipconfig查看电脑ip地址在这里配置https允许远程连击和设置端口号重要的是手机设置 百度提供教程

2020-09-03 16:32:39 174

原创 Flutter 可行性分析

Flutter 可行性分析需要学习Dart语言,Flutter 组件跨平台主要是UI框架,需要跟系统通讯,需要会Android和iOS native开发,MethodChannel跟原生通讯。跨平台支持(UI组件/API) 提供Android和iOS两种风格组件Flutter万物皆为Widget的原则,提供了接近30多种不同的布局widget,日常中用的也有如Container、Padding、Center、Align、Row、Column、Stack、ListView等上十种调试模式断言 :

2020-08-08 18:13:28 398

原创 排序查找算法集合

排序查找算法集合 //冒泡排序 主要是交换位置 public void bubbleSort(Integer[] arr, int n) { if (n <= 1) { return; //如果只有一个元素就不用排序了 } for (int i = 0; i < n; ++i) { // 提前退出冒泡循环的标志位,即一次比较中没有交换任何元素,这个数组就已经是有序的了

2020-08-04 10:10:03 135

原创 LayoutInflater.inflate()方法的深入理解

LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)方法有一个接收三个参数的方法重载 resource:R.layout.xxx ,root:指定resource的父布局 ,attachToRoot:是否依附于父布局。inflate(int resource, ViewGroup root, boolean attachToRoot)看源码可知:如果root为null,attachToRoot将

2020-07-27 12:03:59 270

转载 Android Studio Logcat 过滤我们不想显示的日志信息

平时我们使用Android studio查看logcat都是添加Fliters显示我们需要的TAG的日志输出。那么如何过滤掉我们不需要的TAG的日志输出呢?使用场景: 我们需要查看好几个TAG的日志输出,单独过滤某个TAG肯定是不行的,而很多无用的日志刷屏出现,此时只能把刷屏出现的一个或多个TAG屏蔽掉。 解决方案: 跟平时设置过滤一个TAG的方式一样,只是添加Log ...

2020-03-30 17:17:43 4676

原创 约束布局ConstraintLayout详解

目录1.介绍2.为什么要用ConstraintLayout3.如何使用ConstraintLayout3.1 添加依赖3.2 相对定位3.3 角度定位3.4 边距3.5 居中和偏移3.6 尺寸约束3.7 链4.辅助工具4.1 Optimizer4.2 Barrier4.3 Group4.4 Placeholder4.5.Guideline5.总结1.介绍约束布...

2019-11-12 17:55:40 369

原创 Java多态详解

对于多态,可以总结它为: 一、使用父类类型的引用指向子类的对象; 二、该引用只能调用父类中定义的方法和变量; 三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用) 四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。java多态,如何理解父类引用...

2019-07-02 17:33:47 161

原创 蓝牙基础知识探索

蓝牙初识蓝牙模块可以通过串口(SPI、IIC)和MCU控制设备进行数据传输。蓝牙模块可以做为主机和从机。主机就是能够搜索别的蓝牙模块并主动建立连接,从机则不能主动建立连接,只能等别人连接自己。BR/EDR:基础率/增强数据率(version:2.0/2.1)特点是:支持持续无线连接,以点对点(P2P)网络拓扑结构建立一对一(1:1)设备通信。LE:低耗能(version:4.0/4.1/4...

2019-06-14 11:19:45 665 1

原创 Android项目TargetSdkVersion的作用

Android系统平台的行为变更,只有targetSdkVersion的属性值被设置为大于或等于该系统平台的API版本时,才会生效;compileSdkVersion属于Android编译项目时其中的一项配置,主要区别是compileSDKVersion在不会被打包的APK文件中,targetSdkVersion和minSdkVersion将被打包到APK文件中如图:...

2019-05-10 15:46:44 922

原创 最新版Sourcetree墙内免登陆

由于sourcetree版本更新免登陆的方法也需要加一步Sourcetree 官网:Sourcetree | Free Git GUI for Mac and WindowsSourceTreeSetup-3.1.2旧版 sourcetree 只需要添加 accounts.json 文件就能实现免注册登录,而新版本则需要 添加 accounts.json 文件和添加 user.config ...

2019-04-17 15:09:12 1699 2

原创 gRPC学习历程(一)

“老公,什么是RPC呀,为什么你们程序员那么多黑话!”,老婆还是一如既往的好奇。“RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用嘛”,我一边看着书,一边漫不经心的回答着。“啥?你在说啥?谁不知道翻译成中文是什么意思?你个废柴,快给我滚去洗碗!”“我去。。。”,我如梦初醒,我对面坐着的可不是一个程序员,为了不去洗碗,我瞬间调动起全部脑细胞,星辰大海在我脑中汇聚,灵感涌现......"是这样,远程过程调用,自然是相对于本地过程调用来说的嘛。"“嗯哼

2019-04-17 15:00:31 489

原创 常见的加密和解密算法—AES

常见的加密和解密算法—AES一、AES加密概述高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB...

2018-12-05 16:54:24 4255 2

原创 一次完整的HTTP事务

一次完整的HTTP事务是怎样一个过程?当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢?以下过程仅是个人理解:域名解析 --&amp;amp;gt; 发起TCP的3次握手 --&amp;amp;gt; 建立TCP连接后发起http请求 --&amp;amp;gt; 服务器响应http请求,浏览器得到html代码 --&amp;amp;gt; 浏览器解析html代码,并请求html代码中的资源...

2018-12-05 14:45:51 207

原创 mkdir和mdirs区别

mkdir,mkdirs方法1、关于两者的说明如下: boolean mkdir() : 创建此抽象路径名指定的目录。 boolean mkdirs() : 创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。 2、结合自己的理解及具体实践如下:File file = new File("e:/test");file.mkdir();这样会在c:/路径下创...

2018-07-06 09:46:13 505

原创 Android APP CC2640R2F OTA 流程

Android APP CC2640R2F OTA 流程1.镜像(bin文件)验证a. ffc1写入(10:00)打开通知 ffc2写入(10:00)打开通知 ffc5写入(10:00)打开通知 发送CMD 01(1byte)到ffc5,返回3byte(第二个字节是返回需要修改的mtu大小 OAD_BLOCK_SIZE) Get OAD Block Size Command...

2018-05-16 14:26:32 2059

原创 JavaEE 基础学习

Java基础一、java面向对象的三大特性与含义 • 继承:从已有的类得到继承信息创建新类的过程,继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序的可变因素的重要手段。 • 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已经定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自制、封闭的对象。可以说,封装就是隐藏一切可隐藏的东西,只向外界提...

2018-04-09 10:57:04 311

原创 一篇读懂正则表达式

基础\d可以匹配一个数字 \w可以匹配一个数字或字母或_ \s可以匹配一个空格(也包括Tab等空白符) .可以匹配任意字符(数量为1) *表示任意个字符(包括0个) +表示至少一个字符 ?表示0个或1个字符 {n}表示n个字符 {n,m}表示n-m个字符 表示行的开头,\d表示必须以数字开头。 表示行的结束,\d表示行的结束,\d表示行的结束,\d表示必须以数字结束。 (注...

2018-04-04 17:57:47 221

转载 Java并发编程:深入剖析ThreadLocal

Java并发编程:深入剖析ThreadLocal  想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。  以下是本文目录大纲:  一.对ThreadLocal的理解  二....

2018-04-04 17:11:08 167

原创 Android中物联网byte的用法

package test; public class A { public static void main(String[] args) { //前提:在java中,默认都是int型 //负数在计算机中用补码表示,转换规则为 //十进求二进制负数情况 // 先求出与该负数相对应正整数二进制代码,然后...

2018-03-14 17:50:03 625

原创 测试用例编写设计

如何编写软件测试用例?测试用例编写工具?      软件测试用例是描述测试过程具体步骤的文档,包括测试的输入参数、条件、配置、预期输出结果等,并以此来判断被测软件的各模块是否正常工作。编写测试用例可以使我们理清思路,避免遗漏,同时可以跟踪测试进展,为测试项目提供参考依据。那么如何来编写一份合格的测试用例呢?方法/步骤软件测试用例的编写

2017-12-22 10:54:09 687

原创 Android开发 - ActivityLifecycleCallbacks使用方法

ActivityLifecycleCallbacks是什么?Application通过此接口提供了一套回调方法,用于让开发者对Activity的生命周期事件进行集中处理。为什么用ActivityLifecycleCallbacks?以往若需监测Activity的生命周期事件代码,你可能是这样做的,重写每一个Acivity的onResume(),然后作统计和处理:

2017-12-08 10:03:08 318

原创 一眼看懂https的工作流程

总结: 1.服务器 用RSA生成公钥和私钥 2.把公钥放在证书里发送给客户端,私钥自己保存 3.客户端首先向一个权威的服务器检查证书的合法性,如果证书合法,客户端产一段随机数,这个随机数就作为通信的密钥,我们称之为对称密钥,用公钥加密这段机数,然后发送到服务器 4.服务器用密钥解密获取对称密钥,然后,双方就已对称密钥进行加密解

2017-11-07 10:45:52 1335 1

转载 Android蓝牙一篇看懂

Android蓝牙BLE的详细讲解Slide01我今天分享的主题是 Android上低功耗蓝牙的实践。这个主题比较小众。我在过去的一年多的时间里,主要是在做低功耗蓝牙相关的开发。接触过程中发现,BLE的开发和通常的 Android APP的开发有点不一样,这里需要访问硬件资源,而且涉及到一些协议相关的内容,而且这方面的资料也比较少。今天我从 Android开发者的角度,来分

2017-11-06 14:38:22 1177 5

转载 软引用,弱引用的区别

Java 如何有效地避免OOM:善于利用软引用和弱引用  想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:  一.了解 强引用、软引用、弱引用、虚引用的概念  二.进一步理解软引用和弱引用  三.如何利用软引用和

2017-09-30 17:02:18 1649

转载 对称加密与非对称加密区别

(一)对称加密(Symmetric Cryptography)对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越

2017-09-30 14:22:37 446

原创 android studio debug

这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此。 先编译好要调试的程序。1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的

2017-09-07 11:22:27 231

Android SDK platform-tools 带systrcace文件抓取trace文件

Android SDK platform-tools 带systrcace文件抓取trace文件,platform-tools保存着一些通用工具,比如adb、和aapt、aidl、dx等文件,Android123提示,这里和platforms目录中tools文件夹有些重复,主要是从android2.3开始这些工具被划分为通用了,生成.trace文件 Android.os.Debug类,其中重要的两个方法Debug.startMethodTracing()和Debug.stopMethodTracing()。这两个方法用来创建.trace文件,将从Debug.startMethodTracing()开始,到Debug.stopMethodTracing()结束,期间所有的调用过程保存在.trace文件中,包括调用的函数名称和执行的时间等信息。test.trace。默认路径是/sdcard/test.trace,也可以自己制定/data/log/test,表示文件在/data/log/test.trace。 在SDK中执行 : ./traceview t

2022-09-19

智能化项目群分享材料【IoT 项目管理】0325.pdf

Android高级职称面试必知知识点

2021-04-02

微信授权登录旧版jar包.rar

移动应用使用微信授权登陆的时候的jar包。现在官方更新了jar包,但是官方文档还没及时更新,导致现在的没办法使用。这个是旧的jar包。

2020-03-20

软件项目管理

《软件项目管理》(原书第4版)是经典的项目管理课程教材。全书从项目管理的角度,采用步进式策划方法逐一分析了软件开发的各个环节,并附有具体实例。主要内容包括:项目评估、选择合适的项目方法、软件工作量估计、活动策划、风险管理、资源分配、监督与控制、管理合同、管理人员和组织群组、软件质量等。第4版新增了国际间项目的协作开发、软件外包、极限编程等新技术和新主题的介绍。书中提供了大量的辅助练习,并在附录中给出了练习答案。

2018-03-31

android蓝牙基本教程

一篇看懂android 低功耗蓝牙,详细解释低功耗蓝牙开发以及常见的bug

2017-11-07

TCP三次握手4次挥手详解PDF

具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功。

2017-09-04

Kotlin中文api高清PDF文档

自学kotlin必备,android官方语言....

2017-06-14

黑马程序员最新一期高清教学视频

黑马程序员最新一期同步视频

2016-08-26

高仿腾讯qq空间点赞评论功能

高仿腾讯点赞和评论功能demo集成到项目中直接用

2016-07-14

Android 官方中文API

支持快速查询,翻译等功能.安卓基础必备.

2016-04-20

Android API

支持搜索,带中文翻译.比较实用的安卓工具...

2016-04-20

java文档 中文api

jdk1.6

2016-04-07

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

TA关注的人

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