Java-Android回调侦听器-将值从SDK中的pojo发送到应用程序的活动

Java-Android回调侦听器-将值从SDK中的pojo发送到应用程序的活动,第1张

概述我在执行 *** 作并返回布尔值的SDK中深藏了一个Java类.它不了解应用程序的主要活动,但是我需要主要活动才能接收该布尔值.我已经看到了很多有关回调,广播和侦听器的问题,但它们似乎都对该活动有所了解.我的pojo确实有一个activityContext,但是我不知道如何将值返回给应用程序的主活动

我在执行 *** 作并返回布尔值的SDK中深藏了一个Java类.它不了解应用程序的主要活动,但是我需要主要活动才能接收该布尔值.

我已经看到了很多有关回调,广播和侦听器的问题,但它们似乎都对该活动有所了解.我的pojo确实有一个activityContext,但是我不知道如何将值返回给应用程序的主活动.

我已经在我的pojo中使用了AsyncTask,并且试图找出如何以onPostExecute方法发送布尔值的方式,使应用程序的主活动可以接收它.

有人知道怎么做这个吗?

解决方法:

我建议使用消息总线或可观察/观察者模式.

Square有Otto一个不错的小开源库,它实现了消息总线.

例如,观察者模式在wikipedia中有很好的描述.

无论哪种方式,您基本上都必须开始监听POJO(如果您使其成为可观察的),或者在onResume()(或onStart())中订阅总线事件,然后在活动中停止在onPause()中监听.

总线

我更喜欢总线,因为它的耦合很松散,而且您可以将任意的POJO发送到总线,并且仅侦听一种特定类型的事实.

所以您发布一条消息:

bus.post(new SomethingICareAbout("I really really do"));

以及代码库中的其他位置(在本例中为活动):

@Subscribepublic voID onSomethingIcareAbout(SomethingICareAbout thingsAndStuff) {    // Todo: React to the event somehow. Use what you received.}@Subscribepublic voID onSomethingElseIcareAbout(SomethingElseICareAbout otherThings) {    // Todo: React to the event somehow. Use what you received.}

上面的内容是有意简化的,您仍然需要创建总线并进行预订,但是您会在docs:P中找到它
它还使用注释,并且非常轻巧(按代码).

观察者/可观察

Observer / Observable在另一方面是Java的一部分,因此是内置的.但是它紧密耦合,您的活动将必须实现Observer,POJO将实现Observable,并且您将必须在Activity中实现update()方法,无论您通过Observable发送什么,此更新都将获取所有更新.

我希望这有道理:)

总结

以上是内存溢出为你收集整理的Java-Android回调侦听器-将值从SDK中的pojo发送到应用程序的活动全部内容,希望文章能够帮你解决Java-Android回调侦听器-将值从SDK中的pojo发送到应用程序的活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存