自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liangfeng093的博客

向着自由奔跑,直到天荒地老。

  • 博客(76)
  • 收藏
  • 关注

转载 Android 开发RxJava 详解

写在前面:感谢抛物线写出了这篇经典的Rxjava入门的文章这里是原文链接1. 概念:扩展的观察者模式RxJava 的异步实现,是通过一种扩展的观察者模式来实现的。观察者模式先简述一下观察者模式,已经熟悉的可以跳过这一段。观察者模式面向的需求是:A 对象(观察者)对 B 对象(被观察者)的某种变化高度敏感,需要在 B 变化的一瞬间做出反应。举个例子

2017-03-31 18:30:10 337

原创 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Base64

java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Base64前言后台提供的加密策略中要求对参数进行Base64编码。于是我使用java包中的Base64类进行操作。没有问题。  但是,当我换一部手机进行测试的时候。报了如标题所示的错误。而且java包下的Base64对版本有要求  我在Stack Overf...

2018-12-23 14:42:13 11847 2

原创 将现有git管理的项目上传到新的远程仓库

将现有git管理的项目上传到新的远程仓库前言由于之前公司的git管理工具一直没有部署好,但是项目需要持续推进。于是我在码云上线建了一个私有的仓库来管理代码。  公司的gitlab部署好之后,我手上的项目已经推进了一段时间。已经有不少commit了,这些commit也是很重要的信息。不能只把代码push到公司的git,而没有commit。1.查看git远程仓库连接git remote ...

2018-12-22 21:17:24 1664 1

原创 RecyclerView悬浮效果——StickyHeaderDecoration

RecyclerView悬浮效果——StickyHeaderDecoration 前言悬浮效果之前也做过,但是呢做的很蹩脚。完全是找个博客,把代码一股脑粘到项目里面去。做出来的效果也很丑,有心优化一下。却发现无从下手,因为对原理一点也不懂。  这次闲来无事,找到两篇写的比较好的博客(文末会贴出链接)。把原理完全弄懂了,在这里记录一下。##1.ItemDecoration关于Ite...

2018-12-14 17:59:52 1468

原创 android热更新

#android热更新方案选型##0.主流的热更新解决方案Thinker(微信)HotFix(阿里云)##1.什么是热修复?  ##2.厂商解决方案之间的差异从左到右依次是:微信、QQ控件、淘宝、美团的热更新的解决方案   从上图中可以看出微信和阿里云的热更新方案功能是最全面的。  如果从产品迭代的角度来进行选型,那么毫无疑问使用微信的Thinker(免费)和阿里云的H...

2018-12-14 15:47:49 7892

原创 云服务器搭建gitblit

#云服务器搭建gitblit##前言最近公司新立了一个项目。但是,是一个甲方的项目。甲方要求代码放在他们的服务器上,但是我们用的是git进行管理,而甲方用的是SVN。于是我被分配了搭建git的任务。  首选当然是谷歌旗下的gitlab啦,但是我一看他的文档。推荐内存4g,我就不想用了。  又谷歌了一下,发现了gitblit。这是一个纯java写的框架,可以对git的使用者进行权限管理。...

2018-12-14 15:42:13 1493

转载 Android文字基线(Baseline)算法

原文链接:https://blog.csdn.net/hailuoli/article/details/78558594引言Baseline是文字绘制时所参照的基准线,只有先确定了Baseline的位置,我们才能准确的将文字绘制在我们想要的位置上。Baseline的概念在我们使用TextView等系统控件直接设置文字内容时是用不到的,但是如果我们想要在Canvas画布上面绘制文字时,Base...

2018-12-06 09:59:22 3889

原创 AndroidStudio界面乱码

#AndroidStudio界面乱码装了3.2版本的AndroidStudio之后,想试试翻译插件。  结果插件装完了,出现了下图的情况。出现了乱码(出现乱码一般是因为字体中没有相应的字符的问题)##解决方法:修改studio的字体,如图。进入设置里面...

2018-12-05 09:37:43 751 1

原创 gitlab使用教程

#gitlab使用教程##0.准备工作操作系统:Linux(CentOS7)  Linux辅助工具:Xshell6、Xftp5  gitlab官方安装文档:https://about.gitlab.com/install/#centos-7##1.安装gitlab###1.1配置环境(Linux指令)#在root根目录下执行下列指令sudo yum install -y cur...

2018-12-05 09:33:41 2166

原创 AndroidStudio界面乱码.md

