在开发一些系统应用的时候,我们可以需要用到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”采用系统默认即可,无需另行设置。

四、运行结果

   

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