WPS二次开发系列:WPS SDK初始化
作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397)
本文将详细介绍WPS SDK初始化,帮您能够更好的在项目中接入WPS SDK实现自己的应用和WPS应用进行通信交互。
1.集成前的准备
1.1申请集成资料:
向WPS官方发送邮件申请,邮件格式如下
邮件模板:
发起人:有需要申请接入WPS移动端的企业或者个人
邮件主题: XXX公司XXX项目---WPS Android端 SDK二次开发集成申请
邮件发送: m_open_sdk@wps.cn
邮件内容:
请明确包含申请项目背景规模、集成应用第三方APP包名、 具体需求 、集成周期等
以上面格式发送邮件申请后,WPS方审核通过后会以邮件回复的相关集成资料(SDK&Demo&集成文档)
2.开始集成
2.1 环境配置
在自己项目工程中导入wps-sdk依赖库(wps_sdk.aar)
- 将wps-sdk-xxx.aar 拷贝到项目中的libs目录下
- 在项目build.gradle中添加
dependencies {implementation fileTree(include: ['*.jar', '*.aar'], dir:'libs')//或者// implementation files("/libs/wps-sdk-xxx.aar").....
} 2.2 SDK初始化
在第三方应用Application中的onCreate方法中调用
调用 WpsSdk.getInstance().init(…)进行初始化 参考示例代码:
public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();SdkConfig config = new SdkConfig.Builder()//开启日志开关.setEnableDebug(BuildConfig.DEBUG)
// .setWpsPackageName("cn.wps.moffice_i18n_TV") //传入WPS的包名,比如需要调用TV版等,默认调用WPS版本不需要设置.build();//初始化WpsSdk.getInstance().init(this, config, new ResultCallback() {@Overridepublic void onCallback(Result result) {if (result.code == 0){Toast.makeText(MyApplication.this, "WPS SDK初始成功", Toast.LENGTH_SHORT).show();}else {Toast.makeText(MyApplication.this, "初始化失败:"+result, Toast.LENGTH_SHORT).show();}}});}
} 2.3 初始化注意事项说明
2.3.1 SDK初始化代码的调用位置?
- SDK的初始化建议在自己应用MyApplication的onCreate方法中进行,如上文示例代码
- 如果自己的是多进程架构的,需要注意SDK的初始化和后续SDK调用API保持同一个进程
2.3.2 SDK初始代码形式
2.3.2.1简单默认形式,默认使用WPS个人版
public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();WpsSdk.getInstance().init(this);}
} 2.3.2.2 高级形式,SDK初始化时可以进行一些配置
public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();SdkConfig config = new SdkConfig.Builder()//开启日志开关.setEnableDebug(BuildConfig.DEBUG)
// .setWpsPackageName("cn.wps.moffice_i18n_TV") //传入WPS的包名,比如需要调用TV版等,默认调用WPS版本不需要设置.build();WpsSdk.getInstance().init(this,config);}
} PS: 注意可以通过setWpsPackageName来控制SDK打开的WPS版本,对于非应用市场通用的WPS版本,如WPS企业版,WPS TV版等版本,可以通过指定包名进行操作。
2.3.2.3 关注SDK初始返回值
- 不关心初始化结果(返回值)
- 默认配置
WpsSdk.getInstance().init(this); - 自定义配置
WpsSdk.getInstance().init(this,config); - 关心初始化结果(返回值),通过ResulCallback回调得到初始化结果Result
//初始化
WpsSdk.getInstance().init(this, config, new ResultCallback() {@Overridepublic void onCallback(Result result) {if (result.code == 0){Toast.makeText(MyApplication.this, "WPS SDK初始成功", Toast.LENGTH_SHORT).show();}else {Toast.makeText(MyApplication.this, "初始化失败:"+result, Toast.LENGTH_SHORT).show();}}
}); 最后如果能够帮助到您,请动动发财的小手来个一键三连💪,老铁们有兴趣可以加Q群:250325397,吹牛摸鱼嗨起来!
相关文章:
WPS二次开发系列:WPS SDK初始化
作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397) 本文将详细介绍WPS SDK初始化,帮您能够更…...
EXCEL地理数据处理工具(地图任务)
版本号 作者 修订内容 发布日期 1.0 小O 更新至0705版 2022-4-28 1.1 小O 更新至0772版 2024年4月3日 一、概述 小O地图EXCEL插件版提供基于EXCEL表格进行地理数据处理、地图可视化、地图绘图等功能,地理工具是用户使用频率很高的功能模块。地理工具能…...
软件设计原则:迪米特法则
定义 迪米特法则(Law of Demeter, LoD),又称最少知识原则,它指导我们在设计软件时,应当尽量减少对象之间的交互,一个对象应该对其他对象有尽可能少的了解。具体来说,一个对象应该只调用属于以下…...
MongoDB聚合运算符:$max
文章目录 语法使用空值和缺失值的处理数组操作数的处理 举例在$group阶段使用在$setWindowFields阶段使用在$project阶段使用 $max聚合运算符用于返回最大值。 $max对于不同的类型的值使用BSON的比较顺序。 $max可以用于下面的这些阶段: $addFields$bucket$bucket…...
神经网络学习笔记10——RNN、ELMo、Transformer、GPT、BERT
系列文章目录 参考博客1 参考博客2 文章目录 系列文章目录前言一、RNN1、简介2、模型结构3、RNN公式分析4、RNN的优缺点及优化1)LSTM是RNN的优化结构2)GRU是LSTM的简化结构 二、ELMo1、简介2、模型结构1)输入2)左右双向上下文信…...
Java23种设计模式
本文主要是对Java中一些常用的设计模式进行讲解 后期会进行不断的更新,欢迎浏览 23种设计模式 创建型模式,共五种:工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式。结构型模式,共七种:适配器模式、桥接…...
pieces of cake concerning torchtorchvision
1. version match torchvision的版本对应关系 2. utilize tqdm to present process bar lay a pbar from tqdm import tqdm pbar tqdm(unit"batch", filesys.stdout,totallen(self.training_dataloader)) #处理单位为batch pbar2 tqdm(range(20), descIt\s a t…...
如何在Python中处理JSON数据?
如何在Python中处理JSON数据? 在Python中处理JSON数据是一个常见的任务,因为JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。Python的内置库…...
站群服务器如何提高搜索引擎排名
站群服务器是一种专门为多个相关联的网站提供支持的服务器,旨在通过网站集合的形式提高搜索引擎排名和曝光度。那么站群服务器如何提高搜索引擎排名呢?Rak部落小编为您整理发布。 站群服务器提高搜索引擎排名的原理主要在于以下几个方面: - **提高网站…...
Redis安装-Docker
安装redis的docker容器 1、创建redis挂载目录 mkdir -p /liuchaoxu/redis/{data,conf}2、复制配置文件 在 /liuchaoxu/redis/conf 目录中创建文件 redis.conf,文件从 redis-6.2.7.tar.gz 中解压获取 修改默认配置(从上至下依次): #bind 127.0.0.1 …...
day16-二叉树part03
104.二叉树的最大深度 (优先掌握递归) 根节点的高度就是二叉树的最大深度,后序遍历到叶子节点,对遍历高度取最小 class solution {/*** 递归法*/public int maxDepth(TreeNode root) {if (root null) {return 0;}int leftDepth maxDepth(ro…...
上位机图像处理和嵌入式模块部署(qmacvisual亮度检测)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,在机器视觉当中,对于光源的处理要非常小心。这里面不仅包括了选择什么样的光源,还取决于怎样使用…...
防止推特Twitter账号被冻结,应该选什么代理类型IP?
在处理多个 Twitter 帐号时,选择合适的代理IP对于避免大规模帐户暂停至关重要。现在,问题出现了:哪种类型的代理是满足您需求的最佳选择?下面文章将为你具体讲解推特账号冻结原因以及重点介绍如何选择代理IP。 一、推特账号被冻结…...
【二叉树】Leetcode 114. 二叉树展开为链表【中等】
二叉树展开为链表 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…...
2024年150道高频Java面试题(二十)
39. 说一下 HashMap 的实现原理? HashMap 是 Java 中使用非常普遍的一种基于散列的映射数据结构,主要用于存储键值对。它允许使用任何非空对象作为键和值,主要实现原理如下: 数组 链表 红黑树:HashMap 内部主要由一…...
Docker-Compose容器编排
基本介绍 使用一个Dockerfile模板文件,可以很方便的定义一个适合自己使用的自定义镜像。但在工作中经常会碰到需要多个容器相互配合来完成某项任务或运行某个项目的情况。例如要运行一个django项目,除了django容器本身,往往还需要再加上…...
nvm 安装多个版本的Node npm
先安装nvm 管理工具 git安装地址 找到安装包 下载然后安装 https://github.com/coreybutler/nvm-windows/releases/tag/1.1.11nvm常用命令 命令说明nvm version查看nvm版本nvm ls查看所有已经安装的Nodejs版本nvm list installed查看所有已经安装的Nodejs版本nvm ls availab…...
RisingWave 在品高股份 Bingo IAM 中的应用
背景介绍 公司背景 品高股份,是国内专业的云计算及行业信息化服务提供商。公司成立于 2003 年,总部位于广州,下设多家子公司和分公司,目前员工总数近 900 人,其中 80 %以上是专业技术人员。 品高股份在 2008 年便开…...
.Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
.Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置 没有废话,直接上代码调用 没有废话,直接上代码 /// <summary>/// 启动类/// </summary>public static class Mains{static IServiceCollection _services;static IMvcBuilder _…...
尚硅谷2024最新Git企业实战教程 | Git与GitLab的企业实战
这篇博客是尚硅谷2024最新Git企业实战教程,全方位学习git与gitlab的完整笔记。 这不仅仅是一套Git的入门教程,更是全方位的极狐GitLab企业任务流开发实战!作为一应俱全的一站式DevOps平台,极狐GitLab的高阶功能全面覆盖࿰…...
MySQL视图实战:用SQL视图搞定学生奖学金评定与补考名单(附完整代码)
MySQL视图实战:用SQL视图搞定学生奖学金评定与补考名单(附完整代码) 教务管理系统中,数据处理效率直接影响决策质量。想象一下每学期末,教务处老师需要从数十万条记录中筛选奖学金候选人和补考名单——传统的手写SQL查…...
Xenium空间原位转录组:从数据到生物学发现的实战解析
1. Xenium平台与空间原位转录组技术初探 第一次接触Xenium平台的数据时,我被它呈现的空间基因表达图谱震撼到了。想象一下,这就像给组织切片拍了一张"基因表达照片",每个像素点都记录着成百上千个基因的活动状态。10x Genomics推出…...
第一步:你只需要改这里的所有参数
算数优化算法AOA,2021年新出的智能优化算法,结合SVM做回归拟合预测建模,代码内有详细的注释替换数据就可以使用上次实验室熬大夜调催化加氢产率的SVR模型差点怀疑人生:RBF核随便蒙C和gamma,MSE有时候0.01有时候飘到0.5…...
【悬疑言情小说推荐】《血语玫瑰》
《血语玫瑰》国际标准书号:ISBN:978-986-6364-30-3 作者:追月逐花 本书地址:http://e.dangdang.com/products/1901197341.html 每个女孩都期待男友年轻英俊、家境优渥、学识出众,而 “魔鬼” 恰好符合所有条件&…...
用CODrone数据集训练YOLOv8-OBB:手把手教你搞定无人机旋转目标检测模型
从CODrone到YOLOv8-OBB:实战无人机旋转目标检测全流程指南 无人机航拍视角下的目标检测一直是计算机视觉领域的难点——倾斜视角带来的目标旋转、飞行高度变化导致的尺度差异、复杂背景干扰等问题,让传统水平框检测方法捉襟见肘。本文将带您完整实现从CO…...
PyTorch实战:从零构建ResNet50模型(CIFAR10训练+测试+ONNX转换)
1. ResNet50模型基础认知 第一次接触ResNet50时,我被它的"残差连接"设计惊艳到了。传统神经网络随着层数增加会出现梯度消失问题,而ResNet通过跨层直连通道,让信息能够无损传递到更深层。这就好比在高速公路上设置应急车道…...
如何通过FCEUX实现NES游戏高精度模拟?解锁经典游戏的数字化体验
如何通过FCEUX实现NES游戏高精度模拟?解锁经典游戏的数字化体验 【免费下载链接】fceux FCEUX, a NES Emulator 项目地址: https://gitcode.com/gh_mirrors/fc/fceux 你是否曾因找不到可靠的NES模拟器而无法重温童年经典游戏?是否遇到过模拟器兼容…...
3大技术突破:Sunshine革新家庭游戏串流体验的实战指南
3大技术突破:Sunshine革新家庭游戏串流体验的实战指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器,支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshi…...
三菱电机MR-J5伺服系统实战:如何用CC-Link IE TSN搭建高效生产线(附配置清单)
三菱电机MR-J5伺服系统实战:CC-Link IE TSN智能产线部署指南 在工业4.0的浪潮中,生产线的智能化升级已成为制造业提升竞争力的关键。作为这一变革的核心驱动技术,三菱电机MR-J5系列伺服系统凭借其支持CC-Link IE TSN网络的独特优势࿰…...
Flutter 实现点击任意位置收起键盘的最佳实践
痛点 在 Flutter 开发中,TextField 聚焦后会弹出键盘,关闭键盘通常需要: 点击系统返回键点击输入框外的空白区域(但很多情况下点击空白区域也没反应)点击其他输入框(键盘会切换到另一个输入框,不…...
