データのシェア - 単純なテキストを他のアプリに送る

スマートフォンではデータを複数のアプリケーションで簡単に共有 (シェア) できることも大きな魅力です。

データのシェアというのは、例えば次のようなことです。

*カメラで撮った写真を、画像編集アプリに送る

*画像編集アプリで編集した画像をツイッターに送る、フェイスブックで共有する

デスクトップ OS などでは、ファイルとして明確に保存して、他のソフトからそれを「開く」という操作をするので問題ありません。

しかし、スマートフォンでは基本的に片手で、ボタンを数回押すだけで操作が完了するということが求められますから、ファイルとして保存・・・ そして、それをシステムのファイルシステムから探して開く、という操作はあまり望ましいものではありません。

そこで、データのシェアということが重要になります。

ここではまずデータのシェアとして、単純な文字データ、テキストのシェアの方法を見ていきましょう。

単純なテキストを他のアプリに送る方法

ここで作るプログラムを実行すると次のことができます。

ボタンがひとつ配置されています。

単純なテキストを他のアプリに送る方法

このボタンを押すと、データをシェアするアプリケーションのリストが表示されます。

単純なテキストを他のアプリに送る方法

ここで、例えば Twitter を選択すると・・・

単純なテキストを他のアプリに送る方法

私の Twitter アプリに、ここで作るプログラムから送った文字 "TEXT!" という文字が取り込まれていることがわかります。

単純なテキストを他のアプリに送る方法

あるいは上のリストから Gmail を選択すると、Gmail アプリにて、ここで作るプログラムから送った文字 "TEXT!" と "SUBJECT!" がそれぞれ本文と件名に取り込まれていることがわかります。

単純なテキストを他のアプリに送る方法

実装方法は次の通りです。

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "TEXT!");
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT!");
startActivity(shareIntent);

Action を Intent.ACTION_SEND としたインテントを作成します。そしてこれに対して、setType メソッドでデータのタイプを、putExtra で文字データをセットします。

これだけで OK です。

アプリケーションリストのタイトルも変更可能です。

単純なテキストを他のアプリに送る方法

"Complete action using" という文字が "TITLE!" に変わっています。この場合は次のようにします。

startActivity(Intent.createChooser(shareIntent, "TITLE!"));

startActivity にて createChooser を利用します。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Android 開発入門