Android的复制与粘贴

复制
cm.setText(copy_content_tv.getText());已过时
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
// 将文本内容放到系统剪贴板里。
cm.setText(copy_content_tv.getText());

推荐使用下面这个:

ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
// 将文本内容放到系统剪贴板里。
assert cm != null;
cm.setPrimaryClip(ClipData.newPlainText("copy", text));
//剪切板管理工具类
private ClipboardManager mClipboardManager;
//剪切板Data对象
private ClipData mClipData;
 
mClipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
 
/**粘贴**/
private void doPaste() {
    //GET贴板是否有内容
    mClipData = mClipboardManager.getPrimaryClip();
    //获取到内容
    ClipData.Item item = mClipData.getItemAt(0);
    String text = item.getText().toString();
    edt_import_account_key_store.setText(text);
}

 

### Android 中实现文件的复制粘贴功能 在 Android 应用开发中,为了实现文件的复制粘贴操作,通常涉及以下几个方面: #### 使用剪贴板管理器 ClipboardManager 进行文本数据的操作 对于简单的文本内容,可以利用 `ClipboardManager` 来处理复制粘贴的任务。不过针对文件级别的操作,则需采用不同的策略。 ```java // 获取系统的剪贴板服务 ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText("label", "Text to copy"); clipboard.setPrimaryClip(clip); // 设置要复制的内容到剪贴板上 ``` #### 文件读写权限声明 确保应用程序具有访问外部存储设备上的文件所需的权限,在应用清单文件中添加如下配置[^1]: ```xml <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> ``` #### 实现文件复制逻辑 当用户选择某个文件并触发复制动作时,应该创建该文件的一个副本,并将其路径保存至共享偏好设置或其他持久化机制以便后续使用。 ```java public void copyFile(File sourceLocation , File targetLocation)throws IOException { if (!sourceLocation.exists()){ return; } try(InputStream in = new FileInputStream(sourceLocation)){ try(OutputStream out = new FileOutputStream(targetLocation)){ byte[] buf = new byte[1024]; int length; while ((length = in.read(buf)) > 0){ out.write(buf, 0, length); } } } } ``` #### 提供粘贴选项给用户 通过菜单项或者其他UI组件向用户提供粘贴按钮,点击后可以根据之前保存的目标位置执行实际的文件移动或重命名命令来完成粘贴过程。 #### 利用 Intent.ACTION_SEND 分享文件 另一种方式是借助于系统自带的分享面板来进行跨应用之间的文件传递,这同样适用于某些场景下的“复制-粘贴”。 ```java Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("*/*"); Uri uri = Uri.fromFile(new File("/path/to/file")); shareIntent.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(shareIntent,"Share file via...")); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值