模块开发要点与返回刷新页面注意事项

1、介绍

  apicloud 除了使用官方提供的模块外,我们可以自定义一些模块供自己使用和上传到官方出售。针对没有提供或者价格过贵的模块,如果有时间自己可以进行研究。

2、开发

  首先要先下载开发工具(此处我还是只讲Android),建议下载Android Studio。

  

  关于开发规范大家参考官网即可(https://docs.apicloud.com/Module-Dev/module-dev-guide-for-android-studio),另附上官网提供的相关文档地址,如下:

  

  详细的SDK帮助文档:docs.apicloud.com/superwebview/Android/

  Android在线API文档:https://developer.android.google.cn/reference/packages.html

  Javascript规范及入门:http://www.w3school.com.cn

  JSON数据在线Viewer:http://www.bejson.com/go.html?u=http://www.bejson.com/jsonview2/

  根据官网的开发规范和视频教程开发基本无伤,在此我主要说明一下中间会有的一些小坑,如下:

  •   开发过程中如果使用Android Studio 自带的模拟器x86 会报错,除非改成 arm。
      建议大家使用第三方模拟器,比如mumu,海马之类的,我使用的mumu模拟器(广告比较少),关于Android Studio 如何连接第三方模拟器,和我一样刚接触  studio 的同学可以参考这篇博客,感谢博主谢桥的
      (Android Studio连接第三方模拟器
      还有一个地方需要注意的是, -113这个错误,网上有的说需要在gradle里加上以下配置即可,实际测试有点问题,可能是其他某个地方配置有问题,建议大家开始还是按照官文开发。
        
    splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a','x86_64'
universalApk true
}
}
  •   如果在app想要打开某个应用,Android的话需要package ,ios需要Url Scheme,在此送上另一位博主提供资料(常用移动应用 Packagename 和 URL Scheme),感谢起梦。
  •   如果自己开发的模块想要在官网售卖,上传模块信息的时候,大家务必在版本号上注明为  1.0.0,否则会被打回来。

  

  返回刷新页面注意事项,今天遇到的小问题,问题与解决方式如下:

  
  在app开发过程中,难免会遇到用户更改某些信息,返回后需要更新缓存与重新渲染页面的情况。

  例如:如果用户注册成功,我会一般会返回设置页面,并更新头像、昵称等用户信息,这是除非我们重新open一下,否则不会再次重新选择,但我们一般情况下使用historyback比较多,或者直接关闭当前页面,这样的话,原有的页面不会重新渲染。

  解决方法:返回时,利用apicloud提供的execScript()接口,执行返回页面的函数,实现返回页面的刷新,如下(官网上的例子),如下(不建议大家使用过多的事件监听,使用api的自定义监听过多,会导致线程过度增加,占用内存,系统变慢,另外监听过多,难免会遇到重复监听,容易出现问题):

  

//在当前window中执行jsfun脚本
var jsfun = 'funcGoto();';
api.execScript({
script: jsfun
}); //在当前window中找到名为frmName的frame,并在该frame中执行jsfun脚本
var jsfun = 'funcGoto();';
api.execScript({
frameName: 'frmName',
script: jsfun
}); //在名为winName的window中执行jsfun脚本
var jsfun = 'funcGoto();';
api.execScript({
name: 'winName',
script: jsfun
}); //在名为winName的window中找到名为frmName的frame,并在该frame中执行jsfun脚本
var jsfun = 'funcGoto();';
api.execScript({
name: 'winName',
frameName: 'frmName',
script: jsfun
});

欢迎大家提出问题和指正,感谢