#AndroidStudio界面乱码装了3.2版本的AndroidStudio之后,想试试翻译插件。  结果插件装完了,出现了下图的情况。出现了乱码(出现乱码一般是因为字体中没有相应的字符的问题)##解决方法:修改studio的字体,如图。进入设置里面...

2018-09-18 10:39:35 935 1

原创 Android微信支付

Android微信支付   项目要上支付功能,老大让我写一个支付的demo看看效果。支付宝和微信都要。支付宝还好说,有一整套的测试环境(沙箱),一上午就做出来了。   微信就不得了了,从头到尾你得自己写。老大说了,现在后台比较忙。你先自己下单,自己支付,自己···   微信支付-APP支付的整体流程是:通过下单接口向微信的服务器下单,用微信返回的订单信息调支付接口。本身也不难,...

2018-08-30 17:37:23 574

原创 Android集成华为推送

Android集成华为推送1.注册成为开发者   这个没什么好讲的,照做就行了。之后就是在控制台创建应用巴拉巴拉的   需要注意的是SHA256指纹:   SHA256你在控制台可以填好几个,博主建议填两个。一个是debugkeystore的SHA256(也就是你本机的SHA256),另一个是.jks签名文件里面的SHA256。 2.配置HM...

2018-08-30 17:35:13 2604

原创 SurfaceView叠加展示

SurfaceView叠加展示项目背景   最近集成网易云信的视频通讯SDK,碰到了一个问题。   画面展示用的是云信封装的SurfaceView,直接在布局中使用。结果绘制画面的时候总是出现覆盖问题。   PS:本地画面小窗展示(覆盖在远端界面之上),远端画面全屏展示。绘制远端画面的时候,本地小窗直接被覆盖。解决方案   谷歌了一下“SurfaceV...

2018-08-15 10:44:34 1372

原创 微信支付-H5支付

微信支付-H5支付   最近前端给了我一个链接,让我用webView嵌在原生APP当中。这个链接打开之后,经过一番操作,需要使用微信支付。   刚接手的时候一脸懵逼,所有操作都是在h5界面进行的。完全不走Android原生,当然页面是在原生的webView里面展示。APP本身是没有集成微信支付SDK的,所以几乎可能直接调起微信客户端进行支付。只能从webView入手了,webView...

2018-08-02 16:58:29 1012

原创 Android端切图规范

Android端切图规范v1.01.容器的概念   UI设计师在拿到产品经理的原型图后,应该对每张原型图进行分组分类。   具体的分类方法如下:     1.每一个功能界面对应一个文件夹     2.对原型图中的界面进行整体分割并命名     3.基于2中的分割结果创建相应文件夹,分割块中的需要的素材放置到对应文件夹        以医万佳为例,...

2018-07-27 14:08:42 6495 1

原创 Error_type 3

Error type 3 Error: Activity class {} does not exist   我在华为8.0的手机上测试demo,本来只是想在应用管理中看一下应用的大小。但是小手一抖,点了卸载。然后就炸了,用AndroidStudio往手机上run程序一直报标题上的错误。   我去百度了一下,真是千奇百怪的原因都有。嗯,然后就是千奇百怪的解决办法。我感觉我自己的问题和...

2018-07-18 08:20:29 3657 2

原创 v4包冲突

Landroid/support/v4/animation/AnimatorCompatHelperjava.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/AnimatorCompatHelper; at android.support.v7.widget.DefaultItemA

2018-02-28 16:08:12 743

原创 集成ndk导致的SIGSEGV(SEGV_MAPERR)

集成ndk导致的SIGSEGV(SEGV_MAPERR)前言   最近集成bugly的异常统计,官方文档推荐sdk和ndk同时集成。   于是我按照官方文档配置gradle文件。然后运行,程序直接Crash。我在bugly的后台看了一下,觉得应该是.so库的问题。 SIG 是信号名的通用前缀, SEGV 是 segmentation violation 的缩写 在 POSI

2018-02-28 15:36:51 11394 2

原创 集成Bugly——异常统计

集成Bugly——异常统计   最近app的开发算是告一段落了,需要打包交给别人去测。但是又不想浪费时间等对方写测试文档。于是就打算集成腾讯的bugly,自己在后台看出了什么问题。  具体的集成步骤就不说了(Bugly的集成本身就很简单),自行看官方文档。  主要说下集成期间踩的坑。一共花了两天。集成bugly到项目中花的时间不超过半小时。但是这两天的时间花到哪里去了呢?  同事集成了别人的第

2018-02-27 18:31:03 921

