zoukankan      html  css  js  c++  java
  • apicloud 自定义模块的开发与上架注意事项

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

    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
    });

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

     

    成灰之前,抓紧时间做点事!!
  • 相关阅读:
    第一课时之导读
    python学习之第十六课时--缩进(indentation)
    python学习之第十六课时--函数的作用及定义
    python学习之第十五课时--存址方式及拷贝
    Linux学习之第七课时--链接(link)文件
    Linux学习之第六课时--文件和目录操作管理命令
    Linux学习之第五课时--文本编辑器
    TOJ--1162---dfs(回溯)
    TOJ---3128---bfs(打印路径)
    TOJ---1502---map真强大
  • 原文地址:https://www.cnblogs.com/jony-it/p/10279844.html
Copyright © 2011-2022 走看看