自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

喻志强的博客

耐心 细心 用心 传播正能量

原创 Retrofit+kotlin Coroutines(协程)+mvvm(Jetpack架构组件)实现更简洁的网络请求

前言 Retrofit发布的2.6.0版本内部支持了kotlin协程中的挂起(suspend)修饰符,这就意味着我们可以跟方便的用Retrofit结合kotlin协程来实现网络请求了。 之前我们都是使用Rxjava2+Retrofit实现网络请求的功能,然后加入了AutoDispose来解决自动...

2019-09-20 12:21:27 5892 6

原创 Android使用协程(Coroutine)优雅的处理多个接口同时请求(网络并发请求)

Android中同时请求多个网络接口 我们在开发过程中,很可能会遇到这样的需求,一个页面中需要同时请求好几个接口。 我在之前写过一篇关于 高德逆地理编码接口返回数据格式不统一以及百度逆地理编码接口返回数据解析失败的踩坑记录 这篇文章,我当时的需求是要结合高德和百度两个接口,合并成一个我想要的数据...

2019-09-19 15:02:47 6798 1

原创 mvp过渡到mvvm(Android 架构组件)

Android Jetpack 话不多说,先上个官方图 MVP 因为前两年MVP架构非常火,于是我也将项目重构成了MVP的架构了,还写过一篇博客 从天地初开到MVC再到MVP 来记录如何从mvc过渡到mvp,以及他们的优缺点,感兴趣的可以看看。 目前mvp架构我也用了很长一段时间了,也专门结合...

2019-08-08 14:34:10 3350 2

原创 Android结合Retrofit实现统一加解密处理(Get、Post、Delete、Put)

Android中对接口进行统一加密 在之前的博客中我们介绍了 加密方案的选择 和 Android中加解密需要注意的地方 本篇博客我们主要来看一下Android中加密的注意事项。 在开发过程中,接口是很多的,我们不可能分别对每个接口的请求数据都进行加密,这样写起来以及后期维护是非常麻烦的,所以,肯...

2019-05-13 11:38:42 2812 10

原创 Flutter中的异步(Future、async、await、FutureBuilder)和 网络请求

Flutter 异步编程 在Android开发中,异步编程是必不可少的,比如网络请求、IO操作等很多都是异步操作,而在Android原生中,有主线程和工作线程的概念,耗时操作都是要放到工作线程中的,ui要在主线程中更新,因此,原生Android开发中对线程的处理是必不可少的,幸运的是,一些第三方...

2019-04-10 21:46:38 17697 2

原创 Flutter页面跳转和传值传参,接收页面返回数据、以及解决返回(pop)页面时黑屏的问题

Flutter导航和路由 在Android中,我们使用Intent或者第三方路由SDK来解决页面之间的跳转和传值。 在Flutter中,官方给我们提供了导航控件和路由控件来帮助我们进行页面的跳转和传值。 官方文档: Flutter导航和路由 在Flutter中,屏幕和页面统称为路径,我们可...

2019-04-09 15:38:27 14556 1

原创 Android/Java完美使用RSA2结合AES对数据进行加解密(兼容RSA2 SHA256WithRSA,可使用2048长度的秘钥,AES Android各版本通用)

上一篇博客数据加解密方案选择中我们介绍了加密的几个方案选择,其中,最后一个方案使用RSA集合AES实现双向认证是目前来讲最安全的,也是含盖了前面几个方案的知识点。 本篇博客我们就以最后一个方案为准,来进行代码实战,并记录一下踩过的坑。 Android中的AES加密(兼容所有版本) 在Androi...

2019-03-19 15:07:32 5021 4

原创 网络传输数据加解密方案选择(RSA+AES)

为什么要对数据加密 理由很简单,为了安全。 因为之前一直在赶项目,没有对传输的数据做处理,导致我这边通过抓包软件直接能看到我请求发的是什么数据,服务端给我返回的数据是什么。 而且可以通过抓包软件修改响应数据返回给客户端,这样一来,客户端实际上接收到的数据并不是服务端给我的源数据,而是被第三者修改过...

2019-03-18 17:43:44 2887 0

原创 Kotlin基于RxJava的扩展方法(超级好用)

Kotlin扩展方法 Kotlin的好处有很多,其中有一个超级好用的就是扩展方法。 目前来讲,大多数的项目架构都是采用MVP+Rxjava+Dagger2+Retrofit2+AutoDispose+ARouter等等来进行封装的。 今天我们主要来看看对于RxJava的扩展方法,超级好用。 一个是...

2019-03-06 14:09:47 3507 0

原创 Flutter中MainAxisAlignment和CrossAxisAlignment详解

Flutter MainAxisAlignment和CrossAxisAlignment详解

2019-01-16 15:33:07 19501 3

原创 AutoDispose代替RxLifecycle优雅的解决RxJava内存泄漏问题

