自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 一个Recyclerview适配多种集合数据,多布局呈现,告别多层嵌套listview

今天项目中用到了这么一个需求,一个recyclerview中适配多个集合的数据。效果如下:可能有的人第一反应是recyclerview中再嵌套一个listview,这种方法虽然能实现效果,但是可能会引起滑动冲突,还有就是这里面有两组list数据,如果有三组呢,四组呢,嵌套多少listview啊,今天就说下如何用一个recyclerview实现适配多种list。思路: 咱们将数据分解一...

2018-07-04 20:58:15 16171 15

原创 代码上传到jcenter及填坑

首先我们看看写的gradle代码的含义:compile 'com.first:FirstLibrary:1.0.0'其组成是这样的:GROUP_ID:ARTIFACT_ID:VERSIONGROUP_ID指的是com.first,类似于包名;ARTIFACT_ID指的是FirstLibrary,类似于类库的名称;VERSION是1.0.0,也就是版本号。注册账号在b...

2018-04-26 09:41:17 1666 1

原创 EventBus 3.0实现Activity和fragment通信、fragment和fragment通信

eventBus3.0 fragment之间通信

2017-12-21 14:11:52 7504 1

原创 Android 微信支付集成

准备工作1.先在微信开发者平台注册账号:开发者平台地址 https://open.weixin.qq.com/ 2.注册完之后,需要申请开发者资质认证,这个是要交费的,还需要填写公司信息啥的 3.认证完之后就可以创建应用了 将应用的信息填完之后提交之后,等待微信官方的审核,几天的等待。。。 4.审核通过之后,可以得到appid 5.申请微信支付功能,提交完申请又是漫长的等待,几天之后

2017-12-15 15:20:26 1695

原创 阿里云HotFix热修复应用

集成步骤:创建应用 登录移动热修复控制台:https://hotfix.console.aliyun.com/,点击右上角创建App在MHub控制台点击右上角创建产品,填入产品名称、行业分类和描述。产品创建 2.点击创建应用按钮,填写APP名称、端类型、packageName/bundleId 完成应用创建 3.创建完成后点击左侧服务列表选择移动热修复,进入移动热修复控制台 里面有我们一

2017-11-28 17:35:46 1933

原创 代码设置桌面壁纸或者屏保

