1. ホーム
  2. java

Bundleの中身をLogcatに出力しますか?

2023-11-17 12:04:14

質問

の内容を簡単に印刷する方法はありますか? Bundle の内容をLogcatに印刷する簡単な方法はありますか(キー名だけを印刷することができれば、クールです)?

どのように解決するのですか?

バンドル#keySet() は動作するはずです。

for (String key: bundle.keySet())
{
  Log.d ("myApplication", key + " is a key in the bundle");
}

また、Objectを取得したい場合は Bundle#get(String key) (これは私の回答の一番上にリンクしたのと同じドキュメントにもあります) . しかし、一般的な get() の呼び出しに注意してください。

  • Objectを操作していますね。単にLogに出力している場合。 toString() が呼び出され、すべてうまくいくでしょう。しかし、実際にキーのペアを使いたいのであれば、以下のようにする必要があります。 instanceof のチェックを行い、間違ったメソッドを呼び出さないようにする必要があります。
  • toString が呼び出されるので、もし特殊なオブジェクト(例えば ArrayList や Serializable/Parcelable の特殊なもの)を持っている場合は、プリントアウトから有用なものを得られない可能性が高くなります。