2016-06-24 4 views
1
Bundle bundle = data.getExtras(); 
Bitmap b = (Bitmap) bundle.get("data"); 
iv.setImageBitmap(b); 
  1. アンドロイド混乱、。意味ですか?ビットマップb =(ビットマップ)bundle.get( "data"); ( "データ")bundle.getん何

  2. "データ"がキーである場合、これがインテントで自動的に使用されるキーであることをどのようにして知ることができますか?他のキーはありませんか?

  3. すべてのアクションインテントは同じキーを持っていますか?すなわち「データ」キー

  4. インテントでは、データは常にバンドルの形式で送信されますか?

答えて

2

1:Aバンドルは、指定したキーに値を格納する一種のマップです。しかし地図とは対照的に、Bundlesはパーセル化可能であり、パーセル可能な値や受け入れ可能な値だけを受け入れることができるので、すべてのアプリが独自のプロセスで実行されるため、Androidでは非常に重要なプロセス間で転送できます(同じuserIdを共有するアプリ彼らは少数派である)。

2:キーの背後にあるもの、または使用されるキーは、バンドルを提供するコンポーネントによって異なります。たとえば、MediaStoreのようなシステムコンポーネントの場合、通常はcontstantsまたはバンドルで何を期待するかを説明するドキュメントがあります。

3:いいえ、上記を参照してください。開発者は自由に任意のキーで値を入力できます。あなたはそれが文書化されているか、または可能であればコードをブラウズする場合にのみ、何を期待するかを知っています。

4:必ずしもそうではありません。 URIとMIMEタイプをインテントと共に渡すこともできます。しかし、ほとんどの場合、バンドルが使用されます。 URIは、例えば、コンテンツプロバイダーを指して、実際のデータのために提供されたURIで照会することができます。

+0

初心者として多くの問題に直面してくれてありがとうございます。 –

+2

'Bundle'はプリミティブデータ型をバイト、ショート、整数などとして格納することができます。それらの配列と' Size'、 'SizeF'、私が言うのドキュメントを見つけることができます 'IBinder' – pskink

+0

は、キーが「ACTION_IMAGE_CAPTUREは」意図は –

関連する問題