美文网首页禅与计算机程序设计艺术Android开发经验谈
Android开发框架(4)页面管理参数传递

Android开发框架(4)页面管理参数传递

作者: 陈言强 | 来源:发表于2020-06-08 09:55 被阅读0次

    EasyAndroid 是一个android完整的安装开发框架,已经应用于几个生产项目。

    github地址:https://github.com/chen397254698/EasyAndroid

    EasyAndroid

    一个完整基于kotlin的安卓开发框架,采用了mvvm设计模式。涵盖了:

    1、基于retrofit2封装的通过kotlin协程实现的网络框架

    2、基于阿里开源arouter修改的api-router实现项目模块化

    3、基于glide的图片加载缓存框架

    4、基于room实现的往来数据缓存加载

    5、基于step实现的数据异步提交

    6、基于PreferenceHolder实现的本地数据快速存储

    7、基于mlist实现的简单复杂列表的快速开发扩展等等。。

    本框架几乎涵盖了开发所需的所有模块组件。简单fork之后就可以基于框架快速开发。

    参数传递

    上文说到EasyAndroid的页面是基于fragment进行管理的,可以非常便捷的创建页面。而且和原来的activity创建页面完全兼容。那有了页面fragment,页面间的参数要如何传递?

    参数的传递和获取简单到令人发指!!!

    举个例子:

    //需要传递的参数较少就用Pair传递
    startPage(ParamsFragment::class, "day" to "第一天", "week" to 3, "wea" to 30.5F)
    
    //参数较多的情况下用bundle传递
    Bundle().run { 
        putString("day", "第一天")
        putInt( "week", 3)
        putFloat( "wea", 30.5F)
        startPage(ParamsFragment::class, bundle = this)
    }
    
    //参数获取和使用,更是简单
    
    class ParamsFragment :BaseSimpleFragment(){
    
        private val day by ArgString()
    
        private val date by ArgStringNull()
    
        private val week by ArgInt()
    
        private val wea by ArgFloat()
    
        override val contentLayoutId = R.layout.fragment_weather
    
        override fun initAndObserve() {
    
            _day.text = day
            _date.text = date
            _week.text = "$week"
            _wea.text = "$wea"
        }
    }
    

    参数回传

    支持传统的参数回传方式

    //设置requestCode
     startPage(ParamsFragment::class, bundle = this, requestCode = 101)
    
    //在onActivityResult 接收参数的回传
      override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
            super.onActivityResult(requestCode, resultCode, data)
            if (requestCode == 101 && resultCode == Activity.RESULT_OK) {
                
            }
        }
    

    这种方式相对繁琐,不是简单编程的风格。EasyAndroid支持非常灵活的事件通知,页面的回传用通知实现将更加便捷。下一章就将详细说明EasyAndroid中通知的使用。
    EasyAndroid中通知 https://www.jianshu.com/p/048f824e6f90

    相关文章

      网友评论

        本文标题:Android开发框架(4)页面管理参数传递

        本文链接:https://www.haomeiwen.com/subject/riaktktx.html