📜  Android中的剪贴板

📅  最后修改于: 2021-05-10 16:48:11             🧑  作者: Mango

Android的Clipboard在不同的数据类型上执行复制和粘贴,例如文本字符串,图像,二进制流数据和其他复杂的数据类型。剪贴板在同一应用程序内以及已实现剪贴板框架的多个应用程序之间执行复制和粘贴操作。剪贴板对其一次可以容纳的剪辑对象的数量有限制。剪贴板一次只能容纳一个对象。如果将对象放在剪贴板上,则剪贴板上先前保留的对象将被放置。剪辑对象可以接收三种类型的数据:

  • 文本:可以将字符串直接放入剪辑对象,然后放入剪贴板。然后,我们可以从剪贴板中获取clip对象,并将字符串粘贴到应用程序的文本或存储字段中。
  • URI:用于从内容提供者复制复杂数据。可以将URI对象放入剪贴对象中,然后将其加载到剪贴板上。要执行粘贴操作,剪辑对象必须解析到源中,例如内容提供者。
  • 意图:必须创建一个意图对象并将其放入剪辑对象中并加载到剪贴板上。可以执行类似于文本的粘贴操作。

分步实施

要制作一个将一些数据存储到剪贴板中并从中获取数据的应用程序,我们需要执行以下步骤:

保存到剪贴板:

下面的样本GIF给出得到什么我们将在本文中做的想法。请注意,我们将使用Kotlin语言实施此项目

Android示例GIF中的剪贴板

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Kotlin作为编程语言。

步骤2:使用activity_main.xml文件

转到代表应用程序UI的activity_main.xml文件。创建一个EditText ,在其中我们将提供要保存在剪贴板中的文本,以及一个Button以执行保存操作。以下是activity_main.xml文件的代码

XML


  
    
    
  
    
    


Kotlin
import android.content.ClipData
import android.content.ClipboardManager
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
          
        // Declaring the edit text and button from the layout file
        val copyTxt = findViewById(R.id.txtCopy)
        val copyBtn = findViewById


XML


  
    
    
  
    
    


Kotlin
import android.content.ClipboardManager
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declare the textview and button from the layout file
        val pasteTxt = findViewById(R.id.txtShow)
        val btnPaste = findViewById


步骤3:使用MainActivity.kt文件

转到MainActivity.kt文件,并参考以下代码。下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。

科特林

import android.content.ClipData
import android.content.ClipboardManager
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
          
        // Declaring the edit text and button from the layout file
        val copyTxt = findViewById(R.id.txtCopy)
        val copyBtn = findViewById

输出:在模拟器上运行

从剪贴板粘贴:

下面给出了一个GIF示例,以使我们对本节中的工作有个大概的了解

Android示例GIF中的剪贴板

步骤1:使用activity_main.xml文件

以下是activity_main.xml文件的代码

XML格式



  
    
    
  
    
    

步骤2:使用MainActivity.kt文件

转到MainActivity.kt文件,并参考以下代码。下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。

科特林

import android.content.ClipboardManager
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declare the textview and button from the layout file
        val pasteTxt = findViewById(R.id.txtShow)
        val btnPaste = findViewById

输出:在模拟器上运行

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!