apicloud 自定义模块的开发与上架注意事项的更多相关文章

  1. apicloud 自定义模块引用aar

    apicloud 引入aar包,如果使用apicloud自定义模块的话,如果是一般的jar包,我们需要把jar down到本地然后添加到module的libs中就可以了(不要想着用远程地址了,既然用a ...

  2. Apicloud自定义模块

    各种坑,折腾了两天才有点头绪.我用的是Android Studio编辑器,官网是Eclipse的视频.文档也比较蛋疼. 自定义模块的目录结构要按照下面来处理 其中res_模块名,存放res和Andro ...

  3. 关于apicloud ios自定义模块引用第三方framework not found for architecture armv7

    1 .自定义模块 新建模块必须是静态库 2.使用的第三方framework 必须要把 .h文件开放出来 3.编译要用 真机模式 (上传模块以后,自定义load要编译,用生成的二维码调试) 4. 添加监 ...

  4. python开发学习-day05(正则深入、冒泡排序算法、自定义模块、常用标准模块)

    s12-20160130-day05 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  5. Python开发【第一篇】Python基础之自定义模块和内置模块

    为什么要有模块,将代码归类.模块,用一砣代码实现了某个功能的代码集合. Python中叫模块,其他语言叫类库. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代 ...

  6. Nginx模块开发1_明白自定义模块的编译流程

    自定义模块的编译流程 --add-module参数 configure使用--add-module参数指定添加模块目录. config脚本 由--add-module指定的目录保存为$ngx-addo ...

  7. 使用python开发ansible自定义模块的简单案例

    安装的版本ansible版本<=2.7,<=2.8是不行的哦 安装模块 pip install ansible==2.7 先导出环境变量 我们自定义模块的目录. 我存放的目录 export ...

  8. 自定义搭建PHP开发环境

    学习了一段时间php了,因为之前是刚接触php,所以用的是集成安装包(wamp).现在想进一步了解apache.mysql.php之间的关系以及提升自己所以进行自定义搭建PHP开发环境.废话不多说,请 ...

  9. python基础知识8——模块1——自定义模块和第三方开源模块

    模块的认识 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需 ...

随机推荐

  1. 详述MSSQL服务在渗透测试中的利用 (下篇)

    part3 MSSQL写文件 步骤1 sp_makewebtask写文件 因为是`SA`权限,如果目标服务器是web服务器,我们也不用去备份了,可以直接写个一句话木马进去到web目录. 在不知道web ...

  2. docker 下安装mssql-server-linux

    docker search mssql 查找mssql镜像 docker pull microsoft/mssql-server-linux 拉去mssql镜像 docker images 查看镜像 ...

  3. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

  4. info.plist的选项含义

    1.     Application does not run in background(鍵名:UIApplicationExistsOnSuspend)自從iOS4.0之後,當你在應用程式執行的時 ...

  5. React 安装

    1.安装 node  8.0以上 node -v npm -v 2.安装淘宝镜像 cnpm npm install -g cnpm --registry=https://registry.npm.ta ...

  6. windows cmd窗口提示“telnet”命令不能内部或外部命令,也不是可运行的程序

    windows cmd窗口提示“telnet”命令不能内部或外部命令,也不是可运行的程序 原因:C:\Windows\System32目录下没有telnet.exe,path系统变量的值包含了C:\W ...

  7. puppeteer(headless chrome)实现网站登录

    puppeteer简介 puppeteer是Chrome团队开发的一个node库,可以通过api来控制浏览器的行为,比如点击,跳转,刷新,在控制台执行js脚本等等.有了这个神器,写个爬虫,自动签到,网 ...

  8. error C4996: 'scanf': This function or variable may be unsafe.

    项目属性-配置属性-c/c++-预处理器- 在下面的编辑窗口中添加一句命令:_CRT_SECURE_NO_WARNINGS 添加完成后应用并退出 http://jingyan.baidu.com/al ...

  9. Linux 各种运算符

    目录 - 算术运算符 - 关系运算符 - 逻辑运算符 - 按位运算符 - 文件测试符 - 算术运算符 算术运算符,常用的有+.-.*./.%.++.--.** + - 加法运算符 [root@www ...

  10. Dubbo剖析-SPI机制

    文章要点: 1.什么是SPi 2.Dubbo为什么要实现自己的SPi 3.Dubbo的IOC和AOP 4.Dubbo的Adaptive机制 5.Dubbo动态编译机制 6.Dubbo与Spring的融 ...