当前位置: > 科技>正文

android页面信息传递(android activity传递数据)

2024-10-31 11:19:34 互联网 科技

本篇目录:

1、Android消息传递BroadCast、Handler和EventBus优缺点2、Android如何在Activity和Service之间传递数据3、实现两个Activity之间的信息传递

Android消息传递BroadCast、Handler和EventBus优缺点

轮询:客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送, 而是去服务端拽数据。但是实现简单,主要缺点:耗电,浪费用户流量等 Google的C2DM,具体不细说,缺点,服务器在国外,不是很稳定。

正常情况下,可以。EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。

android页面信息传递(android activity传递数据)  第1张

这几天我也思考了下,以下2种方案各有优缺点:整个主ui ,只创建一个handler,即全局的handler.然后多个activity共享这一个handler,发送消息。优点:只用一个消息循环,比较能提高性能。缺点:发送消息时,传递数据不方便。

EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。

Handler机制 消息发送主要流程如图 应用程序启动后,zygote fork一个应用进程后,和普通java程序一样,程序会首先执行ActivityThread中的main函数。在main函数中,程序首先会创建Looper对象并绑定到主线程中,然后开启loop循环。

使用场景 :应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。

android页面信息传递(android activity传递数据)  第2张

Android如何在Activity和Service之间传递数据

android中activity中向service传递参数,有如下方法:\x0d\x0a\x0d\x0a在Activity里注册一个BroadcastReceiver,Service完成某个任务就可以发一个广播,接收器收到广播后通知activity做相应的操作。

通过 onAttach(activity: Activity) 方法获得 activity 实例,直接调用 activity 中的方法获得数据。

另外,从设计理念的角度来看,Android认为,两个Activity如果要共享数据,可以通过Preference Storage或者文件、数据库进行,同时,在一般情况下,设备上只会有一个Activity在运行,因此,多个Activity之间传递数据也不是必需的。

实现两个Activity之间的信息传递

假设有2个Activity,分别为 ActivityA和 ActivityB, ActivityA负责调用 ActivityB。

android页面信息传递(android activity传递数据)  第3张

在Android中使用Intent在两个Activity间传递数据时,只能是基本类型数据,或者是序列化对象。

Activity之间是没有办法直接传递数据的。Android的设计原则是,用Intent在不同的Activity和进程之间进行通信,但是通常来讲,Intent中只能存入基本数据类型和系统默认支持的比如Uri之类的。

到此,以上就是小编对于android activity传递数据的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

数据

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本站联系的,一经查实,本站将立刻删除。