设为首页 收藏本站
查看: 1532|回复: 0

[经验分享] H5开发HybridApp

[复制链接]

尚未签到

发表于 2017-2-25 10:20:13 | 显示全部楼层 |阅读模式
1 H5开发
  开发HybridApp一般都是先完成H5部分,所谓的H5就是Html5页面,开发的时候我们在PC机上的浏览器调试即可,这里推荐Chrome F12模式。
DSC0000.jpg

  在调试服务器请求数据部分要给chrome设置跨域模式,如下:
DSC0001.jpg

  然后以管理员的身份启动chrome:
DSC0002.jpg

  开发H5,建议使用HBuilder,开发速度很快
DSC0003.jpg

  接下来安装cordova,本地需要已安装nodejs,确保可以正常使用npm命令。因为npm默认链接的是国外的源,所以如果网络不给力的话要切换成国内的源,比如淘宝的npm,具体如何切换,请百度。
2 安装cordova
DSC0004.jpg

  Cordova创建项目官方文档
  http://cordova.apache.org/docs/en/latest/guide/cli/index.html
3 创建项目
DSC0005.jpg

  进入项目
DSC0006.jpg

  添加平台
DSC0007.jpg

DSC0008.jpg

  查看已添加的平台
DSC0009.jpg

4 添加插件
  http://cordova.apache.org/docs/en/latest/guide/cli/index.html#link-add-plugin-features
  设备基本信息插件
DSC00010.jpg

  网络模块
DSC00011.jpg

  电池状态
DSC00012.jpg

  加速度计模块
DSC00013.jpg

  罗盘模块
DSC00014.jpg

  定位模块
DSC00015.jpg

  相机模块
DSC00016.jpg

  文件管理模块
DSC00017.jpg

  弹出框
DSC00018.jpg

  重力感应
DSC00019.jpg

  通讯录接口
DSC00020.jpg

  国际化
DSC00021.jpg

  启动页
DSC00022.jpg

  内置浏览器
DSC00023.jpg

  日志模块
DSC00024.jpg

  查看已安装插件
DSC00025.jpg

  如果要移除插件
  cordova plugin rm XXX
5 插件调用
  http://cordova.apache.org/docs/en/latest/cordova/plugins/pluginapis.html
6 项目导入
  以Android为例,IOS更简单,直接双击.xcodeproj即可在xcode里面打开项目
  Eclipse > Import> Existing Android Code Into Workspace >
DSC00026.jpg

  项目导入之后如下:
DSC00027.jpg

7 H5集成
  接下来我们把上面开发好的H5导入到工程里面来,导入H5部分需要注意,有两种方式,第一种也是官方文档使用的方式,即直接把H5内容复制到platform_www下面,然后通过cordova update 命令来同时更新到多个平台。
DSC00028.jpg

  但是cordova update这种方式有个缺点就是通过这种全面覆盖的方式就无法保留不同平台之间H5代码的差异性,所以尤其是项目后期,不建议采用这种方式来操作。
  另外一种方式是直接复制H5代码到不同平台下,分别调试:
DSC00029.jpg

  设置首页
  打开MainActivity.java
DSC00030.jpg

  IOS是直接在config.xml里面配置即可。
  引入cordova.js
  H5页面引入cordova.js
DSC00031.jpg

  APP图标和启动页
DSC00032.jpg

8 APP打包
  接下来就可以直接Run As 运行打包了,如果有连着android手机,可以直接在手机上查看效果。
DSC00033.jpg

  如果无法连接真机调试,可以打包成apk后另行安装:
  右键项目>Android Tools>Export Signed Application package… 或者 Export UnSigned Application package… ,如果有签名文件就选Signed,反之UnSigned。
9 自定义插件
  开头部分已经提到插件这个词,插件就是cordova封装了一套通过js来访问硬件设备的接口,那如果我们要自己实现一个插件该怎么做,可以查看官方文档,按照cordova的规范来编写:
  http://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/index.html
  这里举个简单的例子,比如我们要开发个Toast,众所周知Toast这种效果一般要通过android的Toast.makeText()方法来实现,那我们怎么通过js来调用这个原生的方法呢,步骤如下:
  1) 创建原生实现类ToastPlugin.java
  实现如下:
DSC00034.jpg

  2) 创建js实现类ToastPlugin.js
  实现如下:
DSC00035.jpg

  3) 配置路由res/xml/config.xml
DSC00036.jpg

  4) 调用
  接下来就可以在html页面通过toast(“XXX”);这种方式来调用了。
  Ios插件的实现步骤跟android大概一致,只是ToastPlugin.java ios对应的要用原生Object-c去实现。
  完。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346923-1-1.html 上篇帖子: 怎么给kibana加上权限? 下篇帖子: 使用gulp在开发过程中合理导出zip文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表