原创 声之形观后感

声之形观后感  今天比无聊,于是下了部电影看。电影的名字叫做《声之形》。   这是一部日本的动漫电影,出来有一段时间了。它上映的时候我完全不知道,也就没有去电影院看。这部电影在网上的评论可以说是毁誉参半。很多人觉得这部电影很好看,也有不少黑它(说它是老套的救赎剧情)。事实上这部电影的资源在我电脑里已经存放了大半年了,因为看到它的剧情介绍是关于救赎的就不怎么感兴趣,也就没有及时的去看。   网上有

2018-02-21 18:47:09 3928

原创 科大讯飞 · 集成语音合成

科大讯飞 · 集成语音合成前言   由于项目需要语音提示的功能,于是在网上搜索相关的sdk。   目前,国内语音方面做得最好的应该是科大讯飞。  想使用科大讯飞的sdk,首先要注册成为讯飞开放平台的会员(注册登录不做赘述)。      具体可以查看(个人觉得不太友好)科大讯飞新手指南  我使用的是这个科大讯飞MSCAndroid版SDK的用户指南  一定要仔细看这个MSC Andro

2018-02-08 21:25:13 830

原创 Rxjava的onError方法定位空指针

Rxjava的onError方法定位空指针  最近一直在使用kotlin+Rxjava写项目。碰到一个空指针(那个null是后来定位到了打印出来的)。情况如下:override fun onError(e: Throwable) { Log.e(TAG, "onError:" + e) }  空指针?小意思。仔细一看:没有定位?   没有定位!!!   没有定位!!!

2018-01-31 18:57:40 695

原创 BEGIN_ARRAY but was BEGIN_OBJECT

BEGIN_ARRAY but was BEGIN_OBJECT这个错误的意思是,你按对象解析的,而实际它是一个数组。所以你用数组解析就可以了!   使用Gson进行解析的时候注意变量类型!!!!   使用Gson进行解析的时候注意变量类型!!!!   使用Gson进行解析的时候注意变量类型!!!!

2018-01-29 20:48:01 757

原创 Resources$NotFoundException

Resources$NotFoundException android.content.res.Resources$NotFoundException: String resource ID #0x1 at android.content.res.Resources.getText(Resources.java:386) at android.widget.TextView.setT

2018-01-29 20:43:52 823

原创 适配器刷新混乱

适配器刷新混乱  今天写代码的时候,发现了一个奇葩问题。具体见下图:       我的思路是:点击条目就处于选中状态(修改item的背景颜色),再次点击时取消选中。可是最上面没有点击就变成选中状态了,这让我百思不得其解。  我是通过在Adapter里的getView()方法中判断状态值isSelect(布尔值),来改变选中状态的。  但是当我打印出所有的状态值时,状态都是正确的。  解决方法

2018-01-29 20:39:07 234

原创 git获取历史版本

git获取历史版本  今天开会,讨论公司的产品。老板检阅了我们最近的工作成果。会议上老板突然提起了一个月之前的一个版本,觉得还不错。想再看看。   当时惊了我一身冷汗,因为项目持续推进了一个月。代码早就改的“面目全非”。我的第一反应是赶紧加班重做一版,但是时间上根本来不及。还得想办法,之前学习git的时候。依稀记得git有一个回滚的功能,Google了一下发现可行。   我可以将当前的代码

2018-01-29 20:33:04 47989 3

原创 kotlin之Serializable

kotlin之Serializable   activity的界面跳转是Android中最常见的操作了,但是博主最近爬了一个小坑。我们通常使用Intent在activity之间来跳转,并在Intent中添加一些关键数据。带到跳转的activity中进行使用。     博主在使用AndroidStudio的时候,设置的是自动导包,当我想让实体类继承Serializable时出现了下图中的情况

2018-01-23 14:56:04 4287 1

原创 在Application中使用startActivity方法

在Application中使用startActivity方法 一不下心在Application中使用了startActivity方法,编译器报如下异常(注意Caused by): java.lang.IllegalStateException: Fatal Exception thrown on Scheduler. at io.reactivex.android.scheduler

2018-01-23 14:54:35 7806

原创 RxLifecycle小结

RxLifecycle小结   最近项目中有一个推送语音通知的需求。开会的时候说不能使用第三方。因为我并不知道通知什么时候下发,所以只能不停的去请求后台下发语音通知的接口。   原本我是打算使用死循环去实现,但是觉得有点low。我想起来学习Rxjava的时候,有一个叫做定时器的东西。我决定使用Rxjava实现这个需求。毕竟Rxjava我只会用来与Retrofit结合起来用。一些其他的

