展会信息港展会大全

Android采用HTML设计软件界面webview
来源:互联网   发布日期:2015-10-02 21:31:21   浏览:2087次  

导读:MainActivity.java[java] 瀀愀挀欀愀最攀 cn.itcast.html; 椀洀瀀漀爀琀 java.util.List; 椀洀瀀漀爀琀 org.j...

MainActivity.java

[java]

package cn.itcast.html;

import java.util.List;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import cn.itcast.domain.Contact;

import cn.itcast.service.ContactService;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.util.Log;

import android.webkit.WebView;

public class MainActivity extends Activity {

private static final String TAG = "MainActivity";

private ContactService contactService;

private WebView webView;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

contactService = new ContactService();

webView = (WebView)this.findViewById(R.id.webView);

webView.getSettings().setJavaScriptEnabled(true);

webView.addJavascriptInterface(new ContactPlugin(), "contact");

//webView.loadUrl("file:///android_asset/index.html");

webView.loadUrl("http://192.168.1.100:8080/videoweb/index.html");

}

private final class ContactPlugin{

public void getContacts(){

List<Contact> contacts = contactService.getContacts();

try {

JSONArray array = new JSONArray();

for(Contact contact : contacts){

JSONObject item = new JSONObject();

item.put("id", contact.getId());

item.put("name", contact.getName());

item.put("mobile", contact.getMobile());

array.put(item);

}

String json = array.toString();

Log.i(TAG, json);

webView.loadUrl("javascript:show('"+ json +"')");

} catch (JSONException e) {

e.printStackTrace();

}

}

public void call(String mobile){

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile));

startActivity(intent);

}

}

}

ContactService.java

[java]

package cn.itcast.service;

import java.util.ArrayList;

import java.util.List;

import cn.itcast.domain.Contact;

public class ContactService {

public List<Contact> getContacts(){

List<Contact> contacts = new ArrayList<Contact>();

contacts.add(new Contact(34, "张孝祥", "1398320333"));

contacts.add(new Contact(39, "冯威", "1332432444"));

contacts.add(new Contact(67, "老毕", "1300320333"));

return contacts;

}

}

Contact.java

[java]

package cn.itcast.domain;

public class Contact {

private Integer id;

private String name;

private String mobile;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getMobile() {

return mobile;

}

public void setMobile(String mobile) {

this.mobile = mobile;

}

public Contact(Integer id, String name, String mobile) {

super();

this.id = id;

this.name = name;

this.mobile = mobile;

}

}

index.html

[html]

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

function show(jsondata){

var jsonobjs = eval(jsondata);

var table = document.getElementById("personTable");

for(var y=0; y<jsonobjs.length; y++){

var tr = table.insertRow(table.rows.length); //添加一行

//添加三列

var td1 = tr.insertCell(0);

var td2 = tr.insertCell(1);

td2.align = "center";

var td3 = tr.insertCell(2);

td3.align = "center";

//设置列内容和属性

td1.innerHTML = jsonobjs[y].id;

td2.innerHTML = jsonobjs[y].name;

td3.innerHTML = "<a href='javascript:contact.call(\""+ jsonobjs[y].mobile+ "\")'>"+ jsonobjs[y].mobile+ "</a>";

}

}

</script>

</head>

<!-- js代码通过webView调用其插件中的java代码 -->

<body onload="javascript:contact.getContacts()">

<table border="0" width="100%" id="personTable" cellspacing="0">

<tr>

<td width="20%">编号</td><td width="40%" align="center">姓名</td><td align="center">电话</td>

</tr>

</table>

<a href="javascript:window.location.reload()">刷新</a>

</body>

</html>

[html]

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="cn.itcast.html"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<uses-library android:name="android.test.runner" />

<activity android:name=".MainActivity"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

<uses-sdk android:minSdkVersion="8" />

<uses-permission android:name="android.permission.CALL_PHONE"/>

<!-- 访问网络的权限 -->

<uses-permission android:name="android.permission.INTERNET"/>

<instrumentation android:name="android.test.InstrumentationTestRunner"

android:targetPackage="cn.itcast.html" android:label="Tests for My App" />

</manifest>

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港