亲宝软件园·资讯

展开

HarmonyOS 剪切板 鸿蒙HarmonyOS剪切板的实现

鸿蒙技术社区 人气:0
想了解鸿蒙HarmonyOS剪切板的实现的相关内容吗,鸿蒙技术社区在本文为您仔细讲解HarmonyOS 剪切板的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:HarmonyOS,剪切板,下面大家一起来学习吧。

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

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

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

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

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

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

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

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

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

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

以下为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

加载全部内容

相关教程
猜你喜欢
用户评论