Android 使用网页开发软件界面

因为android软件开发分工目前还没有细化,程序员往往需要负责软件界面的开发,虽然软件的界面图片已经由美工设计好了,但如果使用layout技术把软件做成如图片所示的界面确实很困难,而且也比较耗时。Android通过WebView实现了JS代码与Java代码互相通信的功能,使得android软件的界面开发也可以采用HTML网页技术,这样,广大网页美工可以参与进android软件的界面开发工作,从而让程序员从中解脱出来。

示例代码如下:

package cn.itcast.web;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class DemoActivity extends Activity {
	private WebView webView;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		webView = (WebView) this.findViewById(R.id.webview);
		// 相当于创建了一个浏览器

		WebSettings settings = webView.getSettings(); // 得到浏览器的设置
		settings.setJavaScriptEnabled(true);
		// 添加javascript接口
		/**
		 * 网页代码中超链接代码如下对象名demo和方法名callPhone()必须对应一致
		 * <p>
		 * <a οnclick="window.demo.callPhone()" href="">callPhone</a>
		 * </p>
		 */
		webView.addJavascriptInterface(new Object() {
			public void callPhone() {
				System.out.println("callphone");
				Intent intent = new Intent();
				intent.setAction(Intent.ACTION_CALL);
				intent.setData(Uri.parse("tel:1351234567"));
				startActivity(intent);
			}
		}, "demo");
		String url = getResources().getString(R.string.serverurl);
		webView.loadUrl(url);
	}

	// 调用javascript代码,如下:fillContent()方法名一致即可
	// <script>
	// function fillContent(){
	// document.getElementById("content").innerHTML = "aaaaaaaaaaaaaaaaaa";
	// }
	// }
	// </script>
	// <body bgcolor="#FFFFFF">
	// <p id="content"></p></body>
	public void calljavascript(View view) {
		System.out.println("javascript");
		webView.loadUrl("javascript:fillContent()");
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值