Toeii's Blog

Thinking will not overcome fear but action will.

Flutter封装dio网络请求

针对上次的开源项目改良一下

前言 本篇是针对Dio的封装,支持Restful Api,用起来更舒服。 dio项目地址 过程 添加dio依赖 编辑项目根目录/pubspec.yaml,找到dependecies属性,添加dio依赖 dependencies: flutter: sdk: flutter dio: 1.0.13 添加工具类 新建项目根目录/utils/HttpU...

Flutter与Android混合开发之路由通信

前言 当Android项目集成Flutter项目之后,将两个项目链接起来的核心就是路由通信了。所以在这里记录以下混合开发的路由通信方式,加深印象。 正文 Flutter提供 MethodChannel、EventChannel、BasicMessageChannel 三种方式。 1,类似注册监听,发送的模式 原则 2,使用顺序:先注册,后发送,否则接收不到。尤其使用 MethodChan...

Flutter与Android混合开发之项目集成

前言 大多数公司的Android项目无法向Flutter整体迁移,这样代价太大。所以相对于单独开发Flutter应用,混合开发对于线上项目更具有实际意义,可以把风险控制到最低,也便于进行业务迭代上线。 思考 目前流行的混合方案有几种: 1,官方推荐方案 2,闲鱼团队使用的方案 3,头条团队使用的方案 由于考虑到一般公司的开发团队大小和项目体量,我个人认为更好的混...

利用fat-aar融合aar文件

前言 因为之前公司的聚合支付SDK分离了支付业务模块。由于业务需要(菠菜网用到),所以把之前的微信支付宝聚合的aar与银联的aar进行融合。在这里记录分享一下。注:文章代码并非线上代码,而是之后我重新写过的demo代码。 fat-aar的项目地址点我 介绍 aar文件是一种Android归档包,这种归档包是由Gradle构建库的Android Library插件产出的,它本质是一个压缩包...

RecyclerView中需要优化的地方

前言 毫不夸张的说,RecyclerView占应用UI的60%,所以RecyclerView的性能优化其实还是挺重要的。 以下是我对RecyclerView性能优化的一点知识总结,在这里记录和分享一下。 Diffutil DIffUtils是Support-v7:24:2.0中,更新的工具类,它主要是为了配合 RecyclerView 使用,通过比对新、旧两个数据集的差异,生成旧数据到新数...

模拟Android界面劫持

Android中最常见的攻击手段

前言 今天一款小众的搜图app上找一点图片资源,突然页面就弹出了一个全屏的“菠菜”广告页,刚开始还在纳闷这是什么需求这么硬核,后来才反应过来应该是界面被劫持了。出于好奇心,自己也研究一下。在这里记录与分享 介绍 什么是Activity劫持?一般情况下分为两种: 第一种是,手机里面安装了恶意程序,恶意程序会注册一个Receiver,响应android.intent.action.BOOT...

汇总Service保活方案

某呼叫器App用到的

前言 最近利用多余时间接了一个呼叫器的工具类app单子,其中为了实现锁屏呼叫功能,采用了多种方式保活后台服务相结合从而实现该功能。由于不同的手机,不同的Android版本保活效果各有差异,所以在这里总结记录分享一下。 普通方案 1,利用onStartCommand重启(提高存活率) @Override public int onStartCommand(Intent i...

Android WebView之Wap支付

前言 wap支付实现起来很简单,只需要在WebView做相关处理就行,这里记录分享一下。 创建WebView及其简单配置 相信你已经了解过下面的webview创建方式: <LinearLayout android:id="@+id/layout_webview" android:layout_width="match_parent" ...

Kotlin的一些使用记录

开发中的一些日常使用记录

前言 本篇主要记录一些日常用到的Kotlin开发技巧 空安全处理 在Kotlin中, 最出名的特性莫过于就是它的空安全了, 毕竟NPE应该是大家最不想看到的错误信息. 我们先回顾下Kotlin如何处理空安全 我们有四种方法来避免NPE 在条件中检查null 安全调用使用?. 使用Elvis 操作符 ?: 使用!!操作符 当然关于第四点使用!!操作符,...

浅析SnapHelper

RecyclerView的好帮手

前言 今天在项目中需要实现一个RecyclerView滑动选择器,但是由于需要考虑到滑动阻尼和双重Item定位等问题,就考虑使用SnapHelper这个辅助类。出于对控件的好奇心,查看了一下源码,在此记录一下。 介绍 SnapHelper是一个抽象类,官方提供了一个LinearSnapHelper的子类,可以让RecyclerView滚动停止时相应的Item停留中间位置。25.1.0版本中...