一个Activity实时向另一个Activity发送消息

Android 码拜 9年前 (2015-04-25) 1758次浏览 0个评论

Android开发过程中,从一个Activity类中(A)实时的向另一个Activity类中(B)发送消息,在B中实时显示A发过来的消息,在网上查了一些,有说用handler操作的,本人初学Android不久,不是很清楚,还请高手们详细指教,不胜感激!

一个Activity实时向另一个Activity发送消息
5分
Intent intent1 = new Intent();
intent1.putExtra(“key”,”value”); // 这里用来传值
intent1.setClass(this, Next.class);

String value = getIntent().getStringExtra(“key”); // 在Next类里,通过这样来取值

一个Activity实时向另一个Activity发送消息
5分
楼主的提问好像有些问题,A向B传递数据应该没得实时吧,毕竟B打开的时候,A是暂停或销毁的。同楼上这个方法可以传递数据。
一个Activity实时向另一个Activity发送消息
是这样,A中每秒都在接收串口上报的数据,想把A每秒收到的数据传给B,让B也能一秒一秒的显示串口上报的数据,我开始没有说清楚。
一个Activity实时向另一个Activity发送消息
引用 2 楼 wangmin06jb 的回复:

楼主的提问好像有些问题,A向B传递数据应该没得实时吧,毕竟B打开的时候,A是暂停或销毁的。同楼上这个方法可以传递数据。

是这样,A中每秒都在接收串口上报的数据,想把A每秒收到的数据传给B,让B也能一秒一秒的显示串口上报的数据,我开始没有说清楚

一个Activity实时向另一个Activity发送消息
引用 1 楼 kouwoo 的回复:

Intent intent1 = new Intent();
intent1.putExtra(“key”,”value”); // 这里用来传值
intent1.setClass(this, Next.class);

String value = getIntent().getStringExtra(“key”); // 在Next类里,通过这样来取值

在不关闭A的情况下能保证B不停地更新吗?

一个Activity实时向另一个Activity发送消息
5分
从网上找到一个类似的方法,供你参考一下

原理:假设有两个Activity:ActivityMain 和 ActivityNew,在 ActivityMain 中启动 ActivityNew,而在 ActivityNew 可以访问 ActivityMain 中的成员对象,调用其公开的方法。那么先在 ActivityMain 中定义一个静态的成员变量,类型为 ActivityMain ,然后在 OnCreate过程中,将ActivityMain 的实例this赋值给该成员:

public class ActivityMain extends Activity {

        public static ActivityMain MainAct; //定义一个本类型的成员变量
        
        
        String GetStr(){
                return “shao jian”;
        }
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main); 

                MainAct = this; //在这里将本实例赋值给静态成员变量
        }

}

在ActivityNew中访问ActivityMain中的成员变量和方法:

public class ActivityNew extends Activity {
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                
                String title = bundle.getString(“Title”);

                title = MainActicivity.MainAct.GetStr(); //调用成员方法
                t.setText(title.trim());

                super.onCreate(savedInstanceState);
        }
}

一个Activity实时向另一个Activity发送消息
5分
我感觉吧,应该是先设计一个Service,由Service来读取串口数据(并保存?)。
两个Activity都bind这个Service(onResume的bind,onPause的unbind),然后通过Service的Interface读取该Service收到的串口数据
一个Activity实时向另一个Activity发送消息
引用 7 楼 youngc527 的回复:

我感觉吧,应该是先设计一个Service,由Service来读取串口数据(并保存?)。
两个Activity都bind这个Service(onResume的bind,onPause的unbind),然后通过Service的Interface读取该Service收到的串口数据

谢谢,可以试试,我之前在A中开了一个线程去读串口,还没有用过service

一个Activity实时向另一个Activity发送消息
引用 6 楼 kouwoo 的回复:

从网上找到一个类似的方法,供你参考一下

原理:假设有两个Activity:ActivityMain 和 ActivityNew,在 ActivityMain 中启动 ActivityNew,而在 ActivityNew 可以访问 ActivityMain 中的成员对象,调用其公开的方法。那么先在 ActivityMain 中定义一个静态的成员变量,类型为 ActivityMain ,然后在 OnCreate过程中,将ActivityMain 的实例this赋值给该成员:

public class ActivityMain extends Activity {

        public static ActivityMain MainAct; //定义一个本类型的成员变量
        
        
        String GetStr(){
                return “shao jian”;
        }
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main); 

                MainAct = this; //在这里将本实例赋值给静态成员变量
        }

}

在ActivityNew中访问ActivityMain中的成员变量和方法:

public class ActivityNew extends Activity {
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                
                String title = bundle.getString(“Title”);

                title = MainActicivity.MainAct.GetStr(); //调用成员方法
                t.setText(title.trim());

                super.onCreate(savedInstanceState);
        }
}

谢谢,我试一试。

一个Activity实时向另一个Activity发送消息
请问楼主你的问题解决了吗?可以的话能不能给个准确的参考,谢谢谢谢

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明一个Activity实时向另一个Activity发送消息
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!