鸿蒙HarmonyOS剪切板的实现

感谢关注HarmonyOS,为了便于大家学习特将鸿蒙2.0基础教学内容整理如下:

1、HarmonyOS应用开发—视频播放
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap1/index.html#0

2、HarmonyOS应用开发—基本控件
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap2/index.html#0

3、HarmonyOS应用开发—UI开发与预览
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-ui/index.html#0

4、HarmonyOS应用开发—设备虚拟化特性开发
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-screenhardware/index.html#0

5、HarmonyOS应用开发—HelloWorld应用开发E2E体验
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-HelloWorld/index.html#0

6、HarmonyOS应用开发—有界面元程序交互
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap6/index.html#0

7、HarmonyOS应用开发-分布式任务调度
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap5/index.html#0

8、HarmonyOS应用开发—剪切板
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap4/index.html#0

9、HarmonyOS应用开发—应用偏好数据读写
https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap3/index.html#0

以下为HarmonyOS应用开发-剪切板节选部分,如想进一步了解,请点击:HarmonyOS应用开发-剪切板

一、介绍

本篇将实现的内容
HarmonyOS是面向全场景多终端的分布式操作系统,使得应用程序的开发打破了智能终端互通的性能和数据壁垒,业务逻辑原子化开发,适配多端。通过一个简单应用开发,体验HarmonyOS的剪切板能力。

您将建立什么
 在这个Codelab中,你将创建Demo Project,并将Demo编译成Hap,此示例应用程序展示了如何使用HarmonyOS剪贴板复制文字。

您将会学到什么

1.如何创建一个HarmonyOS Demo Project

2.如何构建一个Hap并且将其部署到智慧屏远程模拟器上

3.通过此示例应用体验:

剪贴板复制文字。
监听剪贴板。

二、您需要什么

1. 硬件要求

1.操作系统:Windows10 64位
2.内存:8G及以上
3.硬盘:100G及以上
4.分辨率:1280*800及以上

2. 软件要求

1.DevEco Studio:需手动下载安装,详细步骤请参考《DevEco Studio使用指南》2.1.2
2.JDK:DevEco Studio自动安装。.
3.Node.js:请手动下载安装,详细步骤请参考《DevEco Studio使用指南》2.1.3 下载和安装Node.js
4.HarmonyOS SDK:待DevEco Studio安装完成后,利用DevEco Studio来加载HarmonyOS SDK。详细步骤请参考《DevEco Studio使用指南》2.1.6 加载HarmonyOS SDK。
5.Maven库依赖包:如需手动拷贝和配置,详细步骤请参考《DevEco Studio使用指南》2.3 离线方式配置Maven库。

3. 需要的知识点

Java基础开发能力。

三、能力接入准备

实现HarmonyOS应用开发,需要完成以下准备工作:
1.环境准备。
2.环境搭建。
3.创建项目
4.申请调试证书
5.应用开发

具体操作,请按照《DevEco Studio使用指南》中详细说明来完成。
提示:需要通过注册成开发者才能完成集成准备中的操作。

四、代码片段

1. 在Slice文件中写入以下代码::

代码布局:

/**
 * 功能描述:复制文本到剪切板
 */
private void copyText() {
  pasteboard = SystemPasteboard.getSystemPasteboard(this);
  PasteData pasteData = new PasteData();
  pasteData.addTextRecord("copyText");
  PacMap pacMap = new PacMap();
  pacMap.putString("ADDITION_KEY", "ADDITION_VALUE_OF_TEXT");
  pasteData.getProperty().setAdditions(pacMap);
  pasteData.getProperty().setTag("USER_TAG");
  pasteData.getProperty().setLocalOnly(true);
  pasteboard.setPasteData(pasteData);
  pasteData = null;
  showText.setText("copyText success");
}

/**
 * 功能描述:监听剪贴板
 */
private void processMonitor() {
  IPasteDataChangedListener listener = new IPasteDataChangedListener() {
    @Override
    public void onChanged() {
      showText.setText("in onChanged ");
      PasteData pasteData = pasteboard.getPasteData();
      if (pasteData == null) {
        return;
      }
      showPasteText ();
      // Operations to handle data change on the system pasteboard
    }
  };
  pasteboard.addPasteDataChangedListener(listener);
}

/**
 * 功能描述:从剪切板中粘贴文字
 */
private void showPasteText() {
  pasteboard = SystemPasteboard.getSystemPasteboard(this);
  pasteData = pasteboard.getPasteData();
  record = pasteData.getRecordAt(0);
  showText.append(record.getPlainText().toString());
  showText.append(record.getMimeType());
  showText.append(pasteData.getProperty().getTag().toString());
  PacMap pacMap = pasteData.getProperty().getAdditions();
  String extraInfo = pacMap.getString("ADDITION_KEY");
  if (extraInfo == null || extraInfo.isEmpty()) {
    LogUtil.error(TAG, "extra info is null or is empty");
  } else {
    showText.append(pacMap.getString("ADDITION_KEY"));
  }
}

2. 编译运行该应用

通过hdc连接大屏设备

先查看智慧屏IP:

大屏设置->"网络与连接"->"网络"->"有线网络"

在cmd或者IDE的Terminal输入命令:

hdc tconn 192.168.3.9:5555

运行hap

鸿蒙HarmonyOS剪切板的实现_第1张图片

到此这篇关于鸿蒙HarmonyOS剪切板的实现的文章就介绍到这了,更多相关HarmonyOS 剪切板内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(鸿蒙HarmonyOS剪切板的实现)