2018-01-21 02:07:43 641

原创 java.lang.NoClassDefFoundError之TabLayout

java.lang.NoClassDefFoundError之TabLayout 在组合使用ViewPager和TabLayout时,编译器报如下异常 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/internal/widget/TintManager; at android.sup

2018-01-21 01:49:34 186

原创 kotlin之Serializable

kotlin之Serializable   activity的界面跳转是Android中最常见的操作了,但是博主最近爬了一个小坑。我们通常使用Intent在activity之间来跳转,并在Intent中添加一些关键数据。带到跳转的activity中进行使用。     博主在使用AndroidStudio的时候,设置的是自动导包,当我想让实体类继承Serializable时出现了下图中

2018-01-21 01:44:45 7739

原创 Android树形控件

Android树形控件      最近公司需要做一个树形图的效果(就是上面gif图),本来应该是后台传给我已经分好层级的json数据。但是他们所谓的已经分好的层级就是每个元素都有id(结点本身)和pid(父结点)这两个属性。我竟无言以对。因为这两个属性确实分好了层级。  下面分析一下实现思路: >1.对数据进行排序(处理数据),如下图:   后台传给我的数据其实是无序的,我需要根据结点的id和p

2018-01-21 01:01:24 659

原创 前任3:观后感

前任3观后感  不知道从什么时候起,养成了周末看电影的习惯。而且是一个人去看(扯远了)。    周五的时候,由于上午项目验收顺利通过。所以下午比较闲。于是想了想周末的安排,决定去看场电影。搜了一下最近比较火的电影,看了看预告片和影评。选择了前任3(主要是有网友说前任三特别虐,我就是去找虐的,哈哈)。  电影从头到尾都没有说明孟云跟林佳吵架的原因,因为这并不重要。重要的是,两个人吵架后分手的这个决定。

2018-01-06 15:55:03 2955

原创 NoSuchMethodError

NoSuchMethodError 在使用高德地图的时候出现了这个bug,下意识的去百度。结果查到的都是关于系统版本过低找不到方法。但是我之前集成高德地图是没有问题的,可以运行。而且报错的代码并不是调用的系统方法,而是高德sdk中的方法。于是查了一下gradle文件,发现项目依赖了一个外部的arr文件。问了一下arr文件的提供方,是否集成了高德地图的sdk。对方回答集成了定位和地图。  显而易见,

2018-01-05 16:41:24 513

原创 NoClassDefFoundError

NoClassDefFoundError: okhttp3.logging.HttpLoggingInterceptor  今天在调试的时候碰到了这个异常。我在自己的OPPO上运行的时候完全没有问题。但是在另一部小米上运行时就出现这个异常。最开始我以为是okhttp和Retrofit的版本不一致导致的。但是有一部手机可以运行,基本可以排除版本不一致的问题。最初我直接用下面的报错直接进行百度。NoCl

2018-01-05 16:13:05 486

转载 Android应用开发之所有动画使用详解

本文转自 工匠若水的文章1 背景不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今天来一发Android应用的各种Animation大集合。英文厉害的请直接移步参考Android Developer。Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类:

2017-12-11 09:00:24 670

原创 使用RecyclerView的ItemDecoration实现StickyHeader效果(笔记)

最近要做一个类似QQ浏览器的浏览记录效果就是下面的效果QQ浏览器玩了半天,分析出了一点东西。之前用ItemDecoration给RecyclerView绘制item过分割线。大家仔细观察一下就可以发现,这个效果就是给指定的item绘制分割线。这里有一个比较好的教程,博主就不写详细的分析和实现了另外还有一种实现方式:Android RecyclerView 顶

2017-12-04 17:21:20 445

原创 自定义Dialog(笔记)

最近有一个需求做一个类似于夸克浏览器的menu对话框像这样的对话框肯定是自定义的。查了一些资料:android 8种对话框(Dialog)使用方法汇总Android设置Dialog透明度、黑暗度方法Android创建自定义dialog方法详解-样式去掉阴影效果使用DialogFragment实现底部弹窗布局Android 官方

2017-11-29 10:24:51 266

原创 AndroidStudio代码主题设置

下载主题

2017-11-27 13:53:48 1116

原创 java.lang.VerifyError: Verifier rejected

解决方案:1.File->Settings2.Instant Run

2017-11-27 13:36:16 909 2

空空如也

空空如也

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

TA关注的人

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