自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (6)
  • 收藏
  • 关注

转载 Android 依赖管理

在 根目录 的 build.gradle 顶层构建脚本 中 , 配置的 allprojects 脚本块 , 是 作用于所有的工程的。在 build.gradle 构建脚本 层级配置的 repositories 配置 的作用是 为工程添加依赖仓库;

2024-08-13 21:01:34 21

原创 Android Studio设置 offline 模式

在setting中选中Offline Work选项。

2024-08-13 20:45:38 286

转载 android studio每次依赖都要重新下一遍

每次我们在使用Android Studio开发Android应用程序时,都需要添加各种依赖库。依赖库是一些已经开发好的代码包,可以为我们提供各种功能和特性,从而简化我们的开发工作。然而,有时候我们会发现,在每次重新启动Android Studio或重新编译项目时,依赖库都需要重新下载。这是为什么呢?在解释这个问题之前,先让我们来了解一下Android Studio和Gradle。

2024-08-13 20:40:19 41

转载 Android热修复实现及原理

Android热修复实现及原理

2024-07-09 17:19:12 43

转载 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。

2024-05-22 20:31:13 42

转载 美团一面:说说String、StringBuilder、StringBuffer

这么做的目的就是为了防止重复创建大量相同的字符串,创建过多的对象不仅占用内存,而且还浪费性能。从图中可以看到,当我们为字符串重新赋值的时候,并不是改变原有字符串的内容,而是让字符串变量指向新创建的字符串,也就是指向了常量池中的另一个位置,而原本位置上的那个字符串,是没有动的,还在原位置存放。可以看到,String中的这些改变值的操作其实都是会创建新的字符串对象,其他改变字符串内容的API和上面三个的处理方式都一样,都会去创建新的字符串对象,而不会去改变原有字符串的内容。字符串是常量,用双引号包起来表示。

2024-03-06 16:03:19 79 1

原创 Dart中 级联操作符「..」和 扩展运算法「...」

Dart中 级联操作符「..」和 扩展运算法「...」

2023-08-01 11:40:33 730

转载 手机屏幕的DPI和PPI有什么区别?

指每英寸长度上的点数。DPI又可细分为水平分辨率和垂直分辨率,例如一张1英寸x1英寸的图片,如果它的水平分辨率是100dpi,垂直分辨率是50dpi,那么就是说,它水平方向每英寸分成100小段,垂直方向每英寸分成50小段,就像米尺上的一格格那样。有很多人将二者混为一谈,错把PPI的计算方法当成DPI的计算方法,这显然是不对的,一般消费者根本不能分清两者的概念,网上关于手机DPI的解释又很少,所以有些商家会故意选用数字大的参数标出,当然也不排除某些网站在参数标注时出现概念混淆的情况。

2023-06-27 11:21:36 2079

原创 Cannot run with sound null safety, because the following dependencies don‘t support null safety

出现上面报错是因为以下这些包(flutter_swiper、flutter_page_indicator、transformer_page_view)不支持safety模式。

2023-05-17 20:57:39 496

转载 git cherry-pick 教程

另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。

2023-05-06 14:05:36 766

转载 关于onNewIntent你应该知道的

① 如果ActivityA已经启动过,处于当前应用的Activity堆栈中;当ActivityA的LaunchMode为SingleTop时,如果ActivityA在栈顶,且现在要再启动ActivityA,这时会调用onNewIntent方法。② 当ActivityA的LaunchMode为SingleInstance、SingleTask时,如果ActivityA已经在堆栈中,那么此时会调用onNewIntent方法。

2023-04-26 16:48:22 1850

转载 Android存储之分区存储适配

1.简介Android 存储分为内部存储(Internal storage)和外部存储(External storage)。有许多用户认为外部存储意味着SD存储卡或外部硬盘,这是完全错误的认识。内部存储内部存储是用于存储Android系统本身和应用程序的存储区域,Android设备中的Android系统和应用程序都是存在该内部存储区,例如手机的/system/目录、/data/等目录。如果没有这一块存储区域是无法运行Android系统和应用程序的。

