Android 开发中的一些痛点解决方案

17 篇文章 0 订阅
7 篇文章 0 订阅

痛点

我们团队在整个开发过程中, 会有几个很恶心的痛点, 代码不能不写, 但是写了有恶心. 所以在组件化过程中, 发现这些是可以被解决的的.
于是 Component 从最早的设计上就考虑了一些痛点

  • 你有没有因为在 Adater 或者 Dialog 或者其他没有 Activity 的地方需要 startActivityForResult. 痛点解决方式,0入侵
  • 你有没有因为进入一些界面有前置条件而写一些恶心代码. 比如 A 界面需要定位成功才能进去. 你可能有以下两种方式去解决. 痛点解决:Component 页面拦截器
    • 你不得不在任何一个跳转到 A 界面的地方去判断当前是否定位成功, 处理完毕之后再跳转. 这种方式恶心至极, 每次都要写一些固定代码
    • 在目标界面去处理定位的事情. 这个方式相对来说比较好, 但是它毕竟已经进入了 A 界面, A 界面需要额外考虑这些, 并且还可能要展示定位失败的视图等等
    • 你使用 ARouter 的 extra 做, 这个是一一种方式, 但是有两个问题:
      • ARouter 的路由拦截器设计在子线程, 而定位这些漫长的, 通常你希望弹个框卡住用户操作, 你会发现写起来贼恶心. Component 设计在主线程的, 但是整个跳转是 "异步的"
      • ARouter 的每个拦截器都是全局拦截器, 你每多一个这种拦截器, 都会加长整个路由的流程
  • 整合 RxJava, Component 本身完美支持 RxJava, 这样子你的跳转就可以嵌入你任何一个其他 RxJava 流程中去了. 不会像之前一样整个流程被打断
  • 你以为你写的界面, 你可以路由到就已经 ok 了吗? 其实不然, 每一个你写的界面、系统界面、第三方界面都应该是一个可路由的目标, 其他框架不能给任意一个界面标记路由. 这个也是一个痛点. 解决方案
    • 比如拨打电话界面, 是需要申请权限才能进入的. 如果你能给拨打界面标记一个路由, 并且结合上面的页面拦截器. 你会发现这件事做起来舒服至极!
    • 比如拍照界面, 需要申请相机权限. 同样可以这么处理.
    • 当然了, 适用于任何一个你觉得可以标记的界面. 并结合页面拦截器会有奇效!
  • 有些界面参数较多, 跳转入口也较多, 你会发现维护这些跳转的参数其实会比较头疼. 这时候你可以使用 类似 Retrofit 接口编程式跳转
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值