我可以从主活动中将数据显示保存在屏幕上的变量sbprint中。我从缓冲蓝牙数据的后台活动中获得的可变sbprint。我想将屏幕上显示的数据记录到另一个班级。 问题是我不能使用序列化,因为数据总是从我的蓝牙模块实时模式流。基于here如何将数据从后台进程传递到另一个活动
我用处理器从数据更新我的UI代码缓冲 注:我得到的内部处理程序共享偏好(这是内部MainActivity.java)
h = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case RECIEVE_MESSAGE: // if receive massage
byte[] readBuf = (byte[]) msg.obj;
String strIncom = new String(readBuf, 0, msg.arg1); // create string from bytes array
sb.append(strIncom); // append string
int endOfLineIndex = sb.indexOf("\r\n"); // determine the end-of-line
if (endOfLineIndex > 0) { // if end-of-line,
String sbprint = sb.substring(0, endOfLineIndex); // extract string
sb.delete(0, sb.length()); // and clear
txtArduino.setText("Data from Arduino: " + sbprint); // update TextView
SharedPreferences logPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
SharedPreferences.Editor editor = logPreferences.edit();
String textLog = txtArduino.getText().toString();
editor.putString("log", textLog);
editor.commit();
}
//Log.d(TAG, "...String:"+ sb.toString() + "Byte:" + msg.arg1 + "...");
break;
}
};
};
的H处理程序得到的消息对象基于此命令的蓝牙文档ConnectedThread类,
h.obtainMessage(RECIEVE_MESSAGE, bytes, -1, buffer).sendToTarget(); // Send to message queue Handler
我的问题是,我怎么使用处理器就像上面传递变量sbprint到我的新屏幕的类。
这里是我如何从另一个数据中接收数据。我从共享偏好得到传递变量缓冲区中的数据的建议
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_datalog);
tvDatalog = (TextView) findViewById(R.id.tvDatalog);
SharedPreferences logPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String text = logPreferences.getString("log", "null");
tvDatalog.setText(text+"\r\n");
}
注: 我从我的MainActivity数据,但好像我的AsyncTask的作品在我的MainActivity停止的画面切换到另一个类。我如何让我的背景活动也适用于这两个类。我的意思是每当我改变我的屏幕到另一个背景活动始终工作。
我不确定它是否适用于您,但您可以将数据存储在共享偏好设置中并在应用程序中的任何位置检索它。不要使用serialisable,因为它会让你的应用程序太慢。 – Hesam
是的,我知道这一点。任何关于共享偏好的推荐链接? –
最佳参考是Android文档。请参考以下链接:http://developer.android.com/training/basics/data-storage/shared-preferences.html – Hesam