1# Basic Services Kit简介 2 3Basic Services Kit(基础服务)作为基础服务套件,为应用开发者提供常用的基础能力。比如常用的剪贴板读写、文件上传下载、文件压缩、文件打印、进程间/线程间通信、设备管理、应用账号管理等能力都由本Kit提供。 4 5## 使用场景 6 7Basic Services Kit为开发者提供了多种基础能力,满足开发者不同场景的开发需求。 8典型使用场景举例: 9 10- 剪贴板读写: 11 - 本地复制粘贴:比如在A应用中复制一段文字,粘贴到其他应用中。 12 - 跨设备复制粘贴:比如在A设备浏览器复制一段文本,粘贴到B设备的备忘录中。 13 14- 文件上传下载: 15 - 小文件前台上传下载:发布社交动态(图片、短视频等)、发送文件给好友、保存图片到本地等,通常数据量较小,要给用户即时反馈。 16 - 大文件后台上传下载:云盘数据同步、下载电影,通常数据量较大,可后台执行,支持断点续传。 17 18- 进程间/线程间通信: 19 - 进程间通信:比如ExtensionAbility发送事件给主进程。 20 - 线程间通信:比如worker线程处理完网络请求后将事件传递回UI主线程。 21 22## 能力范围 23 24根据不同使用场景分类,本Kit主要包含如下能力: 25 26- 数据文件处理: 27 - [剪贴板](../reference/apis-basic-services-kit/js-apis-pasteboard.md):提供内容复制粘贴能力,支持多种数据类型包括文本、HTML数据、URI、PixelMap等。 28 - [压缩](../reference/apis-basic-services-kit/js-apis-zlib.md):提供文件压缩解压缩的能力。 29 - [打印](../reference/apis-basic-services-kit/js-apis-print.md):提供基础文件打印的能力,比如传入文件进行打印、设置打印参数等。 30 - [上传下载](../reference/apis-basic-services-kit/js-apis-request.md):提供文件上传下载、后台传输代理的基础能力。 31 32- 进程间/线程间通信: 33 - [公共事件](../reference/apis-basic-services-kit/js-apis-commonEventManager.md):提供进程间通信的能力,包括订阅、发布、退订公共事件等,相关开发指南请参考[公共事件简介](common-event/common-event-overview.md)。 34 - [Emitter](../reference/apis-basic-services-kit/js-apis-emitter.md):提供线程内通信的能力,包括订阅、发布、退订自定义事件等,相关开发指南请参考[使用Emitter进行线程间通信](common-event/itc-with-emitter.md)。 35 36- 设备管理: 37 - [设备信息](../reference/apis-basic-services-kit/js-apis-device-info.md):提供查询产品信息的能力,比如查询设备类型、设备品牌名称、产品系列、产品版本号等。 38 - [设置数据项](../reference/apis-basic-services-kit/js-apis-settings.md):提供查询系统设置数据项的能力,比如查询是否启用飞行模式、是否启用触摸浏览等。 39 - [电量信息查询](../reference/apis-basic-services-kit/js-apis-battery-info.md):提供查询电量信息的能力。 40 - [系统电源管理](../reference/apis-basic-services-kit/js-apis-power.md):提供系统电源管理相关的能力,比如查询屏幕状态能力等。 41 - [RunningLock锁操作](../reference/apis-basic-services-kit/js-apis-runninglock.md):提供RunningLock锁相关操作的能力,包括创建、查询、持锁、释放锁等操作。 42 - [热管理](../reference/apis-basic-services-kit/js-apis-thermal.md):提供热管理相关的能力,比如热档位查询等。 43 - [USB管理](../reference/apis-basic-services-kit/js-apis-usbManager.md):提供USB设备管理相关的能力,比如查询USB设备列表、批量数据传输、控制命令传输、权限控制等,相关开发指南请参考[USB服务开发概述](usb/usb-overview.md)。 44 45- 其他: 46 - [应用账号管理](../reference/apis-basic-services-kit/js-apis-appAccount.md):提供应用账号的期管理以及数据管理的能力,相关开发指南请参考[管理应用账号](account/manage-application-account.md)。 47 - [公共回调](../reference/apis-basic-services-kit/js-apis-base.md):定义了OpenHarmony ArkTS接口的公共回调类型,包括接口调用时出现的公共回调和公共错误信息。 48 - [时间时区](../reference/apis-basic-services-kit/js-apis-date-time.md):提供获取系统时间以及系统时区的能力。 49 50## 与其他kit的关系 51 52- [ArkTS Kit](../arkts-utils/arkts-overview.md):ArkTS Kit中的[多线程并发(Worker和Taskpool)](../arkts-utils/multi-thread-concurrency-overview.md)需要使用本Kit中的Emitter进行线程间通信。 53 54- [Ability Kit](../application-models/abilitykit-overview.md):Ability Kit中的进程间通信需要使用本Kit中的公共事件。 55 56- [Core File Kit](../file-management/core-file-kit-intro.md):与Core File Kit的使用场景不同,Core File Kit主要提供访问和管理文件的能力,开发者可以在应用文件访问和文件分享、应用数据备份恢复等场景使用Core File Kit进行开发,而涉及到文件压缩、文件上传下载、文件打印等场景时需要使用本Kit进行开发。 57