メインアクティビティを含むアプリケーションがあります。このアプリケーションには、すべてのアプリケーションセットアップオプションといくつかのユーザー選択を備えた非常にシンプルな画面があります。メイン画面のボタンは他のアクティビティを開始します。
(1)現在、Bluetoothスキャナーをアプリケーションに実装しています。設定を編集し、メインアクティビティでBluetooth接続を確立し、その接続を(バンドルまたはパーセル可能で?)他のアクティビティに渡すことができるようにしたいと思います。
接続を渡す方法として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が複雑になる可能性がありますが、それでもどういうわけか可能だと思いましたか?