自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gengbaolong的博客

每天进步一点点

  • 博客(159)
  • 资源 (12)
  • 收藏
  • 关注

原创 C:\Users\31073\.gradle\caches\transforms-2\files-2.1\

某次版本迭代,需要升级某一sdk由GDTSDK.unionNoPlugin.4.251.1121.aar升级到GDTSDK.unionNormal.4.310.1180.aar然后,编译,运行正常!!!快下班时,合并代码,合并之后 在我这边就报错了,编译都通不过。。。clean 删除build文件夹 重启studio 重启电脑等等,完全不行》》》1、C:\Users\31073\.gradle\caches\transforms-2\files-2.1\86...

2020-12-24 10:12:30 274

原创 android屏蔽按钮连续点击

android开发中,免不了会有很多按钮的点击,为防止用户故意为之,连续不停的点击按钮,造成短时间内不必要的请求过多,或者 出现多个跳转页面的问题,客户端需要对点击动作 做屏蔽处理,即屏蔽短时间内连续点击。(当然,这样也只是尽可能减少上述问题的出现,手速够快的情况下,还是会出现)正确代码:abstract class OnMultiClickListener(private val interval: Long = MULTI_CLICK_INTERVAL): View.OnClickLis.

2020-12-16 10:20:49 44

原创 TabLayout切换页面

TabLayout+ViewPager+Fragment 实现多页面切换是一个挺常见的功能。尤其是在资讯类app中,如今日头条。这里记录一下项目中使用上述三个配合所实现的特定需求。效果图如下:描述下需求:1、页面A,页面B。2、页面A中有页面B的入口,即从A中点击某个item跳转到B页面。3、B页面是由TabLayout + ViewPager + Fragment实现的。4、B页面:默认一屏显示6个tab,对应也就是6个页面。5、通常情况下,我们的数据是15..

2020-11-30 17:41:44 30

原创 android全局异常捕获

某此版本迭代时,产品提出了这么一个需求点,全局捕获异常,然后重启app。前提:项目中集成了bugly异常统计,可以看到上报的异常信息,以及每天的崩溃率。有助于bug的统计以及分析解决。但是,用户的使用场景千奇百怪,还是可能出现有app崩掉的可能,基于此产品提出了全局捕获异常的需求点。全局捕获异常的处理网上有很多,这里就记录一下自己的实现。class GlobalExceptionHandler private constructor(): Thread.UncaughtExceptionH

2020-11-25 14:35:47 82 1

原创 记一个线上事故点

某次版本迭代,任务多,开发工期短。在处理小组件时,有这样一个需求,可以设置小组件皮肤,调整透明度。然后问题就出现在这里,在清单文件中同时给小组件页面设置了透明主题 和 方向属性。上线之前,测试也正常。上线之后,立马就有异常信息上报。一看,是小组件引起的崩溃,但是这个异常只在8.0.0系统上出现。Only fullscreen activities can request orientation切记切记,不要同时设置页面 透明 和 方向,在8.0.0上会引起异常。...

2020-11-13 09:56:11 12

原创 dex2jar反编译apk报错

使用工具dex2jar反编译apk。记得之前一直用的好好的,突然有一天,发现无法正常使用了,反编译报错!!!报错信息:Detail Error Information in File .\classes-error.zipPlease report this file to http://code.google.com/p/dex2jar/issues/entry if possible.截图如下既然提示有报错日志,那就解压看看。打开classes-error.z..

2020-10-10 12:00:22 121

原创 fidder映射

调试后台接口时通常会用到fidder抓包。有时候需要测试不同状态下,客户端的显示情况。这时可能只需要改某一个字段的值,那么简单粗暴的方式是改客户端代码,写死数据,再测试。如果状态太多,这样显然不太好,需要不停的改变代码,编译,运行。。。还有就是,客户端写死数据后,可能一时大意,忘记改回来了,这就要出大问题了!!!那么就通过fidder映射的方式来实现吧具体就是将某一个接口的返回值保存在本地,通过设置,将此接口映射到本地文件,这样,通过修改本地文件就可以实现不同状态的测试了。.

