iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Kotlin四大组件中的broadcast广播
  • 690
分享到

Kotlin四大组件中的broadcast广播

KotlinbroadcastKotlinbroadcast广播Kotlin广播 2022-12-08 20:12:18 690人浏览 独家记忆
摘要

目录创建Fragmen 碎片主界面中添加ViewPager创建广播小结在上一章中,有个问题可能大家都没有注意,Acitivity 在使用startActivityForResult后

在上一章中,有个问题可能大家都没有注意,Acitivity 在使用startActivityForResult后,可以给另一个的Acitivity 或者Fragment 进行数据参数的传递,可以回去也可以回来。但如果中间要进行数据的交换,使用startActivityForResult 是不能够做到的。

最常见的一种情况是Acitivity 中启动 碎片Fragmen 的时候,可以通过参数的方式进行传递,但碎片Fragmen要传回来数据,就没那么容易了。

Android 中,可以使用 Android 中四大组件之一的Broadcast,我们叫他广播。这一节的例子就是展示怎么在碎片FragmenAcitivity 中的通讯问题,我们会建立一个AcitivityFragmen ,在Fragmen 中发送广播,Acitivity中接受,这样就可以达到双向交流的目的。

创建Fragmen 碎片

建立起Fragmen 碎片,在Fragmen 中发送广播给Acitivity ,让Acitivity 处理相应的广播命令。

        fun newInstance(position:Int,image_id:Int,desc:String):BroadcastFragment {
            val bundle = Bundle()
            bundle.putInt("position",position)
            bundle.putInt("image_id",image_id)
            bundle.putString("desc",desc)
            val fragment = BroadcastFragment()
            fragment.arguments = bundle
            return fragment
        }

在建立Fragmen 的时候,Acitivity通过参数的形式,把数据传递给Fragmen ,这里就有了一次数据参数的传递过程。

主界面中添加ViewPager

我们建立ViewPager 的目的,是这ViewPager 中添加 Fragmen,来模拟 FragmenAcitivity 之间的通信问题。

    <androidx.viewpager.widget.ViewPager
        android:id = "@+id/vp_content"
        android:layout_width="match_parent"
        android:layout_height="550dp">
        <androidx.viewpager.widget.PagerTabStrip
            android:id = "@+id/pts_tab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </androidx.viewpager.widget.ViewPager>

建立起适配器,来加载Fragmen 碎片。

class BroadcastPagerAdapter(fm:FragmentManager,private val GoodsList: MutableList<GoodsInfo>):FragmentStatePagerAdapter(fm) {
    override fun getCount(): Int {
        return goodsList.size
    }
    override fun getItem(position: Int): Fragment {
        return BroadcastFragment.newInstance(position,goodsList[position].pic,goodsList[position].desc)
    }
    override fun getPageTitle(position: Int): CharSequence? {
        return goodsList[position].name
    }
}

在主界面中,加载适配器。

        pts_tab.setTextSize(TypedValue.COMPLEX_UNIT_SP,20f)
        vp_content.adapter = BroadcastPagerAdapter(supportFragmentManager,GoodsInfo.defaultList)
        vp_content.currentItem = 0

到这里,界面该有的控件就建立起来。

创建广播

发送广播和传递数据都是用Intent,先建立起BroadcastReceiver

    private var bGChangeReceiver:BgChangeReceiver? = null
    private inner class BgChangeReceiver:BroadcastReceiver(){
        override fun onReceive(p0: Context?, p1: Intent?) {
        }
    }

注册广播,

    override fun onStart() {
        super.onStart()
        bgChangeReceiver = BgChangeReceiver()
        val filter = IntentFilter(BroadcastFragment.EVENT)
        activity?.reGISterReceiver(bgChangeReceiver,filter)
    }
    override fun onStop() {
        activity?.unregisterReceiver(bgChangeReceiver)
        super.onStop()
    }

新建一个按钮,来发送广播,

        btn_cast.setOnClickListener {
            val intent = Intent(BroadcastFragment.EVENT)
            intent.putExtra("color",1)
            activity?.sendBroadcast(intent)
        }

小结

Android中四大 组件之一的 Broadcast 这里也简单接受了下,如果之前有接触过windows编程的话,你会接触过sendmessage的函数,其实他就是一种广播,跟Android一样没有什么两样,都是为了组件和组件,界面和界面直接的沟通。

到此这篇关于Kotlin四大组件中的broadcast广播的文章就介绍到这了,更多相关Kotlin broadcast内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Kotlin四大组件中的broadcast广播

