Webview里面的js如何访问的后台

Android代码

package com.example.sss.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView mWebView = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = mWebView.getSettings();
        //允许chrome://inspect调试
        WebView.setWebContentsDebuggingEnabled(true);
        webSettings.setJavaScriptEnabled(true);
        mWebView.loadUrl("file:///android_asset/demo.html");
    }
}

node server.js

var http = require('http');
var URL = require('url');
http.createServer(function (req, res) {
    res.writeHead(200, {
        'Content-Type': 'application/json',
        "access-control-allow-origin": "*",
    });
    res.end((parseInt(Math.random()*100)+""));
}).listen(8080);

console.log('Server running on port 8080.');

demo.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<button type="button" onclick="loadText();">Load Text</button>
<div id="content"></div>
<script>
    function loadText(){
        var xmlhttp;
        if(window.XMLHttpRequest){
            xmlhttp = new XMLHttpRequest();
        }else{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.open("get","http://192.168.20.177:8080",true);
        xmlhttp.send();

        xmlhttp.onreadystatechange = function(){
            if(xmlhttp.readyState==4&&xmlhttp.status==200){
                document.getElementById("content").innerHTML = xmlhttp.responseText;
            }
        }

    }
</script>
</body>
</html>

这种常见的混合模式App开发中,js并不能访问到后台。那么到底是怎么通信的呢。答案:代理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,686评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 写文章,确实是让人着迷的东西,两个月前下载了简书APP,一直观摩欣赏各大才子奇思妙论,难免或多或少有些思想碰撞。虽...
    江流丶阅读 171评论 0 0
  • 记忆中承载我全部童年的老房子还依稀可现,那是一个偏僻的小山沟——娘子关。 由于那会儿条件差,我们一家五口,只能住在...
    秋日麦田阅读 566评论 2 2
  • 俗话说得好,“民,以食为天”。食,大若天地外国人重于情趣,中国人则重于饮食。中国人既然能以食为天,则“悠悠万事,唯...
    慕度阅读 532评论 0 0