HarmonyOS 剪切板 鸿蒙HarmonyOS剪切板的实现
鸿蒙技术社区 人气:0感谢关注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
加载全部内容