hybird混合式开发搭建

1.xml

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

2.activity

package com.firefly.hybirdapp;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class HomeActivity extends AppCompatActivity {
    WebView myWebView;
    //    String loadUrl = "file:///android_assets/index.html";本地
    String netUrl = "http://172.16.46.114:14023/index.html/";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        myWebView = (WebView) findViewById(R.id.webview);
        myWebView.loadUrl(netUrl);//加载Url
        //设置WebView
        myWebView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        //得到设置类
        WebSettings ws = myWebView.getSettings();
        ws.setJavaScriptEnabled(true);//允许js脚本
        //把js调用的方法写在WebApp
        myWebView.addJavascriptInterface(new MyWebAppInterface(this), "android");
    }

    //按返回键返回上一页
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // Check if the key event was the Back button and if there‘s history
        if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
            myWebView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}

3.webApp类

package com.firefly.hybirdapp;

import android.content.Context;
import android.util.Log;
import android.webkit.JavascriptInterface;

/**
 * Created by pengdan on 2016/6/27.
 */
public class MyWebAppInterface {
    Context context;

    public MyWebAppInterface(Context context) {
        this.context = context;
    }

    @JavascriptInterface
    public String lookData(String data) {
        Log.e("TAG", data + "hello!!");
        //返回信息给html
        return "hello";
    }
}

4.html

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title></title>
        <script src="js/mui.min.js"></script>
        <link href="css/mui.min.css" rel="stylesheet" />
        <script type="text/javascript" charset="utf-8">
            mui.init();

            function look() {
                var ua = navigator.userAgent.toLocaleLowerCase();
                alert(ua);
                //判断是否android
                if (/android/.test(ua)) {
                    //发送消息
                    var msg = window.android.lookData(‘I am html5‘);
                    //把接收到的消息写到span里面
                    document.getElementById(‘span‘).innerHTML = msg;
                    alert(msg);
                }
            }
        </script>
    </head>

    <body>
        <h1>彭丹</h1>
        <button onclick="look()">点击</button>
        <span id="span"></span>
    </body>

</html>
时间: 2024-10-28 23:55:43

hybird混合式开发搭建的相关文章

Cordova+ionic 开发hybird App --- 开发环境搭建

Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次手动输入太麻烦而且都是重复劳动,于是你下决心改变这种状况,然后学会了把javac命令写到一个bat文件中,以后编译只需要单击运行即可:然后随着你敲的代码越来越多,而且有了JAVA project概念,于是你手动新建了很多文件夹比如src.bin.lib,你有写了一个bat文件来减少你的重复劳动:再后

兄弟连HTML5培训升级混合式开发课程体系

兄弟连HTML5培训升级混合式开发课程体系 在率先提出"混合开发"培训理念的基础上,为了确保授课内容更贴近企业及学员需要,兄弟连HTML5培训混合式开发课程再次升级!融于最新项目框架,紧跟企业发展步伐,加强项目开发经验,提升实战动手能力.学到的HTML5混合式开发课程不仅仅是概念,更重要的是实战经验,兄弟连HTML5培训给学生的起点,是别人达到不了的高点! 1.加强原生JS 企业越来越重视开发人员对于原生JS的掌握情况,而能否熟练掌握HTML5培训原生JS也关系到对JS框架的应用.如果

Android环境开发搭建

今天第一次接触安卓,从开发环境的配置到程序的运行,足足搞了一天,也没有整出来. 1.安装JDK 在JDK官网上下载了最新的JDK,安装成功后进行环境的配置.JAVA_HOME:C:\Program Files\Java\jdk1.8.0_05.这里的配置地址是JDK的安装目录.classpath:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;  Path配置:C:\Program Files\Java\jdk

java实现微信公众号房卡牛牛六人平台开发搭建文章采集接口程序

日志实体类,用户记录用户登录登出 LogRec.javapackage q.dms.test; import java.util.Date; /** 实体类 包含用户登录的id,ip,userName,Long_in,Log_out,address,type @author sky_mg 2017年6月4日下午3:07:44 TODO 记录用户登录,登出信息记录 微信公众号房卡牛牛六人平台开发搭建教程:h5.fanshubbs.com联系技术Q:1687054422/ public class

js的arguments菠菜网站开发搭建到底是什么

arguments的属性接下来我们来看看arguments对象里面到底有些什么东西,是骡子是马拉出来溜溜. function showargs() {console.log( arguments );} showargs(1,2,3,4,5);下面我们用console.log的方式,将arguments对象输出到控制台,这里不得不说一句,chrome的console工具好用得不得了(我不是来打广告的). arguments 这里我们可以看到arguments对象将我传入的五个参数以数组的形式保存

挖矿交易所开发,搭建币币交易系统app

数字资产交易所交易系统现阶段单独运营的越来越少,大部分结合一些其他的规则模式进行架构,比如交易分红挖矿.算力挖矿.持币生息等等,形成多元化的模式来进行运营,这样更加容易吸引到用户.而拿挖矿分红来说其中玩法门道就有许多不同,Fcoin.UES.ZBG等等许多大大小小的平台都有"挖矿",但其中的规则都大不相同.拿UES来说挖的币每天涨0.01元:Fcoin的挖矿机制允许大户挖矿,大户可能交易100万就挖100万的矿等等.当然也有许多不仅仅搭建币币交易系统,也有许多结合一些OTC.C2C等模

武警监所智慧磐石安防系统开发搭建解决方案

武警监所智慧磐石安防系统有三防:"人防.技防以及物防"人防是指安全防范基础,利用人体感官.体能做出防范,制止风险发生.技防是利用各种电子信息设备的防范系统.物防用于安全防范目的.能延迟风险事件发生的各种实体防护手段(包括建(构)筑物.屏障.器具.设备.系统等). 武警监所智慧磐石安防系统主要针对监狱.看守所进行技防和物防手段.通过整合指挥.监控摄像.防护.报警.通信.处置等多个要素.实现信息智能管理.环境智能分析.通道智能防范.监控智能识别.险情智能感知.情况智能处置等智能功能系统,构

虾乡稻APP软件开发搭建

虾乡稻APP软件开发搭建▋苏生191微5743电0729▋虾乡稻推广返利软件开发,虾乡稻推广分红平台搭建,虾乡稻推广返佣系统源码,虾乡稻推广返利制度开发 以新技术来改变和影响人们的生活方式,才能找到新的发展机会.互联网时代之所以获得如此大的发展,主要是因为它从根本上改变了传统时代人们以线下为主的生活方式.在后互联网时代,只有用新技术来改变和影响人们的生活方式,才能找到新的发展机会. 一.虾乡稻系统模式制度分析:购买任何代言人级别即可占位成功,直接分享2人,就可以享受整个平台提现的10%平分给所有

使用cordova+Ionic+AngularJs进行Hybird App开发的环境搭建手册

一,所需工具 1,JDK:生成 2,安卓SDK开发环境 3,NodeJs:主要使用的还是npm 4,Python开发环境 5,VS 2012(2008,2015也可以,已亲测):安装这个主要是需要一些.net的东西,也没具体查是啥,图个省事. 6,cordova:起到一个移动中间件的作用,负责JS跟原生的一些交互. 7,Ionic 二,说说安装过程中的一些坑 1,JDK问题 建议选用1.7以上的版本,我们使用的是1.8的版本. 2,SDK问题 因为最后构建APP的时候,使用Ionic命令会调用到