自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猿小蔡的博客

每一天都是值得期待的一天。

  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 Bash 脚本常用命令

示例:输出“Hello, World!中所有的“apple”替换为“orange”。Bash 脚本中也经常用到条件判断和循环结构。文件的第一列(默认以空格或制表符分隔)。文件的某个字段内容。示例:列出当前目录所有文件和文件夹。在 Bash 脚本中,你可以使用。示例:遍历当前目录下的所有文件。中搜索包含“error”的行。表示将第二列的值增加 5,然后。示例:查看当前目录路径。示例:切换到用户主目录。示例:检查文件是否存在。示例:从 1 数到 5。示例:创建一个新文件。

2024-04-18 01:55:43 507

原创 Android9.0以后不允许HTTP访问的解决方案

自 Android 9.0 起,默认禁止使用 HTTP 进行访问。

2024-03-30 00:18:16 668 4

原创 Android混淆知识点整理

默认的混淆规则,放在目录下进一步压缩代码混淆规则,但是会更加耗时,放在目录下proguard-rules.pro:自己写的混淆配置usage.txt :经过压缩过程被删除的类、方法、字段。mapping.txt :存储经过混淆过程,新旧类名、方法名、字段名的映射,软件发布一定要保留此文件,不然收集上来的报错信息,不知道具体是哪个类或方法,你将会很是头疼。seeds.txt :被 Keep 规则匹配到的类、方法、字段,来验证我们的 keep 规则是否合我们的需求。

2024-03-25 22:50:05 364

原创 Android 开发RxJava2常用操作符

当源 Observable 完成时,reduce 操作符才会发出结果。通过组合多个 Observables 的发射物来创建一个新的 Observable。当任意一个原始 Observable 发射一个新的值时,zip 操作符都会把所有其他原始 Observables 的值组合起来,并发射这个组合的值。在 Android 开发中,RxJava 2 是一个强大的异步编程库,提供了丰富的操作符来简化数据流的处理。创建一个新的 Observable,可以在 subscribe() 方法中定义回调函数。

2023-09-24 03:05:58 215

原创 一图使用Android Studio +MAT 分析内存泄漏工具

2023-08-26 01:17:09 178

原创 Android studio 2022.3.1 鼠标移动时不显示快速文档

在使用技术工具的过程中,我们时常会遇到各种各样的问题和挑战。最近,我升级了我的Android Studio到2022.3.1版本,但是在使用过程中,我碰到了一个让我颇为困扰的问题:在鼠标移动到类名或字段上时,原本应该显示的文档说明却消失了。在经过一番摸索和探索之后,我终于找到了解决办法,现在我将与大家分享这个问题的解决方法。

2023-08-24 00:46:07 1027

原创 win10、win11中Elan触摸板滚动方向反转、启动“双指点击打开右键菜单“、“双指滚动“

一、Elan启用"双指打开右键菜单"1.打开"运行",打开注册表 regedit.exe2.修改以下参数:HKEY_CURRENT_USER/SOFTWARE/Elantech/SmartPad/Tap_Two_Finger 值改为 1HKEY_CURRENT_USER/SOFTWARE/Elantech/SmartPad/Tap_Two_Finger_Enable 值改为 1二、Elan启用"双指滚动"1.打开"运行",打开注册表 regedit.exe2.修改以下参数:HKEY_CUR

2022-05-23 02:23:01 1622

原创 输入一个表达式(用字符串表示),求这个表达式的值。

在刷算法题的时候,碰到一道题,记录一下,题目是这样的。输入一个表达式(用字符串表示),求这个表达式的值。保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’, ‘*’,‘/’ ,‘(’, ‘)’,‘[’, ‘]’,‘{’ ,‘}’。且表达式一定合法。看了一下解法,如下: Scanner scan = new Scanner(System.in); String input = s; input = input.replace("[","(");

2022-05-22 03:48:54 1333

原创 Windows 11快捷键功能大全

Windows 11快捷键功能的图,非常全面,有缺失的的欢迎留言补充。

2022-04-24 02:07:48 596

原创 Save Actions 配置与选项详解

Save Actions 是idea一款格式自动化的插件,非常好用。我的设置以下设置详解引用自链接:Save Actions 配置与选项详解,看完再也不迷惑了设置详解General 基本设置Activate save actions on save(before saving each file,performs the configured actions below)保存时自动格式化Activate save actions on shortcut使用快捷键保存时自动格式化使用场景

2022-04-24 01:34:24 1511

原创 Java自定义排序简单总结

Java自定义排序简单总结默认情况下:Java实现Comparator排序是升序,即自然排序根据参数,返回值来判断是否交换对于a,b两个参数(a在前,b在后)jdk官方的升序基于:< return -1> return 1= return 0降序就是反过来< return 1> return -1= return 0底层源码的实现可参考:java comparator 升序、降序、倒序从源码角度理解如果要升序:那么a<b就是想要的顺序,所以retu