2020-09-30 17:51:24 20

原创 常驻通知栏去除声音或震动

应用启动后显示常驻通知栏。声音 和 震动这块设置都是默认的,也可以说就没有重新设置这块。默认就是常驻通知栏显示时是震动,是响铃,还是静音,都是跟系统设置来的。这样运行了一段时间,没有太大问题。忽然有一天,有用户留言说自己的手机打开我们的应用后一直在响。很快确定到,这个就是常驻通知栏刷新的问题。常驻通知栏中构造Notification的时候,默认了一些设置。这在大部分手机上正常,不会有明显的问题,如xiao mi 6, honor 10,oppo A5等。而在某些手机上会出现问题,比如M1816。

2020-09-28 11:28:48 102

原创 自定义实现带刻度的圆弧

今天实现了一个自定义View效果图:绘制过程用到:绘制圆弧,绘制圆弧外文字,绘制图片等。

2020-09-27 16:01:56 51 2

原创 彻底解决Android 8.0启动服务问题

使用服务首先想到的就是Service,然后在8.0上做兼容处理。按理说做完以上可以正常功能,没问题,但是因需求原因,发现还是会出现异常: android.app.RemoteServiceException Context.startForegroundService() did not then call Service.startForeground()android.app.ActivityThread$H.handleMessage(ActivityThread.java:220

2020-08-14 18:05:40 494

原创 语音播报

实现一段文字转为语音,并播放出来。也就是语音播报。这个功能使用了讯飞语音的在线合成功能完成。使用很简单,照着文档来就可以了。这里主要记录一下特殊点。1、mTts!!.startSpeaking(voiceContent, mTtsListener)这个api指的是合成并立即播放。如果想要先合成保存到本地,在合适的时机再播放出来。这个需求无法直接调用讯飞的api来实现,因为讯飞没有提供。只是提供了合成音频文件的api ——synthesizeToUri也就是这种情况只能.

2020-08-06 18:11:34 83

原创 帧动画实现播放效果

帧动画如何实现,往上一搜一堆,不再赘述。这里记录下实现的一个需求。播放卫星云图,所谓云图,就是很多张图片连起来。所以播放的效果就是帧动画的效果。那么首先想到的实现方式就是帧动画-----AnimationDrawable。也确实是这样,用帧动画实现此效果很简单,就是常规的实现方式。主要实现如下:private fun loadFrameImages() { for (pos in mImageList.indices) { loadIma..

2020-08-06 17:53:19 117

原创 Eventbus发送消息

在启动一个页面时,同时给这个页面发送消息,结果收不到。if (mSourceFrom != null && mSourceFrom == SourceFrom.FROM_SPLASH) { MainActivity.startMainActivity(this@ChooseProvinceActivity) EventBus.getDefault().po...

2020-07-26 17:00:49 64

原创 使用VectorDrawableCompat.create报错

项目中使用了SVG代替PNG,线上出现了如下异常:android.content.res.Resources$NotFoundException: File res/drawable-xxhdpi-v4/ic_icon_air.png from xml type xml resource ID #0x7f07006c...

2020-07-26 16:58:34 82

原创 定时任务之定时刷新常驻通知栏

项目开发中的需求:常驻通知栏所用数据来源于后端接口,有时效性,需要定时刷新数据。常驻通知栏定时刷新:需求是【6:10,7:10,8:10,9:10,10:10,11:10,12:10,13:10,14:10,15:10,16:10,17:10,18:10,19:10,20:10,21:10,22:10,00:10】这些时间节点主动刷新。这就涉及到android中的定时任务!这里我采用AlarmManager来实现这个需求。思路: 1) app启动进入首页时启动定时服务Ala...

2020-07-01 10:23:30 172

原创 android常驻通知栏点击事件

android实现了常驻通知栏的显示后,需要处理点击事件。点击后进入首页。1、发现无法收到广播1)静态注册2)点击响应代码如下 /** * 说明:通知栏点击事件 * 作者:耿保龙 * 添加时间:2020/6/28 17:11 * 修改人:耿保龙 * 修改时间:2020/6/28 17:11 */ private fun getNotificationPendingIntent(context: Context): P.

2020-06-29 10:52:48 510

原创 android实现常驻通知栏

实现常驻通知栏时遇到的问题:无论如何就是不显示通知,查看日志发现貌似报错了:2020-06-28 14:11:34.923 6387-6387/jinbin.weather E/CrashReport: android.app.RemoteServiceException: Bad notification posted from package jinbin.weather: Couldn't inflate contentViewsandroid.view.InflateException:

2020-06-28 14:43:47 1173

原创 Unable to destroy activity:android.content.res.Resources$NotFoundException: Resource ID #0x7f0c000a

android studio运行项目报错,信息如下:04-17 11:16:11.756 800-800/xxx E/CrashReport: java.lang.RuntimeException: Unable to destroy activity {xxx.home.HomePageActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f0c000a at android.ap.

2020-06-23 09:40:39 145

原创 android改变图标颜色

同一个图标,但是可能会有多种背景颜色。比如,标识空气质量的图标,因空气质量有多种情形,对应的图标就有多种背景颜色。实现这种需求有两种方式: 1、针对每一种情形,切一张对应的图标。 2、只切一张图标,根据条件改变图标颜色。第一种方式就很简单,直接根据条件设置对应的图标就好 —— imageView.setImageResource(iconRes)这里着重介绍一下第二种实现方式。 源图标 1、通过set...

2020-05-13 13:42:51 299

原创 android sqlite数据库

开发中用到了sqlite数据库对数据库进行了一些增删改操作之后,在查看数据库的时候发现,会同时生成三个文件,如下所示其中,wal 和 shm,这两个文件是暂存一些原子操作记录的,在适当的时候会回滚写回到db文件中。有时候你更新了一些记录,db文件不会改变,只会修改WAL和SHM文件的内容,可以理解为:操作数据库后数据先缓存到shm 和 wal中,当wal缓存达到一定数量再写入db。shm相当于是桥梁。故shm 和 wal 是可以删除的。如上截图,上次更新数据库是在2020-05...

2020-05-12 20:41:48 140

原创 2020-04-30

viewpager动态删除添加以及懒加载的处理TODO 节后完善

2020-04-30 23:57:24 52

原创 json解析-将json字符串转为List集合

背景:本地放置了一个json文件,读取改文件为json字符串数据,然后将字符串转为List集合。转为List集合时报错:source[0] of type com.google.gson.internal.LinkedTreeMap cannot be stored in destination array of type代码如下://从本地json读取城市数据到数据库Str...

2020-03-31 12:00:39 833

原创 Cannot choose between the following configurations of project

android studio编译项目报错:ERROR: Cannot choose between the following configurations of project :dragsloplayout: - debugApiElements - debugRuntimeElements - releaseApiElements - releaseRuntimeEle...

2020-03-15 10:47:06 143

原创 Android gradle版本号 与 gradle插件版本号

Android Studio中:正确区分gradle版本号和 gradle插件版本号。1、gradle文件 ——> gradle-wrapper.properties中指的是gradle版本号2、build.gradle文件classpath 'com.android.tools.build:gradle:3.1.2'指的是gradle插件版本号。但是,...

2020-03-07 22:51:51 204

原创 Could not resolve all files for configuration ':app:apt'

运行项目报错:FAILURE: Build failed with an exception.* What went wrong:A problem occurred configuring project ':app'.> Could not resolve all files for configuration ':app:apt'. > Could not r...

2020-03-07 20:18:40 2207 2

原创 No service of type Factory<LoggingManagerInternal> available in ProjectScopeServices

项目中有用到github中maven上的库,项目编译时报错:No service of type Factory<LoggingManagerInternal> available in ProjectScopeServices.截图如下:首先,确保classpath对应的是android-maven-gradle-plugin,而不是...

2020-03-07 17:44:22 65

原创 Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated

运行项目报错:Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=_360Debug, filters=[]}} of type com.android.build.gradle.internal....

