java - LiveData vs Handler and LocalBroadcast -
i have old android/java code, contains 2 derives intentservice
, , these services not run in separate processes.
the question way return result these intentservice
.
one service return result using handler
+ runnable
, run code in main loop:
new handler(looper.getmainlooper()).post(new runnable() { @override public void run() { myapplication.get().setfoo(something); } });
the other 1 uses localbroadcastmanager.getinstance(this).sendbroadcast(in);
send message activity
, , activity
subscribe via broadcastreceiver
on message in onresume
, , unsubscribe in onpause
.
am right, , in both case possible use livedata
simplify things?
intentservice
should create livedata
, want result should observe
it, , when new data arrives intentservice
should call postvalue
, or may there reefs prevent usage of livedata
here?
both methods work using livedata since purpose of livedata have on thread , still notify users when has changed. seems replace localbroadcastmanager.getinstance(this).sendbroadcast(in);
, intentservice postvalue. have activity or needs aware of changes become observer.
Comments
Post a Comment