2022-03-27 04:48:10 4778

原创 Android中将byte大小转换为KB、MB、GB等

代码示例。Formatter.formatFileSize(Context context, long sizeBytes)会根据传入的sizeBytes,自动将其转换为kb,mb,gb等单位。例如:100 B,1.00 kB,1.00 MB,1.00 GB,10.00 TB,10.00 PB

2022-02-12 17:11:13 2822 1

原创 for循环优化

for循环优化for循环查询数据时,在数据量大的时候,不同的写法在耗时上会有些差距。未优化的写法先添加一下数据private static List<String> getList() { ArrayList<String> strings = new ArrayList<>(); for (int i = 0; i< 1000; i++) { strings.add("" + i); } return strings;}pri

2021-11-20 21:13:51 588

原创 Lambda表达式的由繁化简推导

Kotlin中的函数参数类型为Lambda表达式时的由繁化简Lambda表达式的语法结构{ 参数名1:参数类型, 参数名1:参数类型 -> 函数体 }首先我们来看下下面这段代码,在集合中找到最长的字符val listOf = listOf("Apple", "Banana", "Orange")val maxOf = listOf.maxOf { it.length }println("maxOf $maxOf")maxOf函数中,接收的参数其实是一个Lambda的参数,上面是最简化

2021-09-29 00:43:34 274

原创 Java8新特性之Lambda表达式详解

什么是Lambda表达式?Lambda表达式是Java8新特性之一,Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。正所谓泡妞就看脸,问题抓重点。函数:是定义在类中的一段独立的代码块,用来实现某个功能。Java中,函数又被称为方法。总结:无名方法可传递的代码。Lambda表达式的条件什么样的代码才能被简化成Lambda表达式?被声明为函数式

2021-08-18 23:58:25 266

转载 通过fileProvider接收外部App传递文件路径的一些坑

问题由于Google的作死,现如今线版本的Android系统阻止了应用之间通过intent传递路径的行为,而通过此方法传递过来的路径会非常奇怪,直接获取会以类似如下形式表现:content://com.example.app.provider/storage/emulated/0/xxx...如果将它丢到new File(path)里则会导致出错,那么如何解决这样的奇葩路径呢?按照以往的方法,我们要读取到需要打开的文件的方法为:Intent intent = getIntent();if (i

2021-07-20 01:26:36 1156

原创 AIDL通信实例

文章目录AIDL服务端1.首先创建一个AIDL文件2.make project3.编写一个服务类客户端1.创建aidl文件2.创建Person类3.make project4.调用服务端AIDLaidl是Android进程间通信的一种方式,下面就介绍一个如何实现客户端与服务端的AIDL。服务端新建一个service的项目。1.首先创建一个AIDL文件文件名可以随便取,这里取一个ITest,点击finish之后,就会出现一个aidl的目录。ITest.aidl// ITest.aidl

2021-07-04 17:39:02 543

原创 Java中基本数据类型占几个字节多少位

字节字节:byte:用来计量存储容量的一种计量单位;位:bit一个字节等于8位 1byte = 8bit1b = 8bit(位)1Kb = 1024b1Mb = 1024kb1Gb = 1024Mb字节的单位就是B,1个英文字母一般是占1个字节(根据不同的编码),一个中文一般是2个字节。char占用的是2个字节 16位,所以一个char类型的可以存储一个汉字。整型:byte:1个字节 8位 -128~127short :2个字节 16位 (-215~215-1)int

2021-06-27 18:00:48 1847

原创 一个注解完成Android权限申请

文章目录AspectJRxPermissionsAOPAOP应用场景AspectJ是什么?AspectJ怎样替我们实现AOP?使用添加依赖语法Android权限申请AspectJRxPermissions一个注解就能完成申请权限。@AndroidPermission(permissions = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE})public void

2021-03-12 15:05:11 352

原创 AndroidStudio4.1插件问题,parcelable插件

AndroidStudio升级到4.1之后,许多插件都不兼容,说的是只支持IDEA。有的甚至都打不开AndroidStudio。有2个解决方法找到AndroidStudio插件的目录,将有问题的插件都删除了。在这之前请先做一个备份,以便于之后去插件中心下载最新的。插件的目录不是之前的了,4.1已经更改了AndroidStudio配置的目录位置。位置地址如下:C:\Users\UserName\AppData\Roaming\Google\AndroidStudio4.1\plugins去An

2021-01-14 15:40:57 444

原创 TBS腾讯浏览服务静态集成,亲测可用,有demo

