自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 问答 (1)
  • 收藏
  • 关注

原创 颜色透明度计算

先把结果放在这里,方便大家查询,也方便自己,UI太喜欢用百分比表示了透明度百分比对应的十六进制:  百分比:0%    HEX: FF  百分比:1%    HEX: FC  百分比:2%    HEX: FA  百分比:3%    HEX: F7  百分比:4%    HEX: F5  百分比:5%    HEX: F2  百分比:6%    HEX: F0  百分比:7%    HEX: ED...

2015-12-21 17:32:50 1361

原创 vue安装、打包、发布

tips:可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功。(2)打开命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可。测试,打开浏览器输入localhost, 注意端口号必须要跟nginx上面配置一样。打开nginx目录下的、conf文件夹下的nginx.conf文件。(1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过。c.修改nginx配置。

2024-01-17 14:53:12 492

原创 解决Android Studio无法下载,HTTP ERROR 400

第一步打开Android Studio官网https://developer.android.com/studio第二步点击进入下载页面第三步,右击复制下载地址第四步,复制到浏览器中去掉https中的s第五步,回车就可以下载

2023-06-08 17:23:44 990 1

原创 redis清理缓存

到这里就清除缓存完毕了,不需要重启redis,不过值得注意的是,你们服务器的缓存数据是否重要,是否可以全部清除,一定要确定清楚了以后才执行清空缓存的命令,如果不确定能不能清除,最好先确定了以后才清楚,否则不要轻易清除。flushall:清空整个redis 服务器的数据(删除所有数据库的所有 key )。flushdb:清空当前数据库中的所有 key。的状态的,不然是无法清空缓存的,然后我们双击。我们就可以使用命令来清空缓存了,输入。首先我们清空缓存的时候,需要确保。

2023-05-11 14:32:50 3072

转载 手把手教你如何使用GitHub的服务器搭建自己的简单网站

点击创建仓库(也就是右边的New repository)简单解释一下,Repository name就是我们要创建的仓库名,这个名字一般情况下只要跟你名下的仓库不同名即可,但是这里一定要写成xxx.github.io(xxx是你的用户名),因为仓库的唯一性,说明我们只能创建一个这种类型的仓库。下面的Description是对仓库的描述,接下来的两个选项是公有仓库和私有仓库,我们都知道GitHub是世界上最大的代码托管中心,没有之一,所以一个程序员如果不会使用GitHub是说不过去的,虽然中国出了

2022-03-22 16:21:59 2889

原创 TabLayout 之改变 Indicator 的宽度

前言默认情况下,TabLayout 中 Indicator 的宽度和该 Tab 的宽度相等。但是有时候我们需要自定义 Indicator 的宽度,所以本文将介绍改变 Indicator 的宽度的几种方法。一、反射实现第一种方法是通过反射的方式改变 Indicator 的宽度。TabLayout 只提供了app:tabIndicatorHeight属性来设置 Indicator 的宽度,但没有提供设置宽度的 API。所以只能自己去修改了,先看下源码是怎么实现 Indicator 的。..

2022-01-05 11:07:39 2809

原创 TabLayout 设置选中Tab字体加粗,这可能是全网最新写法

为什么写这篇文章?是因为搜了全网都没有一个很简洁的方式有的只是去给 TabLayout 添加「自定义的布局」,然后再对 TabLayout 进行 Tab 卡片的切换进行监听,来更改 「自定义布局」 中的 文字的加粗或者其他。都说懒是提高效率的重要原因,对于我搜到的解决方案,我是不想采纳的。所以,我就开始反复琢磨,看有没有更简洁,更完美的方案,而TabLayout 并没有暴露出来更多的“漏洞”让我钻空子,所以我的方案一再被否定。不过最终,在对懒的目标的坚持下,我得到了这样的方案。监听 Ta

2022-01-05 10:47:39 2428 6

原创 Android浏览器翻译功能调研

0x00 前言这里简单记录一下,关于市面上常见的Android手机浏览器网页翻译功能的情况,以及简述目前我了解到的网页翻译的方式,根据收集到的情况来看,有些方案是适用于任何浏览器的,和平台都没有太大关系。相关安装包均为2021年2月初在华为手机应用市场下载的版本,仅代表当时的情况,虽然部分浏览器支持添加翻译插件,但是这里仅仅手机原始包的情况。0x01 市面上常见的Android手机浏览器及其翻译功能的支持情况拥有翻译功能的浏览器Chrome uc浏览器 没用,不太清楚是不是我自己手

2021-07-22 18:20:33 1676 2

原创 【100%有效】解决AndroidStudio 控制台编译输出中文乱码,亲测解决!

背景在AndroidStudio中新建了一个Java Module,但是点击Run ‘app’之后,Build Output控制台输出的中文都是乱码,都是问号一样的字符

2021-06-08 23:40:13 447 3

原创 JitPack 上传SDK包

https://www.jianshu.com/p/e400203efec3

2021-05-20 13:41:30 158

原创 约束布局ConstraintLayout看这一篇就够了

https://www.jianshu.com/p/17ec9bd6ca8a

2021-05-13 10:49:16 76

原创 Android 10获取设备标识方案探究

原文连接 https://www.jianshu.com/p/e8b6cafa91d5前言我们在开发中可能会使用到一些第三方的应用统计SDK,用于统计应用的用户量等等,如何区分每个用户呢?当然就需要每个设备对应一个唯一的标识,Android中当然也提供了这样的API来获取到设备相关标识,但遗憾的是随着Android版本的迭代,官方对于用户隐私的权限越来越严格,在最新的Android 10版本中甚至已经无法通过原来的一些API来获取到设备相关标识了。本文就来探究一下Android中的各种...

2021-04-22 11:30:33 1090

原创 Android App性能优化技能,看这篇就够了

一.何为App的性能拿小车举例,大家知道什么是一辆小车的性能吗?同学甲说,是否省油、加速是否够快、开起来是否稳定、安全等等。没错,那就是小车的性能。那App的性能又是指什么呢?同学乙说,App启动是否够快,运行是否流畅,是否省电、省流量,安装包体积是否够小等等。是的,这就是App的性能。二.关注App性能,有什么用我们知道,一辆小车性能越好,加速越快,跑的越稳,越省油。App也一样,性能越好,运行更流畅、更稳定、更省流量、电量,包的体积也会更小,这能给用户带来优秀的体验,进而也会

2021-04-12 13:43:34 666

转载 Android Studio 上传aar(Library)到JCenter

目的这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,发布自己的android library(也就是aar)到公共的jcenter仓库。为什么选择JCenter,因为JCenter现在是Android Studio中repositories的默认节点了,之前是Maven的,不过JCenter是兼容Maven的。环境Android Studio 2.2.3参考资料http://www.jianshu.com/p/c4f4894ad215http://www.jiansh

2020-06-24 16:00:56 367

转载 android 判断导航栏是否可见

相信大家都在网上搜索了很多判断导航栏是否可见的方法,但是用着用着在android7.0机以上的系统就不支持了,好了废话不多说我先说说我实现思路:获取屏幕的真实高度(物理尺寸 比如我的小米6X 真实分辨率是2160X1080 这个2160就是真实高度) 减去当前acitivity所占用的应用区域 得到这个高度比如=Y判断Y是否等于状态栏高度 如果等于说明这个时候导航是显示的 否则就是没有显示...

2019-03-29 11:58:41 3563

原创 android ANR日志

$:adb shell$:cd data/anr(此处不要直接cd data,因为有些目录没有权限,会报permission deny)$:ls查看当前目录下的所有文件,并找到你想导出的那个(traces.txt,traces_1.txt,native1_1.txt,....)$:ctrl+d或exit退出$:adb pull data/anr/traces.txt...

2019-02-13 11:38:36 1153

原创 java Math.pow()有误差

使用StrictMath.pow()替代

2019-01-02 14:36:07 1623

转载 WebView·开车指南

Tips由于WebView的用法实在太多,如果您只是想查询某个功能的使用——建议Ctrl+F(Commad+F)在本页面搜索关键字查找。 文章给前半部分大多是方法的介绍,若嫌琐碎可直接拖到最后看代码演示。Thanks for reading~!٩(♡ε♡ )۶前言喝酒不开车,开车不喝酒。目录WebView简介 WebView基本使用 WebView常用方法 WebSe...

2018-11-01 17:55:43 191

转载 RecyclerView 平滑滚动可控制滚动速度的终极解决方案

https://www.jianshu.com/p/bae9e516aace

2018-10-30 17:10:28 1355

原创 Android 7.0 https 抓包实现

说到抓包,这就是涉及到调试和安全问题,对于 Android 7.0 (API 24 )以下,你可以直接使用 Charles 安装相关证书配置好代理后直接实现。但是在 Android 7.0 之后,Google 推出更加严格的安全机制。至于具体怎么配置,Google 官方给出超级全面解释,官方连接。1. 在你自己的app下,xml目录下新建一个文件:res/xml/network_secur...

2018-09-29 18:03:56 2381

原创 使用Android Studio开发Gradle插件

参考https://segmentfault.com/a/1190000004229002 https://www.jianshu.com/p/c8b3f6f829bb插件类型Gradle的插件一般有这么几种:一种是直接在项目中的gradle文件里编写,这种方式的缺点是无法复用插件代码,在其他项目中还得复制一遍代码(或者说说复制一遍文件) 另一种是在独立的项目里编写插件,然后...

2018-08-31 17:29:46 2524 1

转载 自定义RecyclerView.ItemDecoration,实现Item的等间距分割以及分割线效果

转自  https://www.jianshu.com/p/3b860938e5031.背景RecyclerView 是谷歌 V7 包下新增的控件,用来替代 ListView 和 GridView 使用的一个控件。在使用的过程中,往往需要使用到 divider 的效果 ( item 之间的分割线 )。而 RecyclerView 并不像 ListView 一样自带有 divider 的...

2018-08-16 11:33:52 1253

转载 Uri详解之——Uri结构与代码提取

前言:依然没有前言……相关博客:1、《Uri详解之——Uri结构与代码提取》2、《Uri详解之二——通过自定义Uri外部启动APP与Notification启动》上几篇给大家讲了ContentProvider,里面有用到Uri,可能很多同学对Uri是什么,怎么来的,这些都不是很熟悉,今天就给大家具体讲讲Uri一、URI与Uri大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是...

2018-06-17 17:44:11 340

转载 Android 中东阿拉伯语适配,看这一篇够了

RTL 语言由来RTL 是 Right-to-left(从右向左) 的缩写。其意为人们书写阅读习惯是从右向左,朝左继续的,常见的 RTL 语言有阿拉伯语,希伯来语等。看一下 LTR(左图) 布局与 RTL(右图) 布局之间的对比:  那么对于这种从右到左的习惯,在 Android 布局中有没有支持呢?答案是有的:从 Android 4.2 即 SDK 17 开始,提供了全面的本地布局支持,允许镜像...

2018-06-07 14:40:16 5321 2

转载 可能是讲解Android事件分发最好的文章

我几乎看过国内讲解Android事件分发的所有文章,但遗憾的是都没有这篇讲的好,原因有二:它阐明了具体的事件分发机制的设计意图,让人既知其然,又知其所以然;它没有贴源码,吓唬本宝宝。所以我决定将它翻译出来,造福广大Android开发者。原文请点击这里:http://balpha.de/2013/07/android-development-what-i-wish-i-had-known-earli...

2018-03-02 11:25:13 150

转载 Context都没弄明白,还怎么做Android开发?

Activity mActivity =new Activity()作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模型是基于...

2018-03-02 11:08:58 136

原创 Android技能树 — Android存储路径及IO操作小结

其他不多说,先上脑图:Android存储路径脑图列举的是比较常用的。可能哪里会有不全,大家也可以反馈。我可以再修改。Android 存储路径我这里分为内部存储和外部存储,其中这里的外部存储指了手机内部的SDCard,很多手机可能额外还有扩展卡内存,可以增加扩展卡(外置SDCard),这里我不做说明了。内部存储其实我们用到的最多的/data目录下的。我们可以看到这里的注意点,因为以前我们的路径一般是...

2018-02-26 14:15:03 250

转载 时间戳和时区

时间戳时间不分东西南北、在地球的每一个角落都是相同的。他们都有一个相同的名字,叫时间戳。时间戳 指的就是Unix时间戳(Unix timestamp)。它也被称为Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。关于 时间戳, 你可以看在线时间戳时区时间戳 在地球的每

2018-01-19 14:33:33 9608

原创 输入框被输入法遮挡

非透明状态栏下使用adjustResize和adjustPan,或是透明状态栏下使用fitsSystemWindows=true属性 在AndroidManifest.xml对应的Activity里添加 android:windowSoftInputMode=”adjustPan”或是android:windowSoftInputMode=”adjustResize”属性 这两种属性的区别,官方的

2018-01-19 11:37:34 1511

原创 Android Studio的.gitignore以及gitignore无效的解决

有时我们发现添加.gitignore文件后并没有忽略我们想要忽略的文件,解决方法就是清除一下缓存,原因gitignore对已经追踪(track)的文件无效,清除缓存后文件将以未追踪的形式出现.然后再重新添加提交一下,.gitignore文件里的规则就可以起作用了git rm -r --cached .git add .git commit -m 'update .gitignore'

2017-12-20 14:31:19 1203 1

转载 利用productFlavors创建不同版本的App

需求最近运营人员需要创建一个"壳版"应用进行渠道推广,即将当前的App更换名称、包名、图标、第三方服务等,成为一个新的应用。方案比较简单的方案就是将代码copy一份,缺点也比较明显,以后维护起来比较麻烦,每次更新代码, 都要把代码复制一次通过gradle的productFlavors可以创建多个不同版本的App,维护起来也比较方便考虑到实际情况选择方案二,主要涉及包

2017-03-20 19:18:01 1972

转载 Android冷启动实现APP秒开

在阅读这篇文章之前,首先需要理解几个东西:1、什么是Android的冷启动时间?冷启动时间是指用户从手机桌面点击APP的那一刻起到启动页面的Activity调用onCreate()方法之间的这个时间段。2、在冷启动的时间段内发生了什么?首先我们要知道当打开一个Activity的时候发生了什么,在一个Activity打开时,如果该Activity所属的Application还没有启动

2017-02-22 13:27:15 328

转载 Android .9.png图片的制作与使用

.9.png图片其实就是png格式图片,不过它比普通的png图片外围多了1px(像素)的边框,另外就是使用这种格式的图片可以实现背景自适应大小且不失真的效果。比如某些控件横竖屏切换后控件的样子就变形了,或者某些图片作为控件背景也变形,这会让人很郁闷。幸好.9.png图片可以提供这些需要的功能。制作使用步骤:    1、制作属于你自己的png图片,一定要是png图片。

2017-01-10 20:18:13 278

转载 Android Studio 掌握这些调试技巧,Debug能力不能再高啦

Debug断点跟踪调试是软件开发过程中分析代码、解决BUG的一个重要手段,不同IDE下的Debug工具的使用有所不同,但提供的调试功能一定是应有尽有。很多程序员的Debug能力都停留在基本的单步执行、断点跳跃上,殊不知还有很多鲜为人知但非常方便的调试技巧。本文就以Android Studio工具为例,展示一些一般人不知道的Debug调试技巧,掌握这些,你也算是Debug调试大师了。基本使用

2016-09-02 14:57:22 291

转载 Git+GitHub,构建自己的开源仓库之Git分支

简介最近公司里还是没什么事做,虽然工资还是在正常发,但是还是要有忧患意识,毕竟,生于忧患,死于安乐。所以,最近一段时间都处于学习状态,越学习越发现要学的东西太多,越学习越发现自己懂得少。言归正传,今天记录一下Git分支的相关知识。远离舒适区,常驻学习区Git分支命令命令描述示例git branch 创建分支git bran

2016-07-27 14:44:04 338

转载 最全面的AndroidStudio配置指南总结-包括护眼模式

使用AndroidStudio开发APP已有半年多的时间了,从刚开始的不习惯到慢慢适应再到逐渐喜欢上AndroidStudio,中间的过程颇有一番曲折,现在把自己对AndroidStudio的配置心得总结下来,分享给大家,希望给后来人带来方便。强迫症童鞋的护眼模式设置方法传统模式的编辑域护眼模式的编辑域设置保护视力颜色 #C7EDCC(护眼绿)

2016-05-06 16:53:35 883

转载 android 解决小米手机上选择照片路径为null情况

昨天测试帅哥说他手机选择图库崩溃了,这是一个上传头像的功能,相信很多应用都有这个功能,于是我就把手机拿过来打log看了下返回的路径 为null,在网上搜索了下解决方案,现在把解决方案记录下:这是在onActivityResult方法中执行的,[html] view plain copy print?if (data == null) 

2016-04-15 14:53:30 1854

原创 Textview\EditText添加表情

/** * 为Textview添加表情 */public class ExpressionParser { private Context mContext; private Pattern mPattern; private HashMap mDrawableMap; public static final int[] EXPRESSION_DRAW

2015-11-05 15:31:08 294

原创 SpannableStringBuilder的使用

效果什么都不说,先看个炫酷的效果。效果‘什么,这也算炫酷?’也许你会这么说如果我告诉你,这个页面中只用了一个TextView呢 ?你没看错!只有一个TextView,没别的!!!实现是时候把SpannableStringBuilder介绍给大家了先看看Google官方的介绍This is the class for text whose content and markup can both be...

2015-10-23 22:50:27 491

转载 Android开发:shape和selector和layer-list的(详细说明)

和在Android UI设计中经常用到。比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到和。可以这样说,和在美化控件中的作用是至关重要。在看这篇文章之前,可以看下这个小例子:镂空按钮的实现1.Shape简介作用:XML中定义的几何形状位置:res/drawable/文件的名称.xml使用的方法:Jav

2015-10-14 22:31:21 281

空空如也

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

TA关注的人

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