今天公司让弄一个把图片和视频设置为屏保和壁纸的功能,刚开始在网上找了很多资料 设置壁纸很好实现 一句话就可以了,这个可以参考这个人写的代码 [图片视频设置为壁纸](https://github.com/DingMouRen/VideoWallpaper) 但是实现设置锁屏屏保就不大好实现了

2021-07-31 11:47:50 3698

原创 org.gradle.tooling.BuildException: Failed to process resources, see aapt output above for details.

今天手欠,在优化界面的时候,有一个图片 自以为用不到了 直接在项目文件中删除了,结果,报上面的异常,很明显是资源文件的问题,之前也碰到过,但是我没想到是因为我删除文件导致 之前碰到是因为xml文件中 颜色值写错。我就找我改过的xml文件,过滤了好久也没找到问题,其实有很简单的方法去定位在哪出现的问题,直接上图...

2019-06-14 18:43:39 3551

原创 Caused by: java.lang.ClassNotFoundException: Didn't find class "android.arch.lifecycle.LifecycleRegi

今天遇到的这个bug实在是太奇葩了,正改着bug,啥也没弄,就提示好多依赖库出问题,感觉重启了下 不提示了 但是项目运行不了了提示以下错误在网上找了好多 都不能解决我的问题,刚开始还以为是修改代码的原因 结果代码回退到头一天也不行,最后通过重新创建一个新的项目 将原数据替换后运行才搞定其实到这还不知道具体咋搞定了 但是无意中我发现了解决的办法 就是将gradle的版本号升到4.10...

2019-06-13 11:44:20 8300

原创 android studio 更改代码不生效 卸载APP之后才生效

这两天遇到一个问题, 特别的恶心,更改代码后 运行时代码不生效,只有将APP卸载后才生效,并且如果软件不卸载,以后永远展示的是第一次安装时的效果,debug也是第一次时的代码 超级恶心,在网上查了好多 有说关闭instant run的 有说debug路径更改的,我没有这种情况啊 就是不好使,有的同行说 只能跳槽了,额。。。为了找到原因 尝试了各种办法 ,此处省略一万字。。。问题来了 引起...

2019-04-18 19:25:53 3037 8

转载 Android Material Design之BottomSheetDialog

 顾名思义,BottomSheetDialog指从底部弹出的对话框。跟PopupWindow的效果类似。先看下效果图:1.gif可以看出效果,跟PopupWindow效果,差不多,但是PopupWindow要实现背景透明效果,必须使用代码进行设置,但是BottomSheetDialog不用,它的默认效果就是这样。使用方法:1、添加依赖:compile 'com.a...

2018-07-30 13:56:52 965

原创 android Fragment不走onActivityResult方法

在写这篇博客之前,我想对自己说一句话:“今天你真的sb了一把” 先说下我出现问题的环境,MainActivity中有两个fragment,一个首页fragment,另一个是个人fragment,使用viewPage填充fragment。首页fragment跳转到登录的activity(LoginActivity),LoginActivity关闭的时候需要首页fragment知道。如果想让fr...

2018-07-12 22:15:08 5661

原创 android 微信登录 友盟 v6.9.0

友盟最新版本6.9.0集成微信登录 首先说一下集成的步骤 1.到微信开发者平台注册软件并获取软件的AppID和AppSecret 2.创建友盟开发者账号,创建应用,获取appkey 3.下载微信登录相关的sdk,并集成到项目中 4.添加微信回调activity 5.配置Android Manifest XML,注册微信回调activity,添加权限 6.在application中初始...

2018-07-05 07:59:00 4165

原创 android 访问webservice(实例讲解一行代码实现)

先看一下接口文档 通过接口文档我们了解我们需要的信息 1.接口请求方式 webservice 2.接口请求地址:http://47.95.217.28:8080/services/translateMacs?wsdl 3.方法名:translateMacs 4.方法里的2个参数,参数类型。看完这些信息后,打开接口地址,检查接口文档中的信息和接口中的实际信息是否一致。 下图中标注...

2018-06-23 10:31:01 9273

原创 原生AlterDialog一句话修改标题、信息、按钮的类型

首先看一下我们创建AlterDialog的步骤AlertDialog dialog = new AlertDialog.Builder(this) .setTitle("标题") .setMessage("信息") .setNegativeButton("确定", new DialogInter...

2018-06-14 15:19:22 1453

原创 Android 安全退出App完美实现

本文主要介绍两种方式退出APP,一种是基于Activity的启动模式singleTask模式实现的,一种是基于全局Activity管理类实现的。强烈推荐第一种方法实现,简单又方便。基于Activity的启动模式singleTask模式实现 singleTask是Activity启动模式中的一种,当startActivity时,它先会在当前栈中查询是否存在Activity的实例,如果存在,则...

2018-06-08 11:08:50 8747 5

原创 Android Studio 代码混淆(包教包会)

前言 混淆是上线前挺重要的一个环节。android使用的ProGuard,可以起到压缩,混淆,预检,优化的作用。 代码混淆技术基本原理是使反编译工具反编译出来的代码人难以阅读,从而达到防止被逆向破解的目的。其实还有一个重要的功能,就是能apk瘦身,混淆后的apk要比不混淆的小很多,这个大家可以自己验证。一般以下情况都不需要混淆: 1.使用了自定义控件那么要保证它们不参与混淆 2.使...

2018-06-06 17:55:39 25478 16

原创 完美解决Error:Execution failed for task ':processDebugManifest'的BUG

原因描述:今天遇到一个问题,如下图所示。先说下出现的原因,我将注册码认证的逻辑上传到jcenter上,然后在本地代码中引用时出现了这个问题。 解决 看到这个问题的时候不要着急,看AS提示。android Studio 右下角的Gradle Console如上图所示,Run with –stacktrace option to get the stack trace. R...

2018-06-04 13:39:51 85287 5

原创 高仿百度地图中的离线地图下载

公司最近用到百度离线地图功能,特将以前用的百度离线功能抽离并整理出来,供大家用。可以作为一个model引入。先看效果 首先配置百度地图的环境。 1.将so文件和jar包放到libs文件中,并在gradle(app下的)中配置sourceSets { main { jniLibs.srcDir 'libs' } }...

2018-06-01 17:24:27 971

原创 NDK开发之CMake编译构建原生库

前言Android NDK开发可能在平时的项目开发中不常用到,但是这并不代表其不重要, 相反NDK开发是Android开发人员的进阶过程中必须要掌握的技能。 Android NDK是一组允许将C或C++(原生代码)嵌入到Android应用中的工具。 如果开发者在需要以下操作的时候,使用NDK开发特别有用: * 在平台之间移植其应用* 从设备获取卓越性能以用于计算密集型应用,例...

2018-05-31 10:56:55 1474

原创 Okhttp 源码流程梳理

这是对okhttp源码流程的一个梳理,是本人的个人理解。如果有误,可以指出。文中引用的图片是引用网上的图。文章本意是将大概逻辑梳理下,便于查看源码。okhttp网络请求步骤1.创建okhttpClient OkhttpClient okhttpClient = new OkhttpClient.builder().readTimeout(5000, TimeUnit.MILLISE...

2018-05-30 12:01:11 308

转载 Android优化方案之--Fragment的懒加载实现

转载地址:https://blog.csdn.net/ljcitworld/article/details/77528585一、背景在Android应用中,ViewPager是我们不可避免使用的一个控件,因为它可以使我们在占用较少空间的同时,增强内容的丰富性,同时以其内部流淌着Google的血液,所以它几乎成了每一个App的标配控件。但是,假如ViewPager的每一个Fragment都需要通过网...

2018-05-23 11:42:54 532

原创 360度监听屏幕横竖屏切换

直接上方法创建OrientationEventListener对象并实现里面的方法mOrientationListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) { @Override publi...

2018-05-22 09:54:35 704

原创 Android 音频录制 AudioRecord,MediaRecorder的使用及播放

2018-05-09 15:49:58 2250

原创 MVP架构实例讲解-登录界面

MVP优缺点就不介绍了,主要说下应用,今天已程序登录的界面讲解如何用MVP架构,写的不好的地方欢迎指正 在介绍之前,先看下demo的目录结构 定义网络相关接口 网络请求都是共通的,所以可以把网络部分单独摘出来。 首先定义网络请求状态接口。所有的网络请求都包括开始,成功,不成功。所以网络请求状态接口如下所示public interface RequestStatus<T...

2018-05-07 22:52:18 2057

原创 Spinner的用法介绍(兼容性问题)

今天碰到一个spinner在华为mate10上显示异常的问题。如下图 正常显示应该是这样的 如下图 回顾下spinner的用法一.布局文件中配置 <Spinner android:paddingRight="20dp" style="@style/spinner_bg" andro...

2018-03-27 15:02:50 1825

原创 回调的简单实现

首先,新建一个接口CallBackApublic interface CallBackA { void showA(String str);}第一种方法,通过构造方法传入interface新建ClassA,编写参数为CallBackA的构造方法 public ClassA(CallBackA callBackA) { this.call...

2018-03-08 11:34:31 532

原创 沉浸式状态栏简单实现

//设置状态栏为透明或者半透明 public static void translucentStatusBar(Activity activity, boolean hideStatusBarBackground) { Window window = activity.getWindow(); //添加Flag把状态栏设为可绘制模式 wi...

2018-03-07 17:41:45 333

转载 LeakCanary使用详解

转载地址:http://blog.csdn.net/itachi85/article/details/77826112?utm_source=gold_browser_extension如果使用MAT来分析内存问题,会有一些难度,并且效率也不是很高,对于一个内存泄漏问题,可能要进行多次排查和对比。 为了能够简单迅速的发现内存泄漏,Square公司基于MAT开源了LeakCa

2018-03-07 15:59:57 519

转载 Android 属性动画:这是一篇很详细的 属性动画 总结&攻略

转载地址:https://www.jianshu.com/p/2412d00a0ce4前言动画的使用 是 Android 开发中常用的知识本文将详细介绍 Android 动画中 属性动画的原理 & 使用动画类型关于Android动画的系列文章动画的使用,请参考文章:Android 属性动画:这是一篇很详细的 属性动

2018-03-01 11:20:26 500

原创 Retrofit2.0应用

Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit底层基于OkHttp实现的,与其他网络框架不同的是它更多使用运行时注解的方式提供功能使用前的准备工作 添加依赖 compile'com.squareup.retrofit2:retrofit:2.1.0' compile'com.squareup.retrofit2:

2018-02-12 17:41:48 156

原创 Android Studio Failed to resolve: org.easybatch:easybatch-gson:5.1.0

项目描述:项目是从eclipse中转换成studio的项目,当我导入一个model的时候,出现了下图中的错误先看错误截图 解决方法: 此问题是因为gradle配置的问题出现的。首先 配置gradle插件的仓库buildscript { //配置gradle插件的仓库 repositories { jcenter() } depe

2018-01-18 10:54:57 186

转载 Android图片加载框架最全解析 带你全面了解Glide 4的用法

转载出处:http://blog.csdn.net/guolin_blog/article/details/78582548Glide 4概述刚才有说到,有些朋友觉得Glide 4相对于Glide 3改动非常大,其实不然。之所以大家会有这种错觉,是因为你将Glide 3的用法直接搬到Glide 4中去使用,结果IDE全面报错,然后大家可能就觉得Glide 4的用法完全变掉了

2018-01-03 09:25:13 301

转载 EventBus使用详解(二)——EventBus使用进阶

转载地址:http://blog.csdn.net/harvic880925/article/details/40787203前言:这段时间感觉自己也有点懒了,真是内心有点自责呢,除了工作,也没做点什么,EventBus也是一周前总结出来的,只能以写博客为名来弥补内心的罪恶感了,集合同事们做的项目,虽然上周开动了,但总感觉大家积极性不高,如何才能做一个合格的管理者,还真是一个考

2017-12-20 11:57:20 166

转载 EventBus使用详解(一)——初步使用EventBus

转载地址:http://blog.csdn.net/harvic880925/article/details/40660137前言:EventBus是上周项目中用到的,网上的文章大都一样,或者过时,有用的没几篇,经过琢磨,请教他人,也终于弄清楚点眉目,记录下来分享给大家。相关文章:1、《EventBus使用详解(一)——初步使用Event

2017-12-20 11:55:31 136

转载 Android接入支付宝实现支付功能

转载地址:http://blog.csdn.net/qq_26787115/article/details/73838765我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上,也算是写得尽可能详细些吧,毕竟是第三方的SDK,只要我们耐心的阅读文档和开发引导,这个其实

2017-12-18 10:16:41 2426

转载 Android微信支付流程及返回码-1之坑

转载地址:http://crocutax.com之前做微信支付的时候,直接是以库形式引入项目的,虽然一直觉得微信支付的开发文档不太理想,但是印象中也没有遇到什么大坑。今天项目组的一个小伙伴突然告诉我微信支付一直失败,根本调不起来支付页面,onResp() 中的返回码一直是-1,而且他好像已经搞了好几个小时了。于是我pull了一下项目代码开始排查问题。最终发现问题有两个:微信

2017-12-11 17:20:30 5990

转载 recyclerview 多布局

转载地址:http://blog.csdn.net/danfengw/article/details/53117182 关于RecyclerView的基本用法参考下面三篇博客: Android RecyclerView之代替ListView与GridView Android RecyclerView之添加Item分割线 Android RecyclerView 的瀑布流式布

2017-12-06 10:30:51 312

转载 Android so文件的制作封装与跨平台引用

结合网上众多jni实现流程整理了一套完整且可行的jni教程,有不足的地方欢迎指出与探讨!!废话不多说直接上实现流程:看网上大多都是用命令生成.c .cpp文件,每次都得编译命令去生成有点小麻烦,本文介绍直接用studio配置命令一键生成.so文件,一劳永逸。直接在project下开始:1、打开File | Sett

2017-12-05 11:05:35 1387

原创 GreenDao存储list集合数据

假如在实体类A中有一种List类型的数据也需要保存到数据库中,该如何处理呢??**答案很简单,可以转换一下思路,首先考虑下如果是String类型的数据,首先遍历List数据,然后将所有的String对象都append到一个StringBuilder中,然后保存在数据库中即可。 事实上,GreenDao已经为我们考虑到了这种情况,因此才有了 PropertyConverter 这个接口在Prope

2017-12-04 13:49:28 7169 2

转载 Android 使用版本控制工具时添加忽略文件的方式(详解)

投稿:jingxian 字体:[增加 减小] 类型:转载 时间:2017-01-21 我要评论下面小编就为大家带来一篇Android 使用版本控制工具时添加忽略文件的方式(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧Android Studio 配合SVN时,添加忽略文件相对简单,首先打开项目的Settings选项,切

2017-11-28 09:38:46 330

retrofit2.3.0 gson-2.3.1

retrofit2.3.0对应的jar包,gson-2.3.1对应的jar包,没想要资源分的,但是现在最少是1分。。。

2018-06-04

okhttp3.4.1 okio-1.10.0

okhttp3.4.1的jar包,okio的jar包,本来打算免费的,发现资源分数最低一分,那我就不好意思了 嘿嘿

2018-06-04

异步下载更新app,自定义progressDialog

自己写的一个小demo,功能是app的版本更新,里面有自定义progressdialog,异步任务下载,有问题大家可以留言,不喜勿喷

2017-03-06

空空如也

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

TA关注的人

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