サンプルプログラム工場

AAKAKA Appで使われているプログラムのサンプルコードをそのまま公開!

サンプルプログラム工場 > android > AndroidアプリでクリップボードにClipboardManagerを使ってテキストを書き込むサンプル#tryClipboard00
Google Play AAKAKAxSOFTへ

AndroidアプリでクリップボードにClipboardManagerを使ってテキストを書き込むサンプル#tryClipboard00

実行ファイル(APK)やサンプル(zip)をダウンロードする
tryClipboard00の実行イメージtryClipboard00の実行イメージ

クリップボードへテキストを書き込む
EditTextに入力された文字列だったり数値をボタンを押すことでクリップボードへ転送する。
例えば何かの処理をした後の結果をボタンをクリップボードへコピーしたいときなんかに使える。

関連項目
ClipboardManager
 setText
 getText
 getSystemService
 CLIPBOARD_SERVICE
 起動直後にソフトインプット(IME)を表示する
 フォーカスをセット

開発環境
 Eclipse IDE バージョン: 3.7 Indigo Service Release 1
 ターゲットプラットフォーム: 2.1
 API レベル: 7

package trial.sample.tryclipboard00;

import android.app.Activity;
import android.os.Bundle;
import android.text.ClipboardManager;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class TryClipboard00Activity extends Activity implements OnClickListener {
	
	// コピー側のコントロール
	private EditText mEditTextCopy;	// コピーする内容
	private Button mButtonCopy;	// コピーボタン
	
	// 張り付ける側のコントロール
	private EditText mEditTextPaste;	// ペーストするエディットボックス
	private Button mButtonPaste;	// ペーストボタン
	private Button mButtonPaste2;	// ペーストボタン(後ろの文字から)
	
	// クリップボードの中身
	private EditText mEditTextClipboardInside;

	// クリップボードマネージャー
	private ClipboardManager mClipboardManager;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        // コピー側のコントロール
        this.mEditTextCopy = (EditText)this.findViewById(R.id.editText_source);
        this.mButtonCopy = (Button)this.findViewById(R.id.button_copy);
        this.mButtonCopy.setOnClickListener(this);
        
        // 貼り付けする側のコントロール
        this.mEditTextPaste = (EditText)this.findViewById(R.id.editText_dest);
        this.mButtonPaste = (Button)this.findViewById(R.id.button_paste);
        this.mButtonPaste.setOnClickListener(this);
        this.mButtonPaste2 = (Button)this.findViewById(R.id.button_paste2);
        this.mButtonPaste2.setOnClickListener(this);
        
        // クリップボードの中身
        this.mEditTextClipboardInside = (EditText)this.findViewById(R.id.editText_clipboardInside);
        
        
        // クリップボードサービスを取り出す
        this.mClipboardManager = (ClipboardManager)this.getSystemService(CLIPBOARD_SERVICE);
        
        // クリップボードの中身を表示する
        this.mEditTextClipboardInside.setText(this.mClipboardManager.getText().toString());
        
        String pasteText = this.mClipboardManager.getText().toString();
		////////////////////////////////////////////////////////////
		
		// エディットボックスへテキストをセットする
		this.mEditTextPaste.setText(pasteText);
		
		// フォーカスを当てる
		this.mEditTextCopy.requestFocus();
		// フォーカスを起動直後IME表示するようにする
        this.getWindow().setSoftInputMode(
        		WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
		
    }

    
    ////////////////////////////////////////////////////////////
    // ボタンが押されたときに呼び出される
	public void onClick(View v) {
		
		// 押されたボタンのIDで処理わける
		switch (v.getId()) {
		// コピーボタン
		case R.id.button_copy:
			// エディットボックスから値を取り出す
			String copyText = this.mEditTextCopy.getText().toString();
			
			////////////////////////////////////////////////////////////
			// クリップボードへテキストを送る
			this.mClipboardManager.setText(copyText);
			////////////////////////////////////////////////////////////
			
			// クリップボードの中身を表示する
	        this.mEditTextClipboardInside.setText(this.mClipboardManager.getText().toString());
	        
			break;
			
		// 貼り付けボタン
		case R.id.button_paste:
			////////////////////////////////////////////////////////////
			// クリップボードの値を取り出す
			String pasteText = this.mClipboardManager.getText().toString();
			////////////////////////////////////////////////////////////
			
			// エディットボックスへテキストをセットする
			this.mEditTextPaste.setText(pasteText);

			break;
		
		// 貼り付けボタン(リバース)
		case R.id.button_paste2:
			
			////////////////////////////////////////////////////////////
			// クリップボードの値を取り出す
			String pasteText2 = this.mClipboardManager.getText().toString();
			////////////////////////////////////////////////////////////
			
			// 逆に並び替え
			pasteText2 = this.ReverseString(pasteText2);
		
			// エディットボックスへテキストをセットする
			this.mEditTextPaste.setText(pasteText2);

			break;
		}
	}
	
	
	////////////////////////////////////////////////////////////
	// 文字列を逆に
	public String ReverseString(String source) {
		
		String tmp = "";
		// 後ろから順番に並び替える
		for (int i = source.length() - 1; 0 <= i; i--) {
			// 1文字ずつ取り出す
			tmp += source.charAt(i);
		}
		return tmp;
	}
}
サンプルプロジェクトをダウンロード APKファイルをダウンロード

, , , ,

AndroidでXMLファイルからオプションメニューを作るサンプル#tryOptionMenu00 カメラに写った映像をプレビュー表示するサンプル#tryCamera00

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>