2020-03-07 14:36:50 122

原创 Can't process attribute android:fillColor="@color/defaultTextColor": ...

运行一个android项目,报错:Can't process attribute android:fillColor="@color/defaultTextColor": references to other resources are not supported by build-time PNG generation.解决:在app的build.gradle中配置:...

2020-03-02 23:45:28 116

原创 项目报错:Fragment not attached to a context.

近日,发现项目报错如下:java.lang.IllegalStateException: Fragment FortuneFragment{179d1cbc} not attached to a context. at android.support.v4.app.Fragment.requireContext(Fragment.java:696)测试的时候没有测出这个问题,所以也就没想到...

2020-01-14 15:42:56 4920

原创 AutoDispose使用报错-Lifecycles can only be bound to on the main thread!

报错如下:Lifecycles can only be bound to on the main thread!使用场景:客户端本来使用封装好的Rxjava,用的好好的。但是现在客户端实现了一个弹框,该弹框涉及到接口请求,使用的还是封装好的网络请求。然后h5页面调起该弹框,这时候在弹框中发起请求的时候就报错了!如上所示!封装的请求: @JvmStatic ...

2019-12-18 12:15:15 945

原创 AutoDispose实现RxJava自动解绑时报错

项目中使用到RxJava,为避免可能因使用不当而出现内存泄漏的问题,使用了AutoDispose来优雅的实现RxJava自动解绑。AutoDispose是uber的一个开源库。//kotlinobservable.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) ...

