diff --git "a/zh-cn/readme/figures/\350\276\223\345\205\245\346\263\225\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237\346\236\266\346\236\204\345\233\276.PNG" "b/zh-cn/readme/figures/\350\276\223\345\205\245\346\263\225\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237\346\236\266\346\236\204\345\233\276.PNG" new file mode 100644 index 0000000000000000000000000000000000000000..2c05a812e7c280c281b79b1b06a96664d11ea535 Binary files /dev/null and "b/zh-cn/readme/figures/\350\276\223\345\205\245\346\263\225\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237\346\236\266\346\236\204\345\233\276.PNG" differ diff --git "a/zh-cn/readme/\350\276\223\345\205\245\346\263\225\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\350\276\223\345\205\245\346\263\225\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237.md" new file mode 100644 index 0000000000000000000000000000000000000000..899026d96f8fd2df9ad5d65b5f70ca4da3354e25 --- /dev/null +++ "b/zh-cn/readme/\350\276\223\345\205\245\346\263\225\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237.md" @@ -0,0 +1,85 @@ +# 输入法框架子系统 + +- [简介](#简介) +- [系统架构](#系统架构) +- [目录](#目录) +- [使用说明](#使用说明) +- [相关仓](#相关仓) + +## 简介 + +负责建立编辑框所在应用与输入法应用之间的通信通道,确保两者可以共同协作提供文本输入功能,也为系统应用提供管理输入法应用的能力。 + +输入法框架目前有四大模块,具体如下: + +1. 应用客户端 + + 路径:/base/inputmethod/imf/frameworks/native/inputmethod_controller + + 作用:提供应用请求使用输入法应用、与输入法应用交互的能力。 + +2. 输入法客户端 + + 路径:/base/inputmethod/imf/frameworks/native/inputmethod_ability + + 作用:提供输入法应用实现框架,基于该框架输入法应用可以被正确拉起,并与编辑框应用进行协作完成文本输入。 + +3. 输入法服务 + + 路径:/base/inputmethod/imf/services + + 作用:输入法管理服务,负责建立安全可靠的输入法连接,同时提供了输入法切换查询等功能。 + +4. 输入法Js接口实现 + + 路径:/base/inputmethod/imf/frameworks/js + + - 主要提供给输入法应用调用的相关js接口实现:/base/inputmethod/imf/frameworks/js/napi/inputmethodability。 + + - 主要提供给自绘控件调用的相关js接口实现:/base/inputmethod/imf/frameworks/js/napi/inputmethodclient。 + + 作用:输入法实现框架、自绘编辑框控件使用输入法的NAPI接口,为TS相关接口提供具体实现。 + +## 系统架构 + +**图 1** 子系统架构图 + + +![输入法框架子系统架构图](./figures/输入法框架子系统架构图.PNG) + +## 目录 + +``` +/base/inputmethod/imf +├── figures # 架构图 +├── frameworks +│ └── js/napi # 输入法框架napi接口 +│ └──inputmethod_extention_ability # 对输入法应用,InputMethodExtentionAbility相关接口 +│ └──inputmethod_extention_context # 对输入法应用,InputMethodExtentionContext相关接口 +│ └──inputmethodability # 对输入法应用提供的接口 +│ └──inputmethodclient # 对系统应用、自绘控件提供的接口 +│ └── native +│ └──inputmethod_ability # 对输入法客户端提供的接口 +│ └──inputmethod_controller # 对客户端提供的接口 +├── interfaces # 组件对外提供的接口代码 +│ └── inner_api # innerApi接口 +├── profile # 组件包含的系统服务的配置文件和进程的配置文件 +├── services # 输入法框架服务 +├── test # 测试 +│ └── fuzztest # 接口的Fuzz测试 +│ └── unitest # 接口的单元测试 +│ └──cpp_test # 接口的cpp单元测试 +│ └──napi_test # 接口的js单元测试 +``` + +## 使用说明 + +* [InputMethodExtentionAbility开发指南](../application-dev/application-models/inputmethodextentionability.md) +* [@ohos.inputMethod (输入法框架)](../application-dev/reference/apis/js-apis-inputmethod.md) +* [@ohos.inputMethodEngine (输入法服务)](../application-dev/reference/apis/js-apis-inputmethodengine.md) + +## 相关仓 + +输入法框架: + +[inputmethod_imf](https://gitee.com/openharmony/inputmethod_imf)