在开发一些系统应用的时候,我们可以需要用到Android的剪贴板功能,比如将文本复制到剪贴板或者从剪贴板复制数据等操作。使用起来很简单,系统给我们提供了很方便的接口。
核心代码:
//获取剪贴板管理服务
ClipboardManager cm =(ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
//将文本数据复制到剪贴板
cm.setText(message);
//读取剪贴板数据
cm.getText();
一、设计界面
1、布局文件
打开res/layout/activity_main.xml文件。
输入以下代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/editcont"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
<Button
android:id="@+id/setclipboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="设置剪贴板内容" />
<Button
android:id="@+id/getclipboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="获取剪贴板内容" />
</LinearLayout>
二、程序文件
打开“src/com.genwoxue.clipboard/MainActivity.java”文件。
然后输入以下代码:
package com.genwoxue.clipboard;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.app.Activity;
import android.content.ClipboardManager;
import android.content.Context;
public class MainActivity extends Activity {
private EditText editCont=null;
private Button btnSet=null;
private Button btnGet=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSet=(Button)super.findViewById(R.id.setclipboard);
btnGet=(Button)super.findViewById(R.id.getclipboard);
editCont=(EditText)super.findViewById(R.id.editcont);
//将文本框中内容放入剪贴板
btnSet.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
String info=editCont.getText().toString();
//获取剪贴板管理服务
ClipboardManager clipboard=(ClipboardManager)MainActivity.this.getSystemService(Context.CLIPBOARD_SERVICE);
//将文本数据复制到剪贴板
clipboard.setText(info);
}
});
//把剪贴板内容使用Toast显示出来
btnGet.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
String info="";
//获取剪贴板管理服务
ClipboardManager clipboard=(ClipboardManager)MainActivity.this.getSystemService(Context.CLIPBOARD_SERVICE);
//从剪贴板读取内容
info=clipboard.getText().toString();
Toast.makeText(getApplicationContext(), info, Toast.LENGTH_LONG).show();
}
});
}
}
三、配置文件
“AndroidManifest.xml”采用系统默认即可,无需另行设置。
四、运行结果