本文链接: https://www.lsjlt.com/news/174332.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Kotlin四大组件中的broadcast广播
    目录创建Fragmen 碎片主界面中添加ViewPager创建广播小结在上一章中,有个问题可能大家都没有注意,Acitivity 在使用startActivityForResult后...
    99+
    2022-12-08
    Kotlin broadcast Kotlin broadcast广播 Kotlin 广播
  • Android四大组件之broadcast广播详解
    目录基础广播两大类广播广播的动态和静态注册监听时间变化监听系统启动案例创建 receiver设置权限发送自定义广播如何发送与接收有序广播基础广播 两大类广播 标准广播:异步执行,广播...
    99+
    2024-04-02
  • Android四大组件之broadcast广播使用讲解
    目录一、广播机制概述二、广播接收者1、广播接收者的创建2、广播接收者的注册三、广播的类型1、无序广播2、有序广播一、广播机制概述 通常情况下在学校的每个教室都会装有一个喇叭,这些喇叭...
    99+
    2022-12-26
    Android broadcast Android broadcast广播组件
  • Android四大组件之广播BroadcastReceiver详解
    定义 BroadcastReceiver,“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产...
    99+
    2024-04-02
  • Pytorch中的广播机制详解(Broadcast)
    目录1. Pytorch中的广播机制2. 广播机制的理解3. 两个张量进行广播机制的条件4. 当两个张量满足可广播条件后5. 从空间上理解广播机制总结1. Pytorch中的广播机制...
    99+
    2023-01-03
    Pytorch广播机制 Pytorch Broadcast 广播机制
  • Broadcast广播机制在PytorchTensorNumpy中的使用详解
    目录1.什么是广播机制2.广播机制的规则3.代码举例4.原地操作1.什么是广播机制 根据线性代数的运算规则我们知道,矩阵运算往往都是在两个矩阵维度相同或者相匹配时才能运算。比如加减法...
    99+
    2024-04-02
  • vue的四大组件是什么
    这篇“vue的四大组件是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue的四大组件是什么”文章吧。vue有4大组件:...
    99+
    2023-07-04
  • Java NIO中四大核心组件的使用详解
    目录一、基础概念1.1 IO和NIO的区别1.2 缓冲区1.3 通道1.4 选择器和选择键二、核心组件2.1 Channel2.2 Buffer2.3 Selector三. 总结Ja...
    99+
    2023-05-20
    Java NIO核心组件使用 Java NIO组件 Java NIO
  • android的四大组件分别是什么
    这篇“android的四大组件分别是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“android的四大组件分别是什么”文...
    99+
    2023-07-04
  • android的四大组件有哪些优缺点
    Android的四大组件包括Activity、Service、BroadcastReceiver和ContentProvider,它...
    99+
    2023-09-15
    android
  • 云服务器的四大件有哪些组成部件
    CPU CPU是云服务器的核心部件,它是一个计算机系统中最核心的组件之一。CPU的性能决定了整个云服务器的运行效率和稳定性。一般来说,云服务器中的CPU主要由两个部分组成:核心处理器和用户级处理器。核心处理器负责CPU的主线程,用户级...
    99+
    2023-10-27
    部件 服务器 有哪些
  • 云服务器的四大件有哪些组成
    云服务器是一种虚拟化软件,由服务器硬件和云存储服务组成。以下是云服务器的几大件: 服务器硬件:主要是服务器所依赖的硬件系统,如处理器、内存、磁盘、操作系统、网络等。 云存储服务:是一种云端存储服务,用于保存用户的文件、数据、应用程序等。...
    99+
    2023-10-27
    服务器 有哪些
  • 云服务器的四大件有哪些组成部分
    处理器(CPU):用于运行计算密集型任务的处理器,通常包括英特尔至强E5四核处理器、AMD羿龙64核处理器、AMD锐龙36核处理器等。 内存(Memory):用于运行计算密集型任务的内存,通常包括128GB、256GB、4TB等不同容量的...
    99+
    2023-10-27
    组成部分 服务器 有哪些
  • 云服务器的四大件有哪些东西组成
    CPU计算能力:云服务器可以为用户提供高性能计算服务,它通过处理数据流和应用程序请求来为用户提供计算能力。CPU计算能力是云服务器的关键部分,它可以让用户以低成本完成高强度的计算任务。 内存计算能力:云服务器可以为用户提供内存计算能力,它...
    99+
    2023-10-27
    东西 服务器 有哪些
  • Anroid四大组件service之本地服务的示例代码
    服务是Android四大组件之一,与Activity一样,代表可执行程序。但Service不像Activity有可操作的用户界面,它是一直在后台运行。用通俗易懂点的话来说:如果某个应用要在运行时向用户呈现可操作的信息就应该选择Activit...
    99+
    2023-05-30
    android service 本地服务
  • hadoop中的三大组件分别是什么
    这篇文章主要介绍hadoop中的三大组件分别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!hadoop三大组件:1、HDFS,一个高可靠、高吞吐量的分布式文件系统;2、MapReduce,一个分布式的离线并行计...
    99+
    2023-06-14
  • VUE 单文件组件在大型项目中的应用
    组件化和可重用性 SFC 允许将组件封装在单独的文件中,从而实现代码的模块化。每个组件都有自己的模板、样式和脚本,可以独立开发和维护。这使得大型项目的开发变得更加高效,因为团队成员可以专注于特定的组件,而无需担心整体应用程序的结构。 此外...
    99+
    2024-04-02
  • python中必会的四大高级数据类型(字符,元组,列表,字典)
    一. 字符串 生活中我们经常坐大巴车,每个座位一个编号,一个位置对应一个下标。 字符串中也有下标,要取出字符串中的部分数据,可以用下标取。 python中使用切片来截...
    99+
    2024-04-02
  • vue中element-ui组件默认css样式修改的四种方式
    目录前言1.使用全局统一覆盖 2.在.vue文件中修改 3.修改组件的style样式 4. 参考element-ui官方文档的api 疑问总结 前言 修改element-ui组件的默...
    99+
    2024-04-02
  • vue中集成省市区街四级地址组件的实现过程
    目录前言效果图代码实现area-select 组件事件总结前言 省市区地址大家应该都不陌生吧,网上买个东西,得填地址。中午定个饭,得写地址;叫个货拉拉叫个跑腿,是不是也得写...
    99+
    2022-12-29
    vue城市选择组件 vue地区选择器 vue省市区街四级地址组件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作