今回はAndroidのClipboardManagerを利用してコピペ(コピー&ペースト)ができるようにしてみましょう。

Androidのクリップボード

クリップボードとは、テキストやバイナリのデータを一時的に保存する場所のことです。この機能を利用することで、コピぺをすることができます。Androidのクリップボードでデータとして扱えるデータは大きく分けて次の3種類に大別されます。

  1. テキスト
  2. URI(画像などの保存場所を示すパス)
  3. Intent(アプリのショートカットなど)

これらのデータがコピぺされる際の流れは、以下の図に示してあります。
Androidのコピー&ペーストの全体像

Androidのコピー&ペーストの全体像(画像はAndroid Developersより引用)。


クリップする際にはClipboardManagerがクリップするデータをClipDataオブジェクトとしてクリップボードに保管します。ClipDataオブジェクトの中にはClipDescriptionという、コピーした中身のMIMEタイプを管理するオブジェクトと、コピーした内容そのもののオブジェクトであるClipData.Itemが存在します。ペーストする際には、ClipDescriptionにてMIMEタイプを判断し、ClipData.Itemをペーストするという流れになっています。

クリップボードの概略は以上になります。では、次のページでは実際にテキストのコピペができるアプリを開発してみましょう。