たぼさんの部屋

いちょぼとのんびり

アプリでクリップボードを操作する(自動登録も可)

f:id:donsuka_kk:20131002162637p:plain

Main.java

package com.efolab.t_clipboardmanager;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.ClipboardManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

@SuppressWarnings("deprecation")
public class Main extends Activity {

	/** Called when the activity is first created. */
	Context context;
	LinearLayout layout;
	Button btn1 , btn2;
	TextView tv;
	EditText et;
	
	//クリップボードマネージャー
	ClipboardManager mClipboardManager;
	//使用しないほうがいいよ」とか言われるけど無視
	
	
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	
	    context = getApplicationContext();
	    
	    //クリップボードマネージャーを取得
	    mClipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
	    
	    //layout
	    layout = new LinearLayout(context);
	    
	    layout.setOrientation(LinearLayout.VERTICAL);
	    setContentView(layout);
	    
	    et = new EditText(context);
	    
	    btn1 = new Button(context);
	    btn1.setText("クリップボードに入力内容をコピー");
	    btn1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO 自動生成されたメソッド・スタブ
				if(et.getText() != null){
					mClipboardManager.setText(et.getText());
				}
			}
		});
	    
	    btn2 = new Button(context);
	    btn2.setText("クリップボードの内容を取得");
	    btn2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO 自動生成されたメソッド・スタブ
				if(mClipboardManager.getText() != null){
					tv.setText(mClipboardManager.getText());
				}
				
			}
		});
	    
	    tv = new TextView(context);
	    
	    /*
	     * 初期値として自動的にクリップボードへ登録してみる
	     */
	    mClipboardManager.setText("初期値だけど{'id':'011'}");
	    /*
	     * ok!
	     * 手動でなくてもデータを登録
	     * できる!
	     */
	    
	    //レイアウトに追加
	    layout.addView(et);
	    layout.addView(btn1);
	    layout.addView(btn2);
	    layout.addView(tv);
	}
}