在android中更新数据后,将数据发送到其他活动
我在android中有两个活动活动1和活动2。我想从活动1向活动2发送数据。当活动最小化时,我的活动1会随时更新。当活动1中的数据更新时,我想随时将更新的数据发送到另一个活动2。…您可以使用处理程序将数据发送到另一个活动。 步骤1: 步骤2:在android中更新数据后,将数据发送到其他活动,android,android-layout,android-intent,android-activity,Android,Android Layout,Android Intent,Android Activity,我在android中有两个活动活动1和活动2。我想从活动1向活动2发送数据。当活动最小化时,我的活动1会随时更新。当活动1中的数据更新时,我想随时将更新的数据发送到另一个活动2。…您可以使用处理程序将数据发送到另一个活动。 步骤1: 步骤2: //-- Passing data from source activity. Message msg=new Message(); msg.arg1=10;//Pass int value msg.obj="Test Message";//Pass a
//-- Passing data from source activity.
Message msg=new Message();
msg.arg1=10;//Pass int value
msg.obj="Test Message";//Pass any type of value
DestinationActivity.handler.sendMessage(msg);// DestinationActivity is your activity from u want to pass data.
您可以简单地使用回调和单例,其思想如下:
public class Mediator{
static MyCallBack mCallBack;
public static void setCallback(MyCallBack cb){
mCallBack = cb;
}
public static void callCallBack(Object data){
if(mCallBack != null){
mCallBack.onUpdate(data);
}
}
public static interface MyCallBack{
public void onUpdate(Object data);
}
}
first extends Activity{
//methods and fields
//...
private void update(){
//some logic...
String someData = "The data";
Mediator.callCallBack(someData);
}
}
second extends Activity{
public void onCreate(){
//...
Mediator.setCallback(new Mediator.MyCallBack(){
public void onUpdate(Object data){
//LOGIC WITH DATA HERE
}
});
}
//methods and fields
//...
}
将该数据保存在SharedReference中..您可以从任何活动中访问..如果可以保存..但无需更新我的活动2。我想要数据。我的活动将不会刷新,因此共享首选项不是选项。然后在后台使用某些内容更新它。当活动最小化时,它如何知道数据已更新?我已在其中插入日志…我怀疑它是否由于静态处理程序而泄漏内存。
public class Mediator{
static MyCallBack mCallBack;
public static void setCallback(MyCallBack cb){
mCallBack = cb;
}
public static void callCallBack(Object data){
if(mCallBack != null){
mCallBack.onUpdate(data);
}
}
public static interface MyCallBack{
public void onUpdate(Object data);
}
}
first extends Activity{
//methods and fields
//...
private void update(){
//some logic...
String someData = "The data";
Mediator.callCallBack(someData);
}
}
second extends Activity{
public void onCreate(){
//...
Mediator.setCallback(new Mediator.MyCallBack(){
public void onUpdate(Object data){
//LOGIC WITH DATA HERE
}
});
}
//methods and fields
//...
}