自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

简雨山舍

读诗书万卷,书尽天下情![email protected]

  • 博客(104)
  • 资源 (10)
  • 收藏
  • 关注

原创 GitHub上常用的Android第三方库 日常需要功能效果使用足够了 | 持续更新

StatusBarUtil:设置沉浸式效果的库,接入和使用都非常的方便。用于在Android App上设置状态栏样式的工具。它可以在API 19(KitKat 4.4)之上工作。PermissionGen:PermissionGen 可以轻松处理Android M中的权限。动态获取权限的库,使用非常方便。SmartRefreshLayout:下拉刷新、上拉加载、二级刷新、淘宝二楼、Refres...

2019-04-02 14:26:03 439

原创 Android 通过github创建Android库 给其他项目依赖引用 | 如何创建自己的第三方库

场景:通常我们会在Android开发过程中依赖很多第三方的库,现在自己想封装一个公共库也给别人用。问题:如何创建Android库,给别人依赖引用?解决方法:1.将自己的项目托管到github上。(如何托管到github网上文章很多,自行搜索)2.点击releases3.点击Draft a new release4.填写版本号,名称,描述信息5.点击Publish releas...

2019-04-02 11:57:01 1164

原创 获取Android应用签名证书的SHA1、MD5、SHA256值,亲测简单有效

1.使用CMD(命令行窗口),进入签名文件所在的目录 例如:你的签名文件在c盘的key文件夹里面 你可以输入命令cd C:\key回车,进入到key文件夹目录2.输入命令:keytool -list -v -keystore debug.keystore(debug.keystore)是签名文件的名称 例如:你的签名文件名称为:qianming.keystore ...

2018-09-04 11:26:38 8537 2

原创 接入腾讯TBS浏览器WebViewX5内核,内部页面重新定向加载异常,无法加载的问题处理方法

接入腾讯TBS浏览器WebViewX5内核,内部页面重新定向加载异常,无法加载的问题处理方法最近做一个项目,加载h5。第一次加载页面正常,h5做了一次重新定向,结果页面就显示不出来了。最后发现,是因为混淆的问题。代码不混淆就正常,混淆后就不正常了。下载了混淆策略放到自己的混淆策略里面,加载就正常了。...

2018-06-15 17:26:33 7006

