4 喻志强

尚未进行身份认证

锲而舍之,朽木不折;锲而不舍,金石可镂

等级
TA的排名 6k+

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

AS自带的Lint检查

2019-08-08 15:58:05

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

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

2019-08-08 14:34:10

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

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

2019-05-15 11:09:16

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

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

2019-05-13 11:38:42

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

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

2019-04-22 16:43:44

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

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

2019-04-15 16:07:27

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

Flutter异步编程在Android开发中,异步编程是必不可少的,比如网络请求、IO操作等很多都是异步操作,而在Android原生中,有主线程和工作线程的概念,耗时操作都是要放到工作线程中的,ui要在主线程中更新,因此,原生Android开发中对线程的处理是必不可少的,幸运的是,一些第三方库例如Rxjava、RxAndroid让我们的线程切换起来十分的方便。但是Flutter是基于Datt...

2019-04-10 21:46:38

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

Flutter导航和路由在Android中,我们使用Intent或者第三方路由SDK来解决页面之间的跳转和传值。在Flutter中,官方给我们提供了导航控件和路由控件来帮助我们进行页面的跳转和传值。官方文档:Flutter导航和路由在Flutter中,屏幕和页面统称为路径,我们可以通过routes来定义路径的别名,通过Navigator来管理这些路径。下面文章中我还是用页面表示路径,...

2019-04-09 15:38:27

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

Kotlin反射和混淆踩坑记录,解决kotlin反射运行时报java.lang.IllegalStateException:NoBuiltInsLoaderimplementationwasfound.以及java.lang.IllegalAccessException:Classjava.lang.Class<kotlin.reflect.jvm.internal.a.e$d>cannotaccessprivatefieldjava.lang错误的解决办法

2019-04-02 13:34:26

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

上一篇博客数据加解密方案选择中我们介绍了加密的几个方案选择,其中,最后一个方案使用RSA集合AES实现双向认证是目前来讲最安全的,也是含盖了前面几个方案的知识点。本篇博客我们就以最后一个方案为准,来进行代码实战,并记录一下踩过的坑。Android中的AES加密(兼容所有版本)在Android中使用AES加密的时,如果你从网上找的工具类,在Java环境下运行是没有问题的,但是当你放到手机或者...

2019-03-19 15:07:32

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

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

2019-03-18 17:43:44

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

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

2019-03-13 15:14:37

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

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

2019-03-10 14:20:21

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

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

2019-03-08 13:03:59

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

TextField构造方法:

2019-03-06 18:13:30

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

Kotlin扩展方法Kotlin的好处有很多,其中有一个超级好用的就是扩展方法。目前来讲,大多数的项目架构都是采用MVP+Rxjava+Dagger2+Retrofit2+AutoDispose+ARouter等等来进行封装的。今天我们主要来看看对于RxJava的扩展方法,超级好用。一个是统一的数据解析处理,另一个是统一的线程切换和自动解绑统一的线程切换和自动解绑的扩展方法之前我写过一...

2019-03-06 14:09:47

Flutter底部导航栏BottomNavigationBar

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

2019-03-04 16:23:29

Flutter 列表控件ListView

FlutterListView列表布局在手机上是最最常用的控件了。Android上的RecycleView尤其的强大。Flutter中也给我们提供了ListView,不过就目前的体验来看,性能跟原生的ListView或RecycleView比还是有一点差距的。滑动起来还是略卡。下面我们来看一下ListView的相关知识继承关系可以看到,ListView和GridView都继承自Bo...

2019-03-01 15:08:36

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

setState()ormarkNeedsBuild()calledduringbuild.theprocessofbuildingwidgets.AwidgetcanbemarkedasneedingtobebuiltduringthebuildThewidgetonwhichsetState()ormarkNeedsBuild()wascalledwas:

2019-02-28 19:10:29

Flutter网格控件GridView

FlutterGridView用法详解。FlutterGridView异步加载

2019-02-28 19:09:18

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。