Android使用本地页面调用android代码

Activity代码:

package com.example.reg;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;

import com.example.reg.bean.MyObject;

public class WebViewActivity extends Activity{

	private static final String tag = WebViewActivity.class.getSimpleName();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.webview);
		WebView webview = (WebView) findViewById(R.id.web_view);
		webview.getSettings().setJavaScriptEnabled(true);
		//webview.loadUrl("http://www.baidu.com");
		webview.addJavascriptInterface(new MyObject(this), "myObj");
		webview.loadUrl("file:///android_asset/html/test.html");
		Log.d(tag, "执行结束..");
	}

}

MyObject代码:

package com.example.reg.bean;

import android.R;
import android.app.AlertDialog;
import android.content.Context;
import android.widget.Toast;

public class MyObject {
	Context mContext;

	public MyObject(Context mContext) {
		super();
		this.mContext = mContext;
	}

	public void showToast(String name){
		Toast.makeText(mContext, name, Toast.LENGTH_LONG).show();
	}

	public void showList(){
		new AlertDialog.Builder(mContext)
		.setTitle("图书列表")
		.setIcon(R.drawable.ic_btn_speak_now)
		.setItems(new String[]{"xx1","xx2","xx3"}, null)
		.setPositiveButton("确定", null)
		.create()
		.show();
	}

}

html路径:

\reg\assets\html\test.html    \reg 是项目名称

html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
	<title>js..调用Android..</title>
</head>
<body>
	<input type="button" value="sayHi" onclick="myObj.showToast(‘carl‘);"/>
</body>
</html>

如果要在本地页面中引入外部css文件则添加如下代码:

<!--引入css文件-->

<link rel="stylesheet" href="file:///android_asset/html/style.css" type="text/css"/>

时间: 2024-10-12 15:05:45

Android使用本地页面调用android代码的相关文章

六、Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

Android下相机的调用

Android下相机的调用 Android下相机的调用分别为调用系统相机和Building a Camera App两种用法: 一.调用系统相机 1.MainActivity.java文件 1 package com.example.takephoto; 2 3 import java.io.File; 4 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.provider.MediaStore; 8 i

在Android和iOS设备上调用C++代码

不少Android和iOS项目中,因为种种原因不得不调用C/C++代码.这篇文章主要讲述如何通过Objective-C++.NDK技术在iOS及Android设备上调用C/C++代码. 主要工作原理 主要工作原理,如上图所示.Google Android提供NDK以便支持C/C++代码,而iOS可以通过Objective-C++(*.mm)来支持C/C++代码的编译运行.如果有朋友钻研过Cocos2d-x的话,应该对上述这些内容非常熟悉.好了,废话不多说,开始提供干货. 需要调用的C++代码 我

Android第六期 - ViewPage与菜单栏本地页面监听滑动效果

首先是JiaoyuzixunActivity.java代码部分: package com.gaoxiaotong.ctone.jiaoyuzixun; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.json.JSONArray; import org.json.JSONO

Android的WebView通过JS调用java代码

做项目时候会遇到我们用WebView 打开一个web,希望这个web可以调用自己的一些方法,比如我们在进一个web页面,然后当我们点击web上的某个按钮时,希望能判断当前手机端是否已经登录,如果未登录,那么就会跳转到登录页面(登陆页面是另一个Activity).这个时候,一个简单的做法就是在按钮动作事件的js上调用java的方法,从而起到判断是否登录,并决定是否跳转到另一个页面. Google的WebView为我们提供了 addJavascriptInterface(Object obj, St

android 编译调用C代码

博客地址:www.zalezone.cn 前言 需求来源 这几天帮别人做一个简单的android客户端,也没什么功能,主要就是调用C代码来对手机的Wifi网络进行设置,于是也就引出了技术难点所在,如何去调用C程序达到我们所需要的效果. 解决方案 对于这个,我想出了两种解决方案: 第一种方案是利用JNI来进行本地调用.关于什么是JNI呢,JNI其实是Java Native Interface的简称,也就是java本地接口,它提供了若干API实现了java和其他语言的通信(主要是C和C++). 第二

PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码

PhoneGap或者Cordova框架下实现Html5中JS调用Android原生代码 看看新闻网>看引擎>开源产品 0人收藏此文章, 发表于8小时前(2013-09-06 00:39) , 已有13次阅读 ,共0个评论 依照我一惯得套路,我会先说一点废话. PhoneGap和Cordova什么关系?为什么有的地方叫Cordova而有的地方叫PhoneGap ?PhoneGap是一款HTML5平台.通过它,开发商能够使用HTML.CSS及JavaScript来开发本地移动应用程序.因此,眼下开

Android之如何使用javascript调用android代码

使用javascript调用android代码 1.使用webview对象的addJavascriptInterface方法 2.addJavascriptInterface方法有两个参数,第一个参数就是我们一般会实现一个自己的类,类里面提供我们要提供给javascript访问的方法:第二个参数是访问我们在obj中声明的方法时候所用到的js对象,调用模式为window.interfaceName.方法名()或者是javascript: interfaceName.方法名() ;,如myWebVi