如何用vue开发一个安卓App的项目

1.进度阐述
通过vue-cli创建的vue项目,现在已经做好了html页面,没有数据交互
2.问题描述
数据交互方面上,我理解的是跟之前一样的用vue-resources做http请求,然后页面处理数据;但是安卓开发的后端人员说不是这样(后端也是个新手),说是得对http的请求做一次封装,原来我们是this.$http("http://www.abc.com/goods")这样的请求,现在不能这样写了,而是用一个另外的方法去请求

function toLogin(){
    var userName = document.getElementById('userName').value;
    var pwd = document.getElementById('pwd').value;
    window.WebViewJavascriptBridge.callHandler(
        'toLogin'
        , {'param': '{userName:'+userName+',pwd:'+pwd+'}'}
        , function(responseData) {
        }
    );
}

3.问题
(1)问题一:
我现在就比较模糊,不知道是否是真的要那样写;我网上百度以及咨询别人,都说开发安卓APP的话,也是this.$http请求那样的,不需要像上面一样封装
(2)问题二
cordova打包和weex打包是什么?正常流程是在我数据交互完再打包?

阅读 34.2k
5 个回答

问题1

其实只需要验证下vue.jshttp调用能不能在Android环境下运行

  1. Android提供一个允许运行jsWebView,并获取到网络请求的权限
  2. 使用WebView加载vue.js页面
  3. vue.js页面执行http调用
  4. 等待验证结果

若验证通过,则完全不需要再通过native-js接口来实现,除非有交互需求才需要js调用native接口(如果验证过了,还要那样做,就等同于TuoDiaoKuzi,FangPi。)

问题2

Cordova是用来打包离线html页面的,即已经编译生成好的页面,打包之后,会随同Apk安装到手机,App运行时,会直接读取这些本地安装的页面。一般配合ionic或者Framework7使用。

p.s.Weex暂时未了解过。

混合开发,一般情况最好单独处理逻辑,如果确实需要交互,可以定义方法进行通信。
(1)看你的描述,好像是要封装请求给安卓调用,如果那样的话,肯定需要封装,但是你完全可以h5直接发起请求,处理逻辑,只跟安卓进行简单的交互,目前我们开发就是这种,基本上只会涉及到调用几个函数的问题;
(2)没有使用过这两个,只是了解weex是基于vue的语法封装的,打包我们都是安卓和ios他们处理,我们只负责自己的h5部分。

1、正常的http请求就可以了。
2、cordova打包的APP是基于webview的,weex是渲染成原生组件。
也可以用APICloud打包,我们之前项目用这个。

1).调用原生的登录界面,直接跳转到登录页面即可,如果是自己的H5模块登录界面,直接调用后台接口即可,后台的数据库是相通的就行
2).数据交互完再打包

cordova,你值得拥有

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题