| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 12-May-2024 | - | 41 | 38 | ||
| entry/ | 12-May-2024 | - | 4,250 | 3,972 | ||
| hvigor/ | 12-May-2024 | - | 8 | 8 | ||
| screenshots/devices/ | 12-May-2024 | - | ||||
| signature/ | 12-May-2024 | - | 28 | 28 | ||
| .gitignore | D | 12-May-2024 | 114 | 8 | 8 | |
| README_zh.md | D | 12-May-2024 | 5.1 KiB | 101 | 69 | |
| build-profile.json5 | D | 12-May-2024 | 1.1 KiB | 43 | 42 | |
| hvigorfile.ts | D | 12-May-2024 | 768 | 17 | 1 | |
| hvigorw | D | 12-May-2024 | 2.1 KiB | 62 | 28 | |
| hvigorw.bat | D | 12-May-2024 | 2 KiB | 72 | 56 | |
| oh-package.json5 | D | 12-May-2024 | 840 | 27 | 26 | |
| ohosTest.md | D | 12-May-2024 | 1.8 KiB | 17 | 15 |
README_zh.md
1# Kika输入法应用 2 3### 介绍 4本示例使用[inputMethodEngine](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-inputmethodengine.md)实现一个轻量级输入法应用kikaInput,支持在运行OpenHarmony OS的智能终端上。 5 6### 效果预览 7 8| 主键盘 | 菜单 | 编辑 | 9| :---------------------------------------: | :---------------------------------------: | :--------------------------------------: | 10|  |  |  | 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### 工程目录 27 28``` 29KikaInput 30├── AppScope 31│ └── app.json5 //APP信息配置文件 32├── entry/src/main //应用首页 33│ ├── ets 34│ │ ├── Application 35│ │ ├── common 36│ │ │ ├── StyleConfiguration.ets //适配不同设备下的键盘布局 37│ │ ├── components //输入法软键盘自定义组件 38│ │ ├── pages 39│ │ │ ├── Index.ets //输入法主页 40│ │ ├── model 41│ │ │ ├── HardKeyUtils.ets //外接键盘KeyCode数据 42│ │ │ ├── KeyboardController.ets //输入法键盘控制 43│ │ │ ├── KeyboardKeyData.ets //输入法键盘数据 44│ │ ├── ServiceExtAbility 45│ │ │ ├── ServiceExtAbility.ets //输入法Ability 46│ └── module.json5 47``` 48 49### 具体实现 50 51* 该示例分为两个模块: 52 * 键盘布局 53 * 在Index中完成键盘的总体布局。在components中自定不同的按键组件。 54 * 源码链接:[Index.ets](./entry/src/main/ets/pages/Index.ets),[components](./entry/src/main/ets/components) 55 * 参考接口:[ArkTs声明式开发范式](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/arkui-ts) 56 * 输入法控制 57 * 使用[@ohos.request](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/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/js-apis-file-fs.md)完成指定路径的创建和查询已下载的文件。 58 * 源码链接:[KeyboardController.ets](.entry/src/main/ets/model/KeyboardController.ets) 59 * 参考接口:[@ohos.inputMethodEngine](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-inputmethodengine.md) 60 61### 相关权限 62 63[ohos.permission.GET_BUNDLE_INFO_PRIVILEGED](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/permission-list.md) 64 65[ohos.permission.START_ABILITIES_FROM_BACKGROUND](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/permission-list.md) 66 67### 依赖 68 69不涉及。 70 71### 约束与限制 72 731.本示例仅支持标准系统上运行。 74 752.本示例适配API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。 76 773.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 78 795.本示例需要使用@ohos.application.InputMethodExtensionAbility系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/quick-start/full-sdk-switch-guide.md/)。 80 816.如果安装本示例报错为error:install sign info inconsistent,则有可能是应用已安装在系统中,此时需要卸载安装的应用,并替换安装,具体命令如下: 82 83hdc uninstall com.samples.kikainputmethod 84 85hdc install ./kikaInputMethod.hap 86 87hdc shell aa start ability -a InputMethod -b cn.openharmony.inputmethodchoosedialog 88 89在拉起的输入法弹窗中,点击kikainput切换输入法到当前应用。 90 91### 下载 92 93如需单独下载本工程,执行如下命令: 94 95``` 96git init 97git config core.sparsecheckout true 98echo code/Solutions/InputMethod/KikaInputMethod/ > .git/info/sparse-checkout 99git remote add origin https://gitee.com/openharmony/applications_app_samples.git 100git pull origin master 101```