我有一个包含主 Activity 的应用程序,它有一个非常简单的屏幕,其中包含所有应用程序设置选项和一些用户选择。主屏幕按钮启动其他活动。
(1) 我现在正在应用程序中实现蓝牙扫描仪,我希望能够编辑设置并在主 Activity 上建立蓝牙连接,并将该连接(通过 Bundle 或 Parcelable?)传递给其他 Activity。
我查找 Bundle 作为传递连接的一种方式,但它似乎只接受原始类型和基本类型作为值。我注意到 Intent.putExtra(String, Parcelable) 可用,但 Parcel 有点让我困惑。实现这一点的最佳方法是什么,甚至有可能吗?
一些相关代码:
//subclass definitions for the Runnables which start the applications in their own threads
private final Handler smsHandler = new Handler();
private final Handler smsOutHandler = new Handler();
private final Runnable smsIntentRunnable = new Runnable() {
public void run() {
Intent smsIntent = new Intent(smsMobile.this, smsActivity.class);
startActivity(smsIntent);
}
};
private final Runnable smsOutIntentRunnable = new Runnable() {
public void run() {
Intent smsOutIntent = new Intent(smsMobile.this, smsOutActivity.class);
startActivity(smsOutIntent);
}
};
//button listeners located in onCreate(), which start the Activities
newTicket.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
smsHandler.post(smsIntentRunnable);
}
});
updateTicket.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
smsOutHandler.post(smsOutIntentRunnable);
}
});
(2) 我也可以通过数据库连接吗?我知道必须对 SQLiteOpenHelper 进行子类化,这可能会使 IPC 复杂化,但我认为它仍然可能以某种方式实现吗?