自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 EasyPermission:一句代码解决动态权限的申请和回执(带权限提示信息)

效果展示以上是演示请求一个相机权限的过程:首次申请(顶部提醒)-拒绝-再次申请(顶部提醒)-再次拒绝(并勾选禁止再次询问)-再次申请(中部弹窗引导)-在设置页不授权-返回-再次申请(中部弹窗引导)-在设置页将相机权限设为允许-返回app在此过程中,任意一次拒绝和允许,都可以及时的拿到允许/拒绝的结果,进而在页面展示授权状态或者执行自己授权后的逻辑。以上的这些所有逻辑,只需要一句代码就能搞定,你相信吗?是的,EasyPermission她来了,在项目中集成之后,安卓权限的检查、申请、提示、

2022-03-28 09:21:13 1919 1

原创 使用nexus搭建局域网私服Maven仓库(Windows版)

认识Maven仓库一 什么是Maven仓库 Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和 依赖管理。Maven仓库是专门用来存放jar文件的管理工具(也可以用来存放项目war,zip,pom,aar等文件)。Maven仓库中为每个jar文件分配了一个坐标,Maven仓库能很方便的对项目依赖库进行版本的控制。简单地说Maven仓库就是帮我们统一管理项目依赖的工具。二 Maven仓库的作用用过eclipse开发项目的开...

2021-01-18 23:08:32 2087 1

原创 zxing-core 3.4.0扫描二维码发生崩溃,日志发现:NoSuchMethodError

#问题来源之前项目用的zxing包是下载到本地的,由于比较旧,有客户反映扫码效果不太好,所以昨天先对zxing-code进行了更新发现zxing前几天都已经更新到3.4.0了,相信使用zxing的小伙伴们最近也一定会陆续跟上更新的。zxing在github上的地址:https://github.com/zxing/zxing然而,在更新了之后去欢乐的扫码,确实比效率比旧版有不少的提升,但是在...

2019-06-07 10:52:17 2262 3

原创 Android中使用shouldShowRequestPermissionRationale判断权限被禁止

前言Android6.0之后的有些权限需要去动态获取,这个过程中呢,我们或许会遇到这么几个方法。1.ContextCompat.checkSelfPermission 检查权限是否允许2.ActivityCompat.requestPermissions 请求某个或某几个权限3.onRequestPermissionsResult 手动请求权限之后的结果回调4.shouldShowReq...

2019-06-07 10:41:03 16017 4

原创 使用TextPaint实现自由加粗字体:BoldTextView,支持中粗

难道安卓真的不能达到“中粗”的效果吗?其实是可以的。通过读TextView的源码可以看到,在onDraw()中,最终使用mTextPaint 完成文字的绘制,而使用mTextPaint 又实现文字颜色和是否粗细及文字大小等属性的控制。进而达到“中粗”的效果

2022-04-12 17:17:36 3634

原创 【targetSdk升级适配记录】androidX/AndroidP/AndroidQ/AndroidR/AndroidS

【targetSdk升级适配记录】androidX/AndroidP/AndroidQ/AndroidR/AndroidS

2022-02-15 14:14:25 817

原创 WindowManager.getDefaultDisplay过时方法处理

WindowManager.getDefaultDisplay过时方法处理升级。targetsdk后会遇到很多过时方法,现在记录一下处理这些过时方法的替换方案和版本兼容方案,最后整理成一个专题

2022-01-17 22:43:35 3742

原创 使用nexus搭建局域网私服Maven仓库(2)-常用maven仓库代理配置

上次完整讲述了如何从零开始使用nexus搭建maven仓库使用nexus搭建局域网私服Maven仓库但是搭建完maven仓库只是把房子建好了,房子里还没有任何东西,此时依赖这个仓库还下载不到自己想要的东西(jar、aar等资源)。这里再记录下需要配置哪些常用的仓库代理。这里主要是记录仓库代理地址,所以操作步骤在之前讲过这里不再详细说明,只简单说下,具体操作见使用nexus搭建局域网私服Maven仓库登录nexus服务后,找到Setting-Repository-Repositories Cre

2022-01-12 10:58:53 2435

原创 android> GC overhead limit exceeded

android studio 报错 > GC overhead limit exceededjvm配置的内存过小导致长时间gc,可尝试从以下三方面去增加android可用的内存。1. 找到Android Studio安装目录Android\Android Studio\bin,修改studio64.exe.vmoptions和studio.exe.vmoptions;-Xms1024m-Xmx4096m2.编辑build.gradle文件,android节点下dexOptions

2021-02-03 17:01:22 207

原创 快速集成友盟Push,github创建可远程依赖的代码库