序言TBS的好处我就不多说了,此篇文章是关于TBS的静态集成,如果想要动态集成的话,可以参考我的另一篇文章TBS腾讯浏览服务接入以及遇到的坑。静态集成最大的坏处就是包会特别的大,应该会增加30M左右,如果不想要的话可以看我的另一篇文章。想要静态集成的伙伴多数都是因为有些时候,内核会因为一些不知道什么原因不会下载或者加载内核,但是如果是静态的话就一定可以使用x5内核。这个下载加载的问题,我在另一篇文章中也有解决方案。如果不想看下面文章的,可以直接下载我的demo,直接运行即可。想使用的话复制我里面的代码就

2020-12-28 15:05:27 4690 9

原创 常用正则表达式

1、匹配中文:[\u4e00-\u9fa5]2、英文字母:[a-zA-Z]3、数字:[0-9]4、匹配中文,英文字母和数字及下划线:1+$同时判断输入长度:[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}5、(?!) 不能以_开头(?!.*?$) 不能以_结尾[a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、下划线$ 与字符串结束的地方匹配6、只含有汉字、数字、字母、下划线,下划线位置不限:2+$7、由数字、26个英文字母或者下

2020-11-02 16:50:09 890

转载 AndroidStudio中使用Debug

这可能是史上最详细的 IDEA 中使用 Debug 教程! Java后端技术 2019-08-25 09:19:00 ...

2020-10-23 16:52:35 4705

原创 Application创建以及Activity启动流程简析

APP启动流程创建Application首先每个APP都有一个main方法的入口,在Android中main方法是在ActivityThread中的。ActivityThread#mainpublic static void main(String[] args) { //代码省略}紧接着在main方法中实例化了ActivityThreadpublic static void main(String[] args) { //代码省略 ActivityThread th

2020-10-13 14:43:33 970

原创 TBS腾讯浏览服务接入以及遇到的坑

TBS腾讯浏览服务接入TBS文档接入地址基本上的话照着这个文档接入是没有什么问题的,但是打开本地文件的时候,还是出现了一点小问题,因为文档里面没有说明。基础配置现在的Android开发都使用Android Studio了,所以只需要在app的build.gradle里面添加依赖,这份文章的日期是2020/9/30,最新id版本是下面这个api 'com.tencent.tbs.tbssdk:sdk:43939'权限配置<uses-permission android:name="and

2020-09-30 18:12:52 14470 13

原创 基于Kotlin+MVVM+LiveData基类的封装

前言Kotlin在国外已经非常流行了,好处不必多说了,如果不学习的话,那就只能落后了,那么迎娶白富美的机会可就少了许多。MVVM+LiveData也是目前比较流行的APP架构模式了,有必要学习一波。所以本着学习的态度,写了一个BaseModule,方便写新项目时可以直接依赖使用。废话不多说,开码。思路首先我的思路是这样的,有的Activity可能不需要ViewDataBinding,也有可能不需要ViewModel,也有可能都不需要,所以我的BaseActivity中,只加入了最基本的代码。然而有需要

2020-08-10 16:11:22 1687 1

原创 基于Android10的Activity的启动流程简析

启动Activity调用Activity的startActivity,最终都会调用startActivityForResultInstrumentationinstrumentation#execStartActivityActivityTaskManager.getService() .startActivity(whoThread, who.getBasePackageName(), intent, intent.r

2020-08-08 21:34:15 648

原创 Android 折叠布局,setPolyToPoly的使用

在查看Matrix相关资料的时候,发现了setPolyToPoly这个方法,可以实现折叠布局,觉得挺有意思的,就查看了相关资料。发现鸿洋大神写的一篇很不错,Android FoldingLayout 折叠布局 原理及实现(一),这篇文章是对鸿洋的这篇文章的一些补充吧,由于鸿洋的文章里的代码是在CSDN的,需要下载,所以我将代码上传至GitHub,MatrixPolyToPolyDemo,有兴趣的可以看看。还有一篇文章也不错,鸿洋的文章里也提到了,Android Folding View(折叠视图、控件),可

2020-05-21 14:11:07 1890 1

原创 在线浏览PDF,office文档

目前找到微软:https://view.officeapps.live.com/op/view.aspx?src=(输入你的文档在服务器中的地址); (测试没成功过,也许有人成功过)谷歌:https://docs.google.com/viewer?url=(输入你的文档在服务器中的地址); ( 翻墙,基本国内用不上)xdoc: http://www.xdocin.com/xdoc?_fu...

2020-03-23 22:43:36 586

原创 leakcanary-android 2.0使用极其遇到的问题

使用这个版本的leakcanary使用特别简单,只需要添加以下依赖即可。什么都不需要操作,不需要像之前的版本要在application里面进行初始化。如果没有什么特殊的需求,只需要以下依赖即可,就是这么神奇,至于原理什么的可看官网。还可以配置一些特殊的选项,比如错误发到服务器什么的,具体可看官网。leakcanary官网dependencies { // debugImplementati...

2019-11-07 18:57:23 3062 3

原创 Android 自动化打渠道包

本文基于Android studio3.4,JDK1.8,gradle-5.1.1-all。前言我们经常都会打包上线,然后大多数情况下也都是会有多渠道。按照以前的打包方式,太麻烦了,所以本文阅读了Android-解放双手之Gradle自动化打包实战(原创)一文后,设置了自己的打包方式。设置签名的配置首先要有签名的文件,在这里创建签名文件。怎么创建这里就不说明了。签名配置有两种方式第...

2019-05-08 16:02:49 639

原创 友盟自动集成

第一步在项目的根目录下repositories { google() jcenter() //加上这句 maven { url 'https://dl.bintray.com/umsdk/release' } }allprojects { repositories { google() ...

2019-04-16 18:23:21 949

原创 Android 华为8.1 系统卡顿

Android 华为8.1卡顿之前有个需求是要字体不随系统改变,然后我在我的BaseActivity里加上了以下代码 @Override public Resources getResources() { // 获取到resources对象 Resources res = super.getResources(); // 修改con...

2019-03-30 17:48:02 654

原创 APP启动小程序

APP启动小程序先需要到微信开放平台上注册,申请APPid等.紧接着安卓文档进行一些相关的配置等.微信开放平台文档-Android在注册了APPID的情况下,四步即可实现APP跳转小程序第一步Android Studio环境下:在build.gradle文件中,添加如下依赖即可:dependencies { api 'com.tencent.mm.opensdk:wechat-...

2019-02-28 14:55:15 566

原创 App Links的使用以及坑

前言App Links可以从一个URL或者短信中直接启动APP。不过只能在Android 6.0的版本上才能使用。配置在想调用的Activity上加上&lt;intent-filter android:autoVerify="true"&gt; &lt;action android:name="android.intent.action.VIEW" /&gt; ...

2018-11-02 17:19:52 3318

原创 ScrollView与RecycleView的嵌套问题

ScrollView嵌套RecycleView滑动时会有卡顿的现象禁止RecycleView的滑动事件。recyclerView.setLayoutManager(new GridLayoutManager(mContext,2){ @Override public boolean canScrollVertically() { return false;...

2018-02-26 17:14:02 404

原创 Android启动模式之singleinstance的坑

前言在实际应用中,使用singleinstance启动模式时,会遇到一些奇奇怪怪的问题。Android有四种启动模式,分别是standard,singleTop,singleTask,singleInstance。下面分别简单的介绍下这四种启动模式的作用。standardAndroid 默认的一种启动模式。不需要为activity设置launchMode。这种启动模式简单的来说就是当你

2018-01-16 17:56:35 36051 20

原创 Android Studio 翻译插件

Android Studio 翻译身为中国人的我们,英文水平不好是可以理解的,对吧。但是在开发中,全都是英文文档,想好好看下文档都不行。不过我们有翻译软件,因此选择好的一款翻译软件可达到事半功倍的作用。有道词典有道词典的确是挺不错的,但是呢,就是卡的很,他可以直接在studio中划词翻译,还是挺方便的。但是就是卡的很,有时候就是半天不出来。金山词霸金山词霸不卡,用起来很流畅。但是呢,就是不能直接在s

2018-01-03 23:19:05 1726

原创 Java编码时遇到的问题

java编码遇到的问题

2018-01-03 16:06:31 563

转载 Android开发——JVM、Dalvik以及ART的区别

0. 前言2014年6月25日,Android L 正式亮相于召开的谷歌I/O大会,Android L 改动幅度较大,谷歌将直接删除Dalvik,代替它的是传闻已久的ART。0.1 先对Dalvik以及ART做简单介绍:什么是Dalvik:Dalvik是Google公司自己设计用于Android平台的虚拟机。 Dalvik虚拟机是Google等厂商合作开发的Android移动设

2017-11-21 16:32:50 325

plugins.zip

AndroidStudio4.2常用的插件

2021-08-04

plugins.zip

AndroidStudio4.2.2系统插件

2021-08-04

一款好用的在Windows上显示webp图片以及预览功能

最少要一个积分,没办法,都不能免费下载,无奈,不过真的好用

2018-09-26

DownloadManager

Android自带的DownloadManager的使用,十分的好用方便。

2018-06-04

Android studio 翻译插件

ECTranslation1.3是一款翻译的插件,下载此jar包,放在Android studio中通过plugins安装,安装过后重启studio,在选择plugins,选择ECTranslation更新,选择update,在keymap中,搜索Translate,就找到快捷键了,可以自行换快捷键,我是用`来作为快捷键。非常好用的一款翻译插件,可整句翻译

2018-01-03

空空如也

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

TA关注的人

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