HTML中<Javascript>与activity之间的交互

原创 2015年11月17日 21:37:28

在android中有时用到HTML所写的文件布局时,为了使其产生交互,因此在HTML中定义<script>使其达到交互的效果

首先利用web布局在xml中定义webview控件:

<span style="font-size:14px;"><WebView android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/webview_one"/></span>

在activity中引入:

<span style="font-size:14px;"><span style="white-space:pre">		</span>mWebView = (WebView) findViewById(R.id.webview_one);
		//第一步,设置webview可操作
		WebSettings webSettings = mWebView.getSettings();
		webSettings.setJavaScriptEnabled(true);
		//第三步,添加Javascript接口
		mWebView.addJavascriptInterface(new MyWebView(), "musicServiceInterfaceName");  //<span style="font-family: Arial, Helvetica, sans-serif;">musicServiceInterfaceName与<script>中window点后保持一致</span>

		 
		mWebView.loadUrl(url);    //String url = "http://192.168.1.132:8080/test/getmarry.html";  自定义HTML路径
	}
	
	/* 第二步
	 * 自定义一个activity与HTML交互类“musicServiceInterfaceName”和所使用方法
	 * */
	public class MyWebView{
		/*
		 * 界面交互,此方法与HTML中调用方法保持一致
		 * */
		public void playMusic(){
			Toast.makeText(MyWebViewActivity.this, "播放成功", Toast.LENGTH_SHORT).show();
		}
		
		/*
		 * 界面交互,此方法与HTML中调用方法保持一致
		 * */
		public void startGridViewHttp(){
			startActivity(new Intent(MyWebViewActivity.this, TestRelative.class));
		}
	}</span>

HTML中文件:下面在<head>标签下

<span style="font-size:14px;"><script>
		
		
		function myOnClick(){             //定义调用方法
			
			window.musicServiceInterfaceName.playMusic();      //<span style="font-family: Arial, Helvetica, sans-serif;">playMusic()为activity中调用方法(下面相同)</span>

		}
		function startGridView(){
			window.musicServiceInterfaceName.startGridViewHttp();
		}
		
		
		function nativeToJs(){
			var url = window.musicServiceInterfaceName.jsToNativeGetParameter(); //返回http://it.warmtel.com 
			window.location.href=url; //跳转到指定url
		}

		
		function toHttpWeb(){
			window.location.href="http://blog.warmtel.com";
		}
		
	</script></span>
在<body>标签中:

<span style="font-size:14px;"><div class="wrapcontain" style="width: 300px;padding: 10px;padding-top: 0px;margin: 0 auto;background-color:#680011;">

			<div class="topimg" >
				<img class="p2" src="./img/index_top_bg.png"/>
				<img class="p1" src="./img/index_microphone.png" onclick="myOnClick()"/>     <span style="font-family: Arial, Helvetica, sans-serif;"><!-- 设置点击事件    当点击时调用activity中playMusic方法--></span>

			
				<h3 class="sp">
					<p id="sp11" class="sp1">xxx</p>
					<p class="sp2">
						还有<span class="sp3">35</span>天
					</p>
				</h3>
			</div>
		
			<div class="imgshow">
				<img src="./img/index_yaoqinghan.png" onclick="startGridView()"/>   <!-- 设置点击事件 -->
			<img src="./img/index_zhufuqiang.png" /> 
			<img src="./img/index_yaoyiyao.png" /> 
			<img src="./img/index_hunsha.png" />

			</div>
			
			<p class="footer">
			<a href="###">xxx<img
				src="./img/redRightarrow.png" /></a>

			</p>
			
		</div></span>





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

html与activity交互

  • 2015-08-27 17:20
  • 7.49MB
  • 下载

android Fragment与Activity之间数据交互

本文实现了两个功能:1、在Fragment中通过getActivity获取activity中组件在通过组件获取内容的方法获取activity中的数据。 2、在Activity中通过接口回调的方法获取F...

Android笔记--简单的Fragment和Activity的之间的数据交互(传值)

通过点击MainActivity里的按钮传一个字符串给MainActivity2的fragment里的textview,并显示出来。 1、在MainActivity下:通过intent先把字符串传给M...

Android fragment和activity之间的数据传递交互

MainActivity如下: package cc.testsimplefragment0; import android.os.Bundle; import android.app.Activ...

Fragment与Activity之间的数据交互

Fragment可调用getActivity()方法获取它所在的ActivityActivity可调用FragmentManager的FindFragmentById()或FindFragmentBy...

Activity和Service之间的交互

交互的原理: activity 和 service中各自定义一个handler,通过过messenger类来转化IBinder或是Handler,最后在handler中处理消息: 代码涉及的页面比...

Android进阶之Fragment与Activity之间的数据交互

1概念1 为什么因为Fragment和Activity一样是具有生命周期,不是一般的bean通过构造函数传值,会造成异常。2 参考链接Activity和Fragment传递数据的两种方式【Fragme...

Fragment与Activity之间的数据交互

一、Activity把值传递给Fragment   建议的传值方式是通过Bundle来传递,而不是直接作为fragment的构造参数传递。在activity中创建bundle数据包,并调用fragm...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)