使用AutoDispose代替RxLifecycle优雅的解决RxJava产生的内存泄漏问题。

2018-07-16 16:49:03 9213 0

原创 Android多模块混淆、多module混淆、多library混淆的正确姿势

混淆的文章其实网上也很多,介绍的都很好,但是关于多个module的混淆规则就不是这么详细,有的也是错误的,经过了2天的多次实践以及查阅资料(多次打包和反编译看源码,很费时间啊),终于达到了我的目的。下面来总结一下。也希望能帮到需要的同学。

2018-06-13 11:47:20 18694 10

原创 Android反编译工具jadx详细使用方法以及混淆和加固的对比

反编译也不是什么新鲜的东西了。但是为了保护我们自己项目的代码,我们还是要通过反编译工具来检测一下我们的代码是否安全。 本文我们来使用一个开源的工具jadx来实现对apk文件的反编译。 1.下载安装jadx jadx开源在github上了,我们可以直接去github上下载压缩包即可。这里我的环...

2018-06-13 10:28:07 6714 0

原创 Android 组件化总结

好久没写博客了,最近一直在写新项目。这两天基本上把该完成的都完成的差不多了。 正好新项目用到了很多以前没有用过的技术,在此总结一下。 本文我们先来说一下一下组件化。组件化很早就有了,网上也有很多例子。讲的都非常好,我这里也只是把自己在实际使用的情况做一下记录。 新项目中用到了组件化开发的思想...

2018-06-12 14:44:57 3811 0

原创 从天地初开到MVC再到MVP

导读 首先解释一下什么是“天地初开”,因为我实在是词穷了,想不到更好的词来表示我刚入行时写代码的状态。所谓的“天地初开”指的是我刚接触Android开发时,当时是没有所谓的架构的概念,什么解耦和啊,层次分明啊,单一职责啊之类的,当时完全是能把功能实现就万事大吉了,所以代码都是混在一起写的,就像是...

2018-01-17 16:06:04 1383 3

原创 implementation、api、compileOnly区别详解

Android Studio3.x 中implementation、api、compileOnly区别详解以及对比2.x依赖的区别

2017-10-27 17:11:48 63679 10

原创 Android超方便 集成 Zxing实现扫一扫,闪光灯,生成二维码图片,解析二维码(条码)等功能

之前我写过一篇博客是关于如何将zxing集成到Android Studio中,以及简单的实现扫一扫功能。 详情请看:Android Studio集成Zxing扫一扫 但是,上面那篇博客只有有一个扫一扫功能,而且在低分辨率手机上会出现变形的问题。扫描速度也比较慢,功能不是很全,没有闪光灯,生成二...

2017-10-20 09:42:01 50913 242

原创 com.android.support版本冲突的解决办法

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes 当我们使用android studio添加一些第...

2017-10-12 14:49:59 45320 19

原创 超简单集成Android Zxing实现扫一扫二维码

2017-10-20更新 最新版本的请看http://blog.csdn.net/yuzhiqiang_1993/article/details/78292004,优化了扫描速度,修复了一些bug,增加了闪光灯,解析二维码图片,生成二维码等功能,简化了集成步骤。 因为按下文方法集...

2016-10-13 10:54:35 76780 201

原创 手机访问Angular项目的方法

手机访问本地Angular项目

2020-06-28 20:04:15 45 0

原创 Android 获取android密钥哈希码(keytool -exportcert -alias openssl sha1 -binary | openssl base64)
原力计划

由于业务需求需要集成国外的SDK,而国外的sdk需要Android端提供一个签名哈希值‘’ 起初我以为是跟集成国内的高德地址一样提供个SHA1的值即可,之前我也写过一篇博客:Android获取SHA1值的详细步骤。 一顿操作后发现无法通过。详细一看原来国外的sdk要求是经过openssl加密并且通...

2020-04-19 14:42:17 214 0

原创 Android Studio常用插件

下面是自己平时开发时会经常是用到的插件,整理下方便换电脑时安装,直接复制名称去插件市场查找安装即可 Alibaba Java Coding Guidelines 可以帮助你规范你的Java代码 地址:https://plugins.jetbrains.com/plugin/10046-alibab...

2020-03-25 11:15:52 393 0

原创 Android Room提示 错误: Not sure how to convert a Cursor to this method's return type的原因及解决办法

Android Room+协程+LiveData提示 错误: Not sure how to convert a Cursor to this method's return type的原因

2019-09-27 15:12:16 1445 1

原创 Android Studio检查依赖库是否有新版本,非常好用

AS自带的Lint检查

2019-08-08 15:58:05 1739 0

原创 app:layout_behavior="@string/appbar_scrolling_view_behavior" 报红的解决办法

迁移到AndroidX后,发现 @string/appbar_scrolling_view_behavior这个地方报红了,并给出如下提示: Unresolved class ‘@string/appbar_scrolling_view_behavior’ less… (Ctrl+F1) Insp...

