• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-4138

entry/06-May-2025-4,7124,378

hvigor/06-May-2025-77

screenshots/devices/06-May-2025-

signature/06-May-2025-2828

.gitignoreD06-May-2025114 88

README_zh.mdD06-May-20256.1 KiB11077

build-profile.json5D06-May-20251.1 KiB4443

hvigorfile.tsD06-May-2025768 171

hvigorwD06-May-20252.1 KiB6228

hvigorw.batD06-May-20252 KiB7256

oh-package.json5D06-May-2025840 2726

ohosTest.mdD06-May-20252.9 KiB2018

README_zh.md

1# Kika输入法应用
2
3### 介绍
4本示例使用[inputMethodEngine](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ime-kit/js-apis-inputmethodengine.md)实现一个轻量级输入法应用kikaInput,支持在运行OpenHarmony OS的智能终端上。
5
6### 效果预览
7
8|               主键盘               |             菜单             |                 编辑                 |                 预上屏                 |
9| :---------------------------------------: | :---------------------------------------: | :--------------------------------------: |:--------------------------------------: |
10|    ![main](screenshots/devices/main.jpg)    | ![util](screenshots/devices/menu.jpg) | ![convertxml](screenshots/devices/edit.jpg) | ![preview](screenshots/devices/preview.jpg)
11
12使用说明
13
141.使用hdc shell aa start ability -a InputMethod -b cn.openharmony.inputmethodchoosedialog命令拉起切换输入法弹窗,点击kikainput切换输入法到当前应用。
15
162.点击应用中的编辑框,拉起输入法键盘。
17
183.点击键盘可以在编辑框中输入内容,点击回退键可以删除文本。
19
204.点击左上角的键盘图标可以进入二级菜单,当前只有编辑菜单。
21
225.点击编辑可以进入编辑状态,点击方向键可以移动光标。
23
246.编辑状态点击选择按钮,进入选择状态,点击方向键可以选中文本。
25
26预上屏应用使用说明
271.安装应用,首页点击kikainput切换输入法到当前应用;
282.文本框中输入预上屏触发字符'hel',触发输入法预上屏;
293.点击输入法的回车键,确认预上屏内容'hello world'替换文本框中的'hel';
30注:上屏的内容后继续输入字符a,hello world被替换,就是没有确认上屏,否则呈现内容是hello worlda的话就是内容已经确认预上屏。
31
32### 工程目录
33
34```
35KikaInput
36├── AppScope
37│   └── app.json5                               //APP信息配置文件
38├── entry/src/main                              //应用首页
39│   ├── ets
40│   │   ├── Application
41│   │   ├── common
42│   │   │   ├── StyleConfiguration.ets         //适配不同设备下的键盘布局
43│   │   ├── components                         //输入法软键盘自定义组件
44│   │   ├── entryability                       //应用入口
45│   │   │   ├── EntryAbility.ets               //应用入口Ability
46│   │   ├── pages
47│   │   │   ├── Index.ets                       //输入法主页
48│   │   │   ├── PrivatePreview.ets              //预上屏主页
49│   │   ├── model
50│   │   │   ├── HardKeyUtils.ets                //外接键盘KeyCode数据
51│   │   │   ├── KeyboardController.ets          //输入法键盘控制
52│   │   │   ├── KeyboardKeyData.ets             //输入法键盘数据
53│   │   ├── ServiceExtAbility
54│   │   │   ├── ServiceExtAbility.ets          //输入法Ability
55│   └── module.json5
56```
57
58### 具体实现
59
60* 该示例分为两个模块:
61  * 键盘布局
62    * 在Index中完成键盘的总体布局。在components中自定不同的按键组件。
63    * 源码链接:[Index.ets](./entry/src/main/ets/pages/Index.ets),[components](./entry/src/main/ets/components)
64    * 参考接口:[ArkTs声明式开发范式](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-arkui)
65  * 输入法控制
66    * 使用[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-request.md)中API 10接口agent.create创建上传任务,调用@ohos.request中的Task相关接口实现上传任务的创建、取消、进度加载,前台任务只支持单文件下载,后台任务支持多文件下载。使用[@ohos.file.fs](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md)完成指定路径的创建和查询已下载的文件。
67    * 源码链接:[KeyboardController.ets](entry/src/main/ets/model/KeyboardController.ets)
68    * 参考接口:[@ohos.inputMethodEngine](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ime-kit/js-apis-inputmethodengine.md)
69
70### 相关权限
71
72[ohos.permission.GET_BUNDLE_INFO_PRIVILEGED](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionget_bundle_info_privileged)
73
74[ohos.permission.START_ABILITIES_FROM_BACKGROUND](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionstart_abilities_from_background)
75
76### 依赖
77
78不涉及。
79
80### 约束与限制
81
821.本示例仅支持标准系统上运行。
83
842.本示例适配API12版本SDK,SDK版本号(API Version 12 Release),镜像版本号(5.0.0.25及以后版本)。
85
863.本示例需要使用DevEco Studio 版本号(4.1 Release)及以上版本才可编译运行。
87
885.本示例需要使用@ohos.application.InputMethodExtensionAbility系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)89
906.如果安装本示例报错为error:install sign info inconsistent,则有可能是应用已安装在系统中,此时需要卸载安装的应用,并替换安装,具体命令如下:
91
92hdc uninstall com.samples.kikainputmethod
93
94hdc install ./kikaInputMethod.hap
95
96hdc shell aa start ability -a InputMethod -b cn.openharmony.inputmethodchoosedialog
97
98在拉起的输入法弹窗中,点击kikainput切换输入法到当前应用。
99
100###  下载
101
102如需单独下载本工程,执行如下命令:
103
104```
105git init
106git config core.sparsecheckout true
107echo code/Solutions/InputMethod/KikaInputMethod/ > .git/info/sparse-checkout
108git remote add origin https://gitee.com/openharmony/applications_app_samples.git
109git pull origin master
110```