我想从MainActivity 中创建的CalcThread发送连续生成的数据[] 到MainActivity中也创建的GraphActivitity。
我想使用Handler技术将乘法消息发送到Activity对象。希望有可能。我检查了所有提案,然后找到了。它们是:单次传输或不使用Handler或不添加第三方组件。据我了解,使用消息和处理程序是一种方便,安全且容易的技术。但是在我看来,这已经不太容易了,las。
In MainActivity:
//Start calculation thread
public void readStart(View v) {
audioRecorder = new AudioReceiver(myAudioFormat);
tAudioReceiverThread = new Thread(audioRecorder);
tAudioReceiverThread.start();
}
//Start Graph Activity
public void openGraph(View v) {
Intent intent = new Intent(MainActivity.this, GraphActivity.class);
Handler hh = new Handler();
audioRecorder.addHandler(hh);
intent.putExtra("fff", (Parcelable) hh);//my fantasy
startActivity(intent);
}
In AudioReceiver class:
public class AudioReceiver implements Runnable {
private List<Handler> handlers;
private AudioRecord mRecord;
public void addHandler(Handler handler)
{
handlers.add(handler);
}
private void sendMsg(short[] data)
{ for(Handler handler : handlers)
{
handler.sendMessage(handler.obtainMessage(1, data));
}}
In GraphActivity:
I have to get handler and register listener. Not sure.
我的问题是。如何在列表中注册处理程序并将其传输到GraphActivity?我想我不懂技术。所以请有人解释一下我在学校跳过的内容。谢谢。
答案 0 :(得分:0)
OpenGraph函数必须是这样的。 public void openGraph(View v) { Intent intent = new Intent(MainActivity.this, GraphActivity.class); Handler hh = new Handler(); audioRecorder.addHandler(hh); Bundle bundle = new Bundle(); bundle.putParcelable("hh",(Parcelable)hh); startActivity(intent,bundle); }