目的如题,本文就是为了解决集成友盟推送功能时工程繁琐,sdk更新不方便的问题,具体表现如下:1.集成困难,需要阅读大量的官方文档统计、推送、厂商推送,每个项目集成时,都需要查看阅读大量官方文档去集成,尤其是厂商推送,这样每次新项目集成时都需要花费很大的人力去干这件事;2. 集成后代码繁琐、臃肿 比如清单文件:由于友盟推送需要诸多权限,在manifest文件中又需要声明许多的权限、广播、服务等,再加上小米、华为、OPPO、VIVO、魅族这些厂商的适配,单只推送这一项功能,在manif..

2021-01-17 20:25:44 540

原创 使用OkHttp 下载文件无进度回调 踩坑

一、踩坑速记1. 未添加header指定服务器采用何种压缩方式导致下载进度异常描述:使用OkHttp3执行文件下载(服务端有nginx反向代理服务器进行压缩),获取回调中文件总大小为0或负值,导致显示下载进度异常。1.1 前端解决方案添加请求头addHeader("Accept-Encoding", "application/octet-stream")或者addHeader("Accept-Encoding", "*")即可;addHeader("Accept-Encoding",.

2020-10-29 01:17:35 2789 6

原创 run/debug app时报错:INSTALL_PARSE_FAILED_NO_CERTIFICATES

错误表现:run/debug时报错,错误关键信息:The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES,APK signature verification failed.截图如下:解决方法:不罗嗦,先直接上解决方案给大家节约时间,有兴趣的可以继续看下下面的分析。根据不同的原因,有以下几个方案:方案一,调低minsdk,可能是你的minSdkVersion设置的太高,调低minSd

2020-10-25 22:31:16 8935 4

原创 高德地图项目在模拟器运行时黑屏问题解决

项目在真机运行正常,但是在模拟器上运行时有黑屏现象。此种现象基本都是jni问题导致:1.未添加x86的so库;(大部分模拟器是x86的架构); 方案:补充添加so库2.将so库放到了libs里,但是未设置jniLibs的路径; 方案:build.gradle中添加sourceSets { main { jniLibs.srcDirs = ['libs'] }}3. 报错提示so文件太小(0bytes)10-13 16:17:2...

2020-10-13 16:45:48 2503 1

原创 解决android中View.performClick()触发无反映

post到主线程再调用(这是看网友解答的,对我无效): myview.post(new Runnable() { @Override public void run() { myview.performClick(); } }); post并加延时,postDelayed可以解决(这是...

2020-05-28 23:11:50 1103

原创 解决问题:resource IDS cannot be used in a switch statement in Android library

# 发现问题在抽取lib的时候发现了这样一个问题,如图所示:1. 很正常的onClick事件的处理,使用的swtich语句,但是却报了resource IDS cannot be used in a switch statement in Android library这个问题,原因是...2. android项目的library module里不能使用资源ID作为switch语句的c...

2019-07-11 20:11:21 3056

原创 WXApiImplV10.activityCb内存泄漏处理

集成了LeakCanary对APP进行内存泄漏监控后,发现有一个WXApiImplV10.activityCb这样的日志,是在登录页面发生的。产生的原因在发生此种问题的地方,你一定可以找到这样的代码,而且你对IWXAPI并不陌生。是的,这是微信的sdk。IWXAPI wxapi = WXAPIFactory.createWXAPI(this, Constants.APP_ID, ...

2019-06-22 15:30:48 454

原创 Android的原生APP如何调试嵌入的H5页面

前言现在原生app中混合web页面这种方式用的场景越来越多,app的原生代码很容易使用android studio进行debug调试,web页面在Chrome浏览器中F12打开开发者工具,也非常方便调试web页面。但是嵌入在app中的web页面如何调试代码呢?使用混合开发WebView调试必备神器DevTools。使用DevTools进行调试准备工作1.设置Webview调试模式可以在...

2019-06-22 15:29:54 9017

原创 一个Android动态权限的流式权限管理库EasyPermission,帮你申请动态权限

EasyPermissionREADME: 中文 | EnglishEasyPermission简介这个是一个方便Android中权限管理的库,它使得申请权限和业务代码逻辑简单分离,不去关心权限的申请和回调。源码地址:https://github.com/githubZYQ/easypermission初衷以前你是怎么管理Android的权限的?先判断有没有权限,再申请权限,最后on...

2019-06-07 10:36:08 3094 1

原创 Android开发:UncaughtExceptionHandler捕获全局异常

# 前言应用当前界面崩溃停留在上个页面,看不到崩溃日志?Android的logcat控制台,看不到应用崩溃的日志?如何拦截到未捕获的异常,并打印出来,帮助我们快速定位到代码问题呢?最近同事跟我反应说开发的应用run的时候发生了崩溃,但是在logcat中,只看到了应用重启的日志,类似下面这样的:# 寻找方案那么怎样查看错误日志,快速定位问题的原因呢?1,由于崩溃的概率...

2019-05-19 12:08:57 1171 1

原创 解决使用正则时报异常:Incorrectly nested parentheses in regexp pattern near index ...

     公司项目中有个需求是列表中匹配到和输入框中文字相同的部门变色,所以实现时使用了正则表达式匹配,使用SpannableString实现变色。String patten = "" + keyWord;Pattern p = Pattern.compile(patten);Matcher m = p.matcher(str);       需求实现了,测试也没啥问题,然后上线了,...

2018-08-06 16:35:25 3655 2

转载 收集Android开发常用开源框架:图片处理

1、图片加载,缓存,处理框架名称功能描述Android-Universal-Image-Loader">Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picasso一个强大的图片下载与缓存的库Fresco一个用于管理图像和他们使用的内存的库Glide一个图片加载和缓存的库,使用的App有:网易新闻Picasso-transformations一...

2018-03-12 20:59:35 2537

转载 整理:android开发中对图片的处理方式汇总

LruCache(Least Recently Used Cache) 全称最近最少使用算法,其主要思想是使用SoftReference(或者WeakReference),因为我们的缓存容量是有限的,它会面临一个问题:当有新的内容需要加入我们的缓存,但我们的缓存空闲的空间不足以放进新的内容时,我们就需要舍弃原有的部分内容从而腾出空间用来放新的内容。在LruCache 中,我们使用url做key,b...

2018-03-12 20:58:41 858

转载 反编译apk文件查看源码,反编译apk获取资源

之前做过反编译apk文件的,原本想的就是应该做下总结的,后来。。。不知道后来发生了什么,一定不是因为我懒了。总之,今天领导让我研究下一个口碑比较好的app,看下它某个功能怎么实现的,用的什么技术,又扒拉了半天才找好工具去查看,就觉得还是有必要做个总结的。废话少说,下面开始:        此次主要用到了三个工具,dex2jar,JD-GUI,apktool,其实还有一个windows下的批处理工具...

2018-03-07 17:00:09 10667 2

转载 eclispe问题:An error has occurred. See error log for more details. Graphic is disposed。

eclispe问题:An error has occurred. See error log for more details. Graphic is disposed。使用eclipse 开发安卓项目,莫名其妙的报错, An error has occurred. See error log for more details. Graphic is disposed。

2017-02-09 15:34:01 8082 1

原创 android开发百度地图黑屏闪退现象解决办法

昨天公司项目有邮件说客运站查询地理位置的时候,地图不能够展示,我安装测试了,发现不仅仅是不展示啊,黑屏,闪退,我擦,这还得了,赶紧解决。    于是拿代码去debug,发现,(⊙o⊙)…没问题啊,地图加载完好,并没有不展示和闪退、黑屏的bug,这是怎么回事呢???现在回想一下,debug没问题,打包的app有问题,那么首先想到的是百度地图api申请的密钥有问题,是用的本机的sha1值,

2016-04-20 09:39:12 9747 2

原创 正确的解决GridLayout在安卓4.0以下版本中兼容问题

GridLayout是安卓 4.0版本加入的,它可以用来取代TableLayout,同时提供了自由度较大且更加使用的排版功能,给开发者带来了福音。然后,到真正使用时,开发者却会遇到一个难题。  ---- 》使用Gridlayout时,会提示Gridlayout最低版本要求是Android API Level 14,也就是正式版的Android 4.0。解决这个问题有两种方案:1.  第

2015-06-27 17:28:22 4681

nexus最新-3.29.2-windows64版本 nexus-3.29-win64

快速搭建局域网私服仓库管理的不二之选,官网不好下载,下面给出地址可以自行前往:支持Bower Docker Git LFS Maven npm NuGet PyPI Ruby Gems Yum APT Conan R CPAN* Raw (Universal) p2 Helm ELPA* Go等等。 世界上第一个也是唯一的免费使用的通用工件存储库。官网地址:https://www.sonatype.com/nexus/repository-oss-download 下载后不会使用的可以私信我或者下方留言

2021-01-18

google插件-axure (1).rar

Chrome浏览RP的必装扩展插件axure RP 离线安装包,不用你再爬梯子去下载了。

2021-01-15

echarts中geoChina的数据,包括我国全国所有地级市的经纬度,已经基于上一版更新了几大重要城市的经纬度

echarts中geoChina的数据,包括我国全国所有地级市的经纬度。已经基于上一版更新了几大重要城市的经纬度。如果下载后发现有某个城市坐标不准确,可以私信我更新,然后重新上传。更新时间为2020年11月22日

2020-11-22

反编译apk使用的工具集合

反编译使用的工具dex2jar,jd-gui,apktool合集,里面包含dex2jar,jd-gui,apktool

2018-03-06

GridLayout使用Demo(兼容4.0以下版本)

GridLayout使用Demo(兼容4.0以下版本),可以在2.2,2.3上面使用Gridlayout的解决方案

2015-06-27

微信分享 的Demo

安卓微信分享得例子,自带Demo实例,小伙伴们可以学习下

2015-05-07

空空如也

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

TA关注的人

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