2022-12-19 18:37:52 699 1

原创 vivo和oppo通知权限弹窗

在vivo和oppo部分手机上,首次安装app时,会弹出一个系统级的通知权限弹窗,(部分一加手机也会出现,是因为一加手机使用了OPPO的colorOS系统。这个通知权限弹窗比较坑,一来可能不符合产品对通知权限处理的逻辑;二来很可能会弹窗app的用户隐私协议弹窗。,开发者目前没有办法处理这个弹窗,厂商后续可能会提交相应的api。如果有同学有好的办法处理这个通知权限弹窗,欢迎评论交流。

2022-11-17 12:52:12 1482

转载 kotlin data class 遇到的问题以及解决方案

kotlin data class 遇到的问题以及解决方案

2022-11-16 20:43:32 4121

原创 关于微信开发者平台移动应用(android)获取签名问题

关于微信开发者平台移动应用获取签名问题

2022-10-12 13:10:20 1012

原创 Android 隐藏状态栏

Android 隐藏状态栏

2022-09-27 14:53:39 4415

原创 Android Studio 设置右侧Gradle面板中Tasks显示/隐藏

AndroidStuido Gradle面板中Tasks显隐

2022-09-21 21:07:47 1141 1

原创 Android项目 生成签名证书指纹

生成签名证书指纹 SHA256指纹

2022-09-21 20:42:22 1608

原创 官网下载不同版本的AndroidStudio

下载指定版本的AndroidStudio

2022-06-14 13:58:40 1721 3

原创 mac adb命令报错“zsh: command not found: adb”

adb配置

2022-06-14 13:13:17 1268

原创 应用是非正式发布版本, 当前设备不支持安装。

今天后端同学要个安装包想体验下,结果apk发过去后,提示不能安装,具体报错如下。出现这个问题是因为Android Studio 3.0开始会在debug apk的manifest文件 application标签里自动添加 android:testOnly="true"属性。该属性导致在IDE中使用Run生成的apk在大部分手机上只能用adb install -t 来安装。如果使用apk直接安装就会报这个错误。解决办法:在gradle.properties 文件中添加如下指令:android.in

2022-02-10 11:17:42 5001

原创 对系统日历的日程进行增删改查等操作【android】

因为业务需求,需要获取系统日历的日程信息,并进行一定的增删改查操作,所以对这块进行了一些调研。这个知识点不难,但是比较冷僻,所以如果有个参考文章,研究起来比较方便点。如果有错漏的地方,欢迎指出,我们一起探讨。本文参考的是Android原生API和对Android手机系统日历数据增删改查操作详解,相关代码写了个Demo,Demo App的地址。日历提供程序是用户日历事件的存储区。您可以使用 Calendar Provider API,对日历、事件、参加者、提醒等执行查询、插入、更新和删除操作。一、相关知

2022-01-21 17:11:39 2660

原创 mac 复制文件路径的快捷键

mac上复制文件路径的快捷键:option + command + C

2021-12-28 16:33:45 1447

原创 ARouter there‘s no route matched 解决办法

使用ARouter进行mudole内部或者module之间进行跳转的时候,如果出现ARouter there’s no route matched!报错,那大概率是自己的配置出现的问题,这里总结一下常见几个坑:1.这个是ARouter的使用文档大家可以先对着文档检查一下自己的配置;注意,每一个module 都要添加下图的配置依赖:2.第二点ARouter要初始化,在宿主module(第一个运行的Module)的applaction中初始化ARouter即可;3.path路径至少需要有两级,/xx/

2021-11-24 10:33:37 3967

原创 设置 AndroidStudio 显示Local Changes工具页

升级新版的AndroidStudio 4.3 (也称为Android Studio - Arctic Fox | 2020.3.1版本,AndroidStudio的版本命名方式发生了变化,具体可以参考Android Studio 的版本编号系统)后,Local Changes工具页不见了,使用非常不方便。显示方式:打开 Settings —> Preferences —> Version Control —> Commit ,将 Use non-modal commit interfa

2021-09-24 14:51:11 1646

原创 VSCode文件空包折叠展开

更新VSCode后,创建两层文件夹,会出现assets\styles的样式,看着非常不习惯。现象图:方案:找到VSCode的设置页,在设置页面搜索 Compact Folders,把这项勾选掉,就可以了。修改后的效果:

2020-11-13 10:39:29 3214

转载 Thread.sleep(0) 到底有什么用?

我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2020-11-12 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2020-11-12 12:00:01.000 的时候,这个线程会不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么?我们先回顾一下操作系统原理。

2020-11-12 15:28:26 172

原创 cmd操作界面中退出npm命令,返回之前的目录

cmd操作界面中退出npm命令,返回之前的目录我们是使用cmd操作npm时,例如起应用(npm run dev)后,我们想返回之前的目录进行别的操作,这时却不知道怎么返回了。比较愚蠢的办法就是把cmd界面关掉,再重新打开cmd界面。这种方式太操蛋了,会被人笑话的????。方案一:在键盘上连续按“Ctrl+C”两次,然后就回到了可操作的界面;方案二:在mcd界面上输入“.exit”,然后就回到了可操作的界面。...

2020-10-29 10:09:38 2501

原创 HashMap作为常量存储数据用法

背景:有个类中需要用到很多图片,但是产品指给了图片的key值和地址,我要放到相应的类中,就用HashMap来了个成员变量。使用方式: private HashMap<String, String> segmentMap = new HashMap() {{ put("0", "https://cdn.vp.com/appadmin/91BC9F0F7736464B8C967893097B0A9B-1592322066626.png"); put("11",

2020-07-03 10:43:50 783 1

原创 Switch可以用string做参数吗

在jdk1.7 之前,switch 只能支持 byte、short、char、int 这几个基本数据类型和其对应的封装类型。switch后面的括号里面只能放int类型的值,但由于byte,short,char类型,它们会自动转换为int类型(精精度小的向大的转化,自动类型转换),所以它们也支持。注意,对于精度比int大的类型,比如long、float,doulble,不会自动转换为int,如果想使用,就必须强转为int,如(int)float;switch (type) {// 括号里是一个表达式是整

2020-05-13 09:50:26 1105 2

原创 Android WebView隐藏H5页面的部分内容

一:需求产品突然提出个需求,想去掉一个H5页面中的一段文案,避免用户点击创建新账户,如下图。这个H5页面不是我们自己写的,要不然在H5中添加一个去掉这段文案的方法,在native这边直接调用这个方法就OK了,但是这个H5页面是别人的,怎么处理呢?二:思路webview不仅可以加载网页,同时网页的任何元素我们都是可以修改的。例如隐藏元素、替换元素、插入新的元素等等。那现在我们要做的就是:在J...

2020-04-16 11:19:53 964

原创 switch case 语句问题 (Duplicate branch in 'switch')

在android开发中使用switch case 时 , 如果有警告提示 Duplicate branch in 'switch' , 这个意思是说有两个case中的模块代码是相同的 , 没有必要把两个case分开写 , 可以放到一块 . 这是一个警告 , 不放一块写也可以 . 但是最好还是写一块 , 这样逻辑清晰 , 代码简约 , 而且不会有警告提示 .怎么写一块呢? 这个有个容易犯错的地方 ...

2019-11-28 16:05:31 13868 1

原创 微信小程序cover-view的坑

1. cover-view文字显示不全问题描述: 先看下文字显示不全的样式 , 如图 , 文字末尾会有部分被截断 , 这个bug在iphone6,7上比较明显, 在iphone7plus等手机上不明显 , 但是细看还是会发现被截断了一部分 . 我尝试添加padding 和在文字末尾加上一个空格(" ") , 都没有结果 . 后来查询发现是小程序本身的一个bug , 目前官方还没有解决 .解决...

2019-11-13 16:42:55 1377

原创 Invalid regular expression: invalid group specifier name

微信小程序在使用正则表达式的时候有几个坑 , 会报这个错误 , 需要注意一下几点:1.格式不对// 错误格式let regExp = /(?<!\d*\.\d*)(\d)(?=(\d{3})+(?!\d))/g;// 修改为下面的格式即可let regExp = new RegExp("(?<!\\d*\\.\\d*)(\\d)(?=(\\d{3})+(?!\\d))", ...

2019-10-30 20:17:14 11072

原创 小程序中text组件之坑

在微信小程序中有一个基础组件是 它相当于平常开发中用到的标签,是一个行内元素不过在小程序中组件有不少坑爹的地方 , 极易踩坑 . 这里总结一下 ....

2019-10-21 16:24:41 654

转载 Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath'

在build.gradle(project)中加入mavenCentral()就没问题了,当然前提是要把gradle的offline禁用掉,不然会报一个无法下载.jar包的错误 .

2019-09-17 15:01:27 330

原创 微信小程序中wxs问题集锦

微信小程序中wxs文件 , 作为过滤器等的使用是很方便的 , 但是wxs是小程序的脚本语言 , 和js语法不太一样 , 所以会经常遇到一些坑 , 这里总结一下 .wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。wxs 的运行环境和其他 javascript 代码是隔离的,wx...

2019-08-16 19:44:23 4375

原创 在Javascript操作JSON对象,增加 删除 修改

// json Object对象 var person = { "name":"lyx" , "age":26 }; //增加属性并且赋值 person.sex="man"; //也可以使用这种方式添加新的属性并赋值 person...

2019-08-15 11:32:04 300

原创 微信小程序中 wx:if 和 hidden 的区别

关于wx:if 和 hidden 的区别 , 小程序的官方文档上有介绍 , 但是简单的看文档可能理解的不够透彻 , 我这边通过几种场景对其进行加深理解 .先看看文档的介绍:文档的内容不多 , 但是信息量却不少 , 我们来分析一下 :...

2019-08-12 12:16:30 2104 2

原创 ES6之模板字符串

现在写h5项目 , 对常用的ES6语法进行梳理一下 , 便于自己理解 , 也防止后期忘记 . 这边对模板字符串进行讲解.1.简介JavaScript常用的字符串拼接方式如下:let name = "水滴";console.log("我最喜欢三体中" + name + "这个科幻概念");这种传统做法需要使用大量的""(双引号) 和 + (加号) 来拼接才能得到我们想要的字符串 , 这样...

2019-08-01 20:00:23 284

关于微信开发者平台移动应用(android)获取签名问题

关于微信开发者平台移动应用(android)获取签名问题

2022-10-12

系统日历的操作【android】

系统日历的操作【android】

2022-01-24

activity与fragment以及fragment与fragment之间的通信

activity与fragment以及fragment与fragment之间的通信

2018-10-10

自定义View并将其转化成Bitmap

需求背景 : 我们的产品希望把主app中的页面分享到小程序中 , 大家都知道native分享到小程序是需要提供一张背景图的 , 产品希望在一张背景图上加一些文案.

2018-08-13

Android五种数据传递方法汇总

Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起。它们各有利弊,有各自的应用场景。 我现在把它们集中到一个例子中展示,在例子中每一个按纽代表了一种实现方法。

2018-08-10

SharedPreferences中存储bean类集合或者存储bean类

存储List数据到本地的常用方式一般是用sqlite,但是如果不想用sqlite,或者数据量很少,使用SharedPreferences也是一种不错的选择。

2018-08-06

Eclipse主题配置文件

eclipse原生的白色主题对开发人员不太友好,也不好看,这个是我平时使用的主题,可能是已经开习惯了,个人感觉看起来挺舒服的 , 跟各位童鞋分享下

2017-11-29

空空如也

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

TA关注的人

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