2019-05-15 11:09:16 6564 1

原创 Flutter报A RenderFlex overflowed错误(宽高度溢出)或者Flutter Widget不显示的解决办法(Expanded、Flexible)

我们在用Flutter写ui的时候,经常会遇见写完Widget后不显示, 例如如下代码: 代码很简单,实际上就是一个行控件里面放了一个Text和一个ListView。 import 'package:flutter/material.dart'; void main() =&...

2019-04-22 16:43:44 8086 2

原创 高德逆地理编码接口返回数据格式不统一以及百度逆地理编码接口返回数据解析失败的踩坑记录

最近有个需求是定位后根据定位的经纬度获取当前地址的详细信息,例如获取街道名称,街道号,乡镇街道编码,区域编码等信息。 于是乎找到了高德的逆地理编码接口,看了看正好符合我的需求。然而使用起来并不顺利! 由于我使用的Retrofit,正常情况下都是直接将json自动解析成实体类,但是由于接口返回的数据...

2019-04-15 16:07:27 1679 1

原创 完美解决kotlin反射提示java.lang.IllegalStateException: No BuiltInsLoader implementation was found错误

Kotlin反射和混淆踩坑记录,解决kotlin反射运行时报 java.lang.IllegalStateException: No BuiltInsLoader implementation was found.以及java.lang.IllegalAccessException: Class ...

2019-04-02 13:34:26 1454 0

原创 Flutter json转实体类(插件自动生成)

Json数据转成实体类的好处 将Json数据转成实体类可以方便我们开发的时候使用数据,手动输入字段名称的话很容易出错,并且接口多的话很不好维护。 Flutter中是否有Gson、FastJson这样的库 在Android原生开发中,我们有很好用的Gson、FastJson等第三方库来帮助我们将js...

2019-03-13 15:14:37 17442 4

原创 Flutter 流式布局、自动换行(Wrap、Flow)

流式布局 流式布局在移动端是非常常见的,比如商品列表,瀑布流、标签页等等。使用Android原生来实现流式布局还是有点麻烦的,甚至需要自定义view或者使用第三方的库。而在Flutter中,官方为我们提供了流式布局的控件,我们可以很方便的实现流式布局。 Wrap 首先来看Wrap,Wra...

2019-03-10 14:20:21 20365 3

原创 Flutter从相册选择图片和相机拍照(image_picker)

Flutter中从相册选择图片和拍照获取图片教程

2019-03-08 13:03:59 25119 27

原创 Flutter文本输入框TextField属性(InputDecoration、textInputAction、inputFormatters等等)详解

TextField 构造方法:

2019-03-06 18:13:30 41071 21

原创 Flutter底部导航栏BottomNavigationBar

Flutter 底部导航栏(BottomNavigationBar) 在移动开发中,底部导航栏是非常常见的,在之前我也写过一篇关于在Android中如何使用底部导航栏的博客,感兴趣的可以看一下。 Android底部导航栏BottomNavigationBar使用方法 下面,我们来看一下在Fl...

2019-03-04 16:23:29 9693 4

原创 Flutter 列表控件ListView

Flutter ListView 列表布局在手机上是最最常用的控件了。 Android上的RecycleView尤其的强大。 Flutter中也给我们提供了ListView,不过就目前的体验来看,性能跟原生的ListView或RecycleView比还是有一点差距的。滑动起来还是略卡。 下...

2019-03-01 15:08:36 5830 0

原创 Flutter报setState() or markNeedsBuild() called during build.错误解决办法

setState() or markNeedsBuild() called during build. the process of building widgets. A widget can be marked as needing to be built during the build T...

2019-02-28 19:10:29 11136 2

原创 Flutter网格控件GridView

Flutter GridView用法详解。Flutter GridView异步加载

2019-02-28 19:09:18 4675 0

原创 Flutter Widget之 Row、Column、Stack、IndexedStack等

上一篇博客我们了解了只有单个子控件的布局类控件。本篇博客我们来看一下包含多个子控件的布局类控件。 包含多个子控件的布局类控件

2019-02-26 15:30:21 925 0

原创 Kotlin中init代码块和构造方法以及伴生对象中代码的调用时机及执行顺序

在Kotlin中,init代码块的到底是什么时候执行的呢,和构造方法以及伴生对象一起使用时顺序又是怎样的呢?下面我们来详细看一下

2019-02-21 16:30:18 12802 9

原创 更新至gradle3.3.0后,variant.getJavaCompile()和variantOutput.getPackageApplication()警告的原因

WARNING: API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'. It will be rem...

2019-01-21 16:11:01 29088 6

原创 This view is not constrained vertically 的解决办法

This view is not constrained vertically: at runtime it will jump to the top unless you add a vertical constraint less

2019-01-18 14:00:07 20992 1

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