zoukankan      html  css  js  c++  java
  • Cordova学习

    引子:

    在App开发的过程中很长时间以来一直都有一个痛点,就是App不太好实现动态的更新,如果要更新就得重新发布,这样就面临一个审核的过程,审核的时间不确定,特别是对于iOS开发来说,审核短则一周,慢则更久,更有可能审核失败需要重来,这个过程不可谓不痛苦。当然,现在有很多App在项目开发中使用了Hybird混合开发的模式,使用h5来实现重展示轻交互的一些页面,如亚马逊App、京东和淘宝等,这是一个趋势和优势,项目前期,公司决定也用混合框架来开发,采用的框架是cordova.

    Cordova基本介绍

    PhoneGap我想大多数人都听说过,它就是Cordova的前身,后来被Adobe收购了才改叫Cordova.

    Cordova原理粗略认知

    在做这个项目之前,其实也有时候需要嵌入一些h5页面,也有一些交互,比如点击h5的某个按钮需要调用App本地的分享功能。之前的做法一般是协定好一个url, 比如http://xxxx/share, 当点击按钮的时候,就调用这个url,web的代理方法就会被调用,那么这个时候就对url进行判断,检测到”share”那么就认为是需要调用本地的分享功能,如此这般。Cordova可以认为是封装了这么一个过程。

    Cordova基本架构


    201604201735.jpg

    Cordova基础实践(实现功能:拍照并且在h5显示图片)

    1.首先是引入cordova的库,引入之后如下图所示
    201604201735.jpg

    2.我们发现,程序启动后显示的根控制器是继承了CDVViewController,这也是Cordova的一个基础类,所有的h5控制器都继承这个类
    201604201735.jpg

    3.看一下这个控制器需要显示的html页面怎么获取的。
    201604201735.jpg

    4.当html页面显示,点击拍照按钮图片
    201604201736.jpg

    5.看一下Camera.js里面的getPicture方法
    201604201736.jpg
    注意这个方法最后一行代码:

    
    
    1. /*
    2. exec(成功回调,失败回调, "服务名(config.xml中配置的)", "对应服务类中的某个方法名",参数);
    3. */
    4. exec(successCallback, errorCallback, "Camera", "takePicture", args);

    这个方法回调用到oc写的插件类的方法。

    6.现在是调用到插件代码,这个函数的功能就是调用摄像头拍照
    201604201736.jpg
    拍摄完成需要把图片回传到h5页面展示
    201604201736.jpg
    可以看到图片被base64编码之后调用了exec函数中的成功回调函数
    7.看一下成功回调函数的实现
    201604201737.jpg
    至此一个简单的混合开发实践就完成了。

    终于明白,“喜欢”是一种莫大的能量!
  • 相关阅读:
    <Ajax> 四. get请求(验证用户名是否存在)
    <Ajax> 三. 前端和后端通过表单数据交互
    <Ajax> 一. PHP基本使用和基本数据类型
    <Ajax> 二. PHP选择语句和循环语句
    <Bootstrap> 学习笔记八. 导航栏和颁
    <Bootstrap> 学习笔记七. 下拉菜单和标签页
    <Bootstrap> 学习笔记六. 栅格系统使用案例
    <Bootstrap> 学习笔记五. 按钮组的使用
    <Bootstrap> 学习笔记三. 浮动的使用
    <Bootstrap> 学习笔记四. 表单组和输入框组的使用
  • 原文地址:https://www.cnblogs.com/tml839720759/p/5413626.html
Copyright © 2011-2022 走看看