原创 android接入微信登录授权提示{"errcode":40125,"errmsg":"invalid appsecret, view more at 。。。解决办法

android接入微信登录授权提示: {“errcode”:40125,”errmsg”:”invalid appsecret, view more at http:\/\/t.cn\/RAEkdVq, hints: [ req_id: iDticA0667th44 ]”}1.代码中设置的微信APPsecret和微信开放平台不一致,需要您自己对照微信开放平台和代码中的appsecret, 检...

2018-04-10 18:37:47 37491 10

原创 自定义View的时候,报错android.view.InflateException: Binary XML file line #0: Binary XML file line #0:

自定义View的时候,我们通常会继承View. 这时候需要将他的所有构造方法都导入进来,否则在引用的时候就会出现这样的错误。 : Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error解决方法:导入所有构造方法

2018-01-25 16:13:35 3642

原创  &#160都表示空格,但是使用有区别

都是空格,&nbsp是html中的空格的转义。而&#160是XSL中的空格的转义。(XSL是可扩展样式表语言的外语缩写,是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言。)“项目名称 ”, &#160 这样的空格,用String的 trim();方法是去不掉的! 因为 &#160 这些东西 trim();不当他们是空格!

2017-03-31 18:25:28 8066

原创 Android Studio修改工程项目编码,修正运行程序乱码问题

修改,工程,系统编码 进入android studion主界面 第一步,依次点击File>settings 第二步,找到Editer>File Encodings .设置图中红色框中的编码方式,项目之前是用什么编码写的就改成什么编码格式,如果不知道,一般不是GBK就是UTF-8. 第三步,找到build.gradle(Module app),打开此文件,在里面添加这段代码 compileO

2016-11-17 16:42:34 5445

原创 使用ImageLoader加载网络图片时,如何获取加载进度,如何设置进度条

使用ImageLoader加载网络图片的时候,我们有可能会需要显示一个进度条,这个其实非常容易实现,只需要调用这个方法进行设置即可:public void loadImage(String uri, ImageSize targetImageSize, DisplayImageOptions options,                    ImageLoadingListener

2016-06-07 18:11:11 5773

原创 viewPager+photoView实现网络图片加载左右滑动+手势缩放功能+滑动到下一页其他页面恢复默认大小

前面两篇文章,我们讲了自定义viewpager+photoView实现本地图片的加载和收缩缩放。实现本地相册功能。如果没有看的话可以先阅读以下,因为今天网络加载图片的功能,实在这个基础上做的修改,会基于之前的基础上讲解。1.  http://blog.csdn.net/beibaokongming/article/details/515592792.  http://blog.

2016-06-07 11:41:32 8978 2

原创 viewPager+photoView实现图片轮播和手势缩放功能,并且实现滑动到下一页后上一页缩放的图片会恢复到之前的默认状态(下)

在上篇文章中,https://blog.csdn.net/beibaokongming/article/details/51559279讲到了photoView和viewPager结合打造可以左右滑动的支持手势缩放的相册功能,但是还有一个问题没有解决,那就是当我们将当前页面的图片放大后,当我们滑动到下一页,然后滑回上一页之后,发现上一页的图片还是处于缩放的状态,而不是默认的状态,这不是我们想要的...

2016-06-04 10:57:18 4677 3

原创 viewPager+photoView实现图片轮播和手势缩放功能 支持手势缩放的imageView 如何实现相册左右滑动和手势缩放 如何让图片自适应控件大小 photoView如何使用(上)

很多朋友都可能遇到这这个问题,实现一个支持手势缩放的图片轮播功能。就像我们的手机相册一样。而且有时候还需要让图片拉伸自动充满全屏。 图片轮播我们自然而然,想到了viewPager+imageView来实现,但是想要实现手势缩放就遇到了很大的难度,imageView根本不支持缩放。 那么打造支持手势缩放的imageView那肯定就需要自定义了,网上...

2016-06-01 21:38:19 5652 1

转载 android中viewPager双层嵌套问题,子viewpager无法滑动和滑动父级viewpager后子viewpager不显示内容

android中viewPager双层嵌套问题,子viewpager无法滑动和滑动父级viewpager后子viewpager不显示内容1.解决滑动父级viewpager到第三页后,滑回第一页后,第一页的子viewpager不显示内容?解决办法:只需要给父级viewpager设置这个属性即可解决,viewPager.setOffscreenPageLimit(4);

2016-03-11 10:44:44 2189

原创 Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView 错误解决方案

场景:在使用BottomNavigationView 时报错Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView问题:如何解决BottomNavigationView 使用时的报错问题?解决方案:build.gradle文件添加如下配置android{....com...

2020-04-21 11:09:19 2433

原创 Android NestedScrollView嵌套RecyclerView(横向滑动) 滑动冲突解决方案

场景:页面布局采用NestedScrollView进行竖向滑动。内部嵌套了一个横向滑动的RecyclerView。问题:当横向滑动RecyclerView时,竖向滑动的NestedScrollView也会被滑动,互相干扰。无法正常正常滑动。该如何解决滑动冲突?解决方案:第一步:重写NestedScrollView,判断当滑动事件在X轴移动时,不消费事件,交由子RecyclerView进行...

2019-12-26 16:41:03 4760

原创 Android客户端RSA解密部分乱码的问题解决方案

场景:后端通过RSA加密数据后,给Android进行解密问题:Android解密后出现乱码解决方案:1.编码问题,统一编码为UTF-82.解密的Cipher类时Android端要使用Cipher.getInstance(“RSA/ECB/PKCS1Padding”)后端使用Cipher.getInstance(“RSA”);...

2019-12-09 18:24:50 687

原创 Android 颜色透明度设置方法

场景:给设计的字体添加一个透明度问题:如何给颜色设置透明度?解决方案:00% :FF(不透明) 5% : F2 10% :E5 15% :D8 20% :CC 25% :BF 30% :B2 35% :A5 40% :99 45% :8c 50% :7F 55% :72 60% :66 ...

2019-12-02 13:57:52 1279

原创 断点续传是否需要分段下载文件?一个安装包分成几段比较好?是否需要维护一个下载队列?

场景:产品需要做一个断点续传功能问题:1、 断点续传是需要分段下载文件的,那一个安装包文件分成几段比较好2、当中断下载的时候下载到一半的“段”如何处理3、是否需要维护一个任务队列下载文件解决方案:详见文章:断点续传https://www.jianshu.com/p/2b82db0a5181断点续传可以不分段,也可以分段,分段其实是为了多线程并行下载,那肯定就需要任务队列了。具体...

2019-11-22 11:51:57 417

转载 Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析

Android Bug分析系列:第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析前言前些天,测试MM发现了一个比较奇怪的bug。具体表现是:1、将app包通过电脑QQ传送到手机QQ上面,点击安装,安装后选择打开app (此间的应用逻辑应该是要触发 【闪屏页Activity】, 然后跳转 【主页Activity】)2、然后MM在 【主页Act...

2019-10-28 10:56:16 226

原创 Android项目里面把一些源码文件放入项目目的是什么

场景:Android项目里面把一些安卓源码文件放入项目(保持包名和源码文件一致)问题:这样做的目的是什么,如果这样做,那么apk运行时,系统中不就有两份同样的源码文件了吗?解决方案:可以看看VirtualAPK项目,里面就用到了这种技术。这样做主要是针对在 app 中无法直接调用 Android Framework 中很多隐藏的 API 而创造的一系列 stub 类用来欺骗编译器,从而...

2019-10-21 16:45:50 336

原创 Android 一个App作为入口,其他App都集成到这个App按需求加载解决方案

场景:做一个平台化的app,把公司现有的所有app的入口都放在这个平台里面,按照权限加载这些模块。问题:如何实现 一个App作为入口,其他App都集成到这个App按需求加载?解决方案:1.通过插件化技术把其它APP加载起来。2:通过模块化(组件化)技术来做,做一个APP,其它app是一个aar,然后所有的aar共同集成为一个APP,再根据权限加载就可以了。...

2019-10-18 11:19:48 1526 1

原创 开发SDK中包含第三方库,发布aar库时怎么处理引用的第三方库?

场景:开发一个sdk,sdk引用了第三方库。问题:我们发布自己的aar时,这些库怎样处理?解决方案:aar会依赖这些第三方库,无需做特殊处理。

2019-10-16 19:02:57 1373

原创 团队用gitlab都是怎么协作的?

问题:请问大家团队用gitlab都是怎么协作的?是每个人一个分支?还是团队共用开发分支,然后合并到master?感觉这样和直接用master没啥区别啊。合并者工作量是不是貌似很大?解决方案:一般会有至少3个分支:master、develop、feature-xxxmaster:稳定分支,用于发布版本develop:开发分支,每次需求迭代都在这个分支,所有人共用同一分支,需求开发测试完毕后...

2019-09-04 16:38:15 717

原创 Android 高德地图 实时动态控制显示定位小蓝点解决方案

场景:在地图页面,根据不同的场景动态控制是否显示定位小蓝点。问题:Android 高德地图 动态控制显示定位小蓝点解决方案:我们发现高德地图提供了响应的api来控制是否显示定位小蓝点。但是按照提供的方法设置完成之后,并不能实现实时动态控制是否显示小蓝点的效果。是否显示定位蓝点控制是否显示定位蓝点Java//方法自5.1.0版本后支持MyLocationStyle showMyL...

2019-08-27 16:40:16 4164

原创 Android 兼容大部分机型判断是否有虚拟按键的方法

场景:布局根据是否有虚拟导航键进行适配显示问题:如何判断Android 设置带有虚拟按键?解决方案:方法一,直接判断设置是否有虚拟按键,但是有些设备返回的结果存在问题。方法二,通过判断设备是否有菜单键来判断,比如返回键。这样得到的结果更加准确。通过两者的结合,基本可以兼容所有机型。方法一:直接判断是否有虚拟按键 public static boolean checkNavig...

2019-08-26 16:52:07 1156

原创 Android 接入微信登录流程图 详细完整交互流程图

这里只提供微信接入流程图,其他的细节可参考官方文档或demo这里有一个官方参考资料:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317851&token=&lang=zh_CN...

2019-08-20 17:04:13 3918

原创 Android 如何检测自己的App有没有被授予需要的权限

场景:App需要定位权限,或者读取文件权限,申请了权限,但用户拒绝了,当做对应操作的时候要检测一下有没有该权限,没有就弹出提示窗,让用户去设置问题:如何检测有没有对应的权限解决方案://使用该方法,检测是否被授予了对应的权限//checkSelfPermission方法中//第一个参数是Context//第二个参数是你清单文件里面配置的需要的权限方法的返回结果PackageM...

2019-08-14 14:24:54 8674

原创 AndroidStudio项目一片报红,但是可以正常编译,运行没有错误的解决方案

场景:打开AndroidStudio后发现项目一片红,资源文件都点击不进去,很是可怕。试着运行了一下,结果成功编译通过,没有任何错误。但是代码还是一片红。问题:怎样解决AndroidStudio项目一片飘红,但是又没有错误的问题?解决方案:清理缓存即可!依次操作File-> Invalidate Caches/Restart -> Invalidate and Restar...

2019-08-12 17:51:27 9421 9

原创 如何实现一个应用安装后,在手机桌面不显示,并可以通过其它入口启动该应用?

场景:一个应用安装后,不出现在桌面,但是可以通过其他App上的入口启动。比如,你们公司有一个A应用,里面包含了多个App的入口,点击后可以启动其他App。但是桌面上又不显示其他App。问题:如何实现一个应用安装后,在手机桌面不显示,并可以通过其它入口启动该应用?解决方案:只要这个应用没有launcher,那么他就没法出现在桌面上。去掉清单文件中这行:<category and...

2019-08-12 17:08:27 3806

原创 Android 高德地图在一个点添加扩散的水波纹效果解决方案

场景:需要在地图定位点添加一个向外扩散的水波纹效果。如图问题:如何实现在一个点添加一个向外扩散的动画?实现方案:解决思路:首先看下高德地图的demo,该demo展示了在3D地图上如何实现定位圈向外扩展的动画效果。但是无法实现图上的效果。https://lbs.amap.com/dev/demo/location-circle#Android我们的思路是,添加多个圆,然后间隔执行扩散...

2019-07-25 13:46:30 2317 3

原创 Bugly Tinker热修复 后台显示补丁下发成功 并且已激活,但是没有生效的问题解决方案

场景:对于加固包通过tinker进行热更新,补丁显示下发生成,并且已经激活,但是补丁实际上没有生效。问题:是什么原因导致的补丁不能生效?解决方案:通过各种原因的排查,最终锁定在混淆问题上。因为混淆规则不正确,或者没有添加tinker的混淆规则。导致代码混淆后出现异常找不到文件。混淆规则配置如下规则-dontwarn com.tencent.bugly.**-keep public c...

2019-07-04 17:39:35 2816 2

原创 Android Studio warning variantOutput.getProcessResources() 无法实现tinker热修复问题解决

场景:1.每次编译都会出现警告API过时WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.It will be removed at the end of 2019.Fo...

2019-07-04 09:56:03 1068

原创 Android 广告图片 全屏图片适配方案的思路

场景:在启动页加载一个全屏广告图片,要适配不同的机型。问题:如何适配不同的机型?解决方法:不要做满屏的图片,最好图片内容居中,周围留上纯色,就可以适配所有屏幕。可以参考淘宝、京东等。...

2019-07-02 09:56:26 2056 2

原创 Android 百度地图封装为aar包引用,缺失assets文件导致int android.graphics.Bitmap.getWidth()解决方案

场景:将百度地图封装成一个lib库,给应用引用。问题:引用时报错 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference at com.baidu.mapapi.ma...

2019-05-31 14:19:30 2208 1

原创 Glide加载gif动画只播放一次的方法 Glide加载gif动画先显示最后一帧再开始播放动画导致闪屏的解决方案

场景:Android App利用ViewPager制作引导页,然后利用Glide加载gif动画。问题:1.Glide加载gif动画如何只播放一次?2.Glide加载gif动画,在viewPager切换的时候,总是先显示最后一帧,才开始播放动画,导致闪屏看着很不舒服,该如何解决?解决方案:1.Glide加载gif动画只播放一次的解决方案:只需要给Glide设置.listener方法,然后...

2019-05-29 16:25:51 6495

转载 你认为插件化可以完全替代组建化么?

场景:今天同事说可以,还跟我说淘宝全是插件化,每个模块都是可以动态加载的,我感觉不对,一时又说不清楚。问题:你认为插件化可以完全替代组建化么?解决方案:不是一个东西,不能相互替代。不是的,淘宝是插件是编译期的,本质还是组件化。告诉你同事,搞清楚再说。...

2019-05-27 10:43:10 226

原创 使用Glide时 错误: 找不到符号 符号: 类 GlideApp解决方案

场景:编译时提示找不到符号 符号: 类 GlideApp问题:如何解决找不到类 GlideApp的问题?解决方案:1.使用了BuffterKnife注解框架,但是在注解时,你使用了私有权限修饰符private。所有注解必须使用public修饰。2.其他地放有问题,导致注解没有生成 类 GlideApp。...

2019-05-24 15:29:59 3114 1

原创 Android 一篇文章轻松搞懂什么是Callback回调

很多人刚接触Callback回调时应该是很懵的。今天通过这篇文章,让你轻松了解什么是Callback回调。回调:简单的来说,就是把你自己包含了电话、QQ、微信的通讯簿交给别人,别人就持有了你的通讯簿。当别人有你需要知道的事情的时候,通过相应的渠道电话、QQ或微信告诉你。这就是回调。回调的步骤只需4步:1.定义一个接口类,定义需要的方法。2.声明一个接口类对象,提供一个设置类对象的方法。...

2019-05-13 16:06:17 2894

原创 Android 视频播放器在非wifi环境下提示用户将消耗多少流量实现方式

场景:我们经常在非WIFI环境下打开视频,会提示该视频将消耗多少流量。问题:Android 如何实现计算播放视频消耗的流量?解决方法:1、客户端计算,需要获取到时长信息和码率信息。流量表示单位时间内收发的数据包的数量。公式:流量(kb)= 观看音/视频时长(s)*当前音/视频码率(kbps)/82、比如一个10分钟时长的视频。不同分辨率下的视频流量如下:200p码流:假设编码对...

2019-05-05 10:06:29 2268

转载 android 跳转到系统设置界面的所有Intent

android 跳转到系统设置界面的所有IntentIntent 的 意图: Intent intent = new Inetnt(Setings);Setings: 1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面 Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_S...

2019-04-26 16:37:49 634

Android自定义半圆进度条

android自定义半圆进度条,可以自己根据里面备注的参数,调整半圆的长度。这里是使用说明:http://blog.csdn.net/beibaokongming/article/details/79002646

2018-01-08

自定义seekbar带气泡文字提示BubbleSeekBar 在android7.0系统可以正常使用

自定义seekbar带气泡文字提示BubbleSeekBar,在android7.0系统可以正常使用

2017-04-24

安卓启动引导页 轮播图 很酷炫

很酷的安卓启动引导页,可以直接导入项目使用,添加页面方便,只需要创建fragment即可

2016-10-31

listView嵌套listViewDemo

listView嵌套listViewDemo,解决了listView嵌套listView后,子ListView不能显示全部内容的问题,通过自定义Listview解决

2016-09-01

安卓自动升级Demo工具类超级简单,只需两步轻松完成自动升级功能

只需简单两步,帮你轻松实现安卓自动升级功能。

2016-08-20

xutils-3.0jar包(附导入eclipse方法)

xutils-3.0jar包(附导入eclipse方法)

2016-06-24

imageLoader的jar包

imageLoader的jar包

2016-06-07

photoView和viewPager的完美结合实现相册功能,支持收缩缩放,滑动到下一页上一页恢复默认大小

photoView和viewPager的完美结合实现相册功能,支持收缩缩放,滑动到下一页上一页恢复默认大小

2016-06-04

photoView和viewPager的完美结合实现相册功能,支持收缩缩放,滑动到下一页,上一页恢复默认大小

photoView和viewPager的完美结合实现相册功能,支持收缩缩放,滑动到下一页,上一页恢复默认大小

2016-06-04

photoView的jar包eclipse使用,支持图片手势缩放的imageView

photoView的jar包eclipse使用,支持图片手势缩放的imageView,和viewPager完美兼容,不冲突

2016-06-03

空空如也

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

TA关注的人

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