2019-12-18 11:23:38 147

原创 由targetSdkVersion引发的血案

首先,说下android studio的 build.gradle中几个sdkVersion的概念:1.compileSdkVersion表示当前项目的编译版本,即让Android Studio以什么SDK版本去编译项目。2.buildToolsVersion表示构建工具的SDK版本,也就是Android Studio中设置的Andriod SDK版本。buildToolsVer...

2019-12-13 14:53:39 65

原创 Umeng统计-上报事件

项目中集成了友盟统计,在很多地方需要添加埋点,最终上报到友盟统计。产品定义的事件名称如下:客户端上报代码: StatisticsUmeng.onUmengEvent("黄历页面"); /** * 说明:统计事件 * 作者:gengbl * 添加时间:2019/11/11 20:18 * 修改人:gengbl *...

2019-11-12 18:18:40 325

原创 Umeng统计

在项目中集成友盟统计,本来以为挺简单的,结果刚接入就遇到问题了。在Application中进行了初始化 //友盟 StatisticsUmeng.init(this.getApplicationContext(), mChannel, AccountConfig.UMENG_APP_KEY);同时,定义了以下两个方法: public static void onResume(...

2019-11-12 12:01:06 254

原创 android studio报错:No IDEA annotations attached to the JDK 1.8

真是郁闷,android studio莫名其妙的又报错了,抽风啊解决:关闭android studio1)C:\Users\Administrator\.android路径下build-cache文件夹重命名为build-cache.bak2)C:\Users\Administrator\.AndroidStudio3.4\system路径下 ...

2019-11-09 13:23:40 141

原创 RecyclerView显示不全

项目中遇到RecyclerView嵌套显示不全的问题。但是,在Android6.0以下,ScrollView嵌套RecyclerView并不会出现显示不全的问题,在Android6.0及以上版本使用这种布局嵌套就会出现RecyclerView显示不全的问题,解决方法很简单,只需要在RecyclerView的外面套上一层RelativeLayout即可。...

2019-11-05 16:18:21 41

原创 引入Glide报错:Program type already present: com.bumptech.glide.integration.okhttp.BuildConfig

引入Glide框架,编译报错“Program type already present: com.bumptech.glide.integration.okhttp.BuildConfig”意思是依赖冲突!!!原因如下:查看依赖树:gradlewapp:dependencies可以看到,是因为引入的一个三方库里面有用到okht...

2019-11-05 12:46:43 2112

原创 Retrofit封装-json解析

项目开发中,遇到了json解析的问题。我封装的网络请求是基于Retrofit2 + Rxjava2的,其中获取Retrofit实例的方式如下://retrofit实例(单例写法)private val mRetrofitInstance: Retrofit.Builder by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { Retrofit...

2019-10-24 20:23:55 217

原创 android-微信sdk

项目中有使用到微信登录,需要用到微信的sdk。引入依赖:api 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'‘+’号是指一直用最新的版本,但是偶尔会出现拉取不成功的情况。那就指明版本好了,怎么看版本信息呢?可以通过下面的链接wechat-sdk打开可以看到历史版本最终改为:api 'com.tenc...

2019-10-15 09:38:25 160

原创 android studio中配置代码检查-CheckStyle

为了规范编码,使用到了CheckStyle。CheckStyle的主要功能就是实时检测,代码的规范(Code Style)是否符合我们规定的一个模板,如代码和括号之间没有空格,类中导入的包没有使用等,当发现这些不符合这些规范时,它就报一个警告或者错误等提示,导致编译不通过。CheckStyle检验的主要内容Javadoc注释 命名约定 标题 Import语句 体积大小 ...

2019-10-14 10:50:55 371 2

android修改头像

从本地相册选择图片裁剪,或者拍照后裁剪,实现修改头像功能。做了兼容性处理。详细效果:https://blog.csdn.net/gengbaolong/article/details/84668216。

2019-02-15

Junit和JUnitGenerator

Intellij idea中用于单元测试的junit.jar 和 JUnitGenerator.jar。如何在Intellij中使用单元测试,请看https://blog.csdn.net/gengbaolong/article/details/80032099。

2018-04-21

可扩展RecyclerView

项目中的一个小需求,RecyclerView的条目可以点击展开,显示一些详细信息。效果可以参考:http://blog.csdn.net/gengbaolong/article/details/79594489。下载之前请看效果是否符合自己需要。

2018-03-17

android截屏分享

在项目中用到了截屏分享功能,现在把这一块功能单独摘出来。具体效果可以参考:http://blog.csdn.net/gengbaolong/article/details/79259520。

2018-02-05

android rtmp直播客户端

rtmp直播客户端,实现了采集数据,推流到流媒体服务端,拉流播放,播放使用的是Vitamio。搭建rtmp流媒体服务详细步骤可以看:http://blog.csdn.net/gengbaolong/article/details/77620408。

2017-10-25

自定义日历控件

android自定义日历控件,可以上下收缩展开,左右滑动,支持日程安排显示。效果可以看:http://blog.csdn.net/gengbaolong/article/details/78337778。

2017-10-25

JPush服务端工具类

极光推送时,我们自己的后台推送消息时调用的方法。可配合http://blog.csdn.net/gengbaolong/article/details/77198565查看。

2017-08-16

android端JPush接收者

为接收JPush推送的消息,android客户端重写广播接收者,在里面处理自己的业务逻辑。可配合http://blog.csdn.net/gengbaolong/article/details/77198565查看。

2017-08-15

JPush推送工具类

极光推送时,我们自己的后台推送消息时调用的方法。可配合http://blog.csdn.net/gengbaolong/article/details/77198565查看。

2017-08-15

时间轴效果(java)

项目中用到类似时间轴的效果,所以使用自定义View实现。

2017-07-11

ItemBarView

项目中有用到柱状图效果,就是简单的显示,竖线右边是正值,竖线左边是负值。

2017-07-10

获取应用的sha1值

用于获取apk使用的sha1值

2017-06-20

空空如也

空空如也

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

TA关注的人 TA的粉丝

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