1. [代码]html代码     
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
        function show(josndata){
            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:itcast.call(\""+ jsonobjs[y].mobile+ "\")'>"+jsonobjs[y].mobile+"</a>"; 
            }
        }
    </script>
  </head>
    <!-- js代码通过webView调用其插件中的java -->
  <body onload="javascript:itcast.getContacts();">
    <table border="0" width="100%" id="personTable" cellpadding="0">
        <tr bgcolor="#E6F3FF"> 
            <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>
2. [代码]静态赋值

package org.itcast.service;
 
import java.util.ArrayList;
import java.util.List;
 
import org.itcast.domain.Contact;
 
public class ContactService {
    public List<Contact> getContacts() throws Exception{
        List<Contact> contacts = new ArrayList<Contact>();
        contacts.add(new Contact(1,"xx","1254154741"));
        contacts.add(new Contact(2,"qq","548745141"));
        contacts.add(new Contact(21,"ss","13545874514"));
        return contacts;
         
    }
}
3. [代码]实体类

package org.itcast.domain;
 
public class Contact {
    private Integer id;
    private String name;
    private String moblie;
     
     
    public Contact() {
        super();
    }
     
     
    public Contact(Integer id, String name, String moblie) {
        super();
        this.id = id;
        this.name = name;
        this.moblie = moblie;
    }
 
 
    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 getMoblie() {
        return moblie;
    }
    public void setMoblie(String moblie) {
        this.moblie = moblie;
    }
     
     
}
4. [代码][Java]代码  
package org.itcast.ui;
 
import java.util.List;
 
import org.itcast.domain.Contact;
import org.itcast.service.ContactService;
import org.json.JSONArray;
import org.json.JSONObject;
http://www.huiyi8.com/hunsha/hanshi/​
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 HtmlUIActivity extends Activity {
    private WebView webView;
    private ContactService service;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        service = new ContactService();
        webView =(WebView)this.findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);//打开js功能,使浏览器能使用脚本功能
        webView.addJavascriptInterface(new ContactPlugin(), "itcast");//为浏览器安装js插件,其中interfaceName表示是一个类名,调用js时都是interfaceName.xx();
        webView.loadUrl("file:///android_asset/index.html");
    }
    private class ContactPlugin{
        public void getContacts() throws Exception{
            List<Contact> contacts = service.getContacts();//得到联系人数据
            JSONArray array = new JSONArray();
            for (Contact contact :contacts) {
                JSONObject item = new JSONObject();
                item.put("id", contact.getId());
                item.put("moblie", contact.getMoblie());
                item.put("name", contact.getName());
                array.put(item);
            }
            String json = array.toString();//转成json字符串
            Log.i("HtmlUIActivity",json);
            webView.loadUrl("javascript:itcast.show('"+json+"')");
        }
        public void call(String moblie){
            Intent intent =new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+moblie));
            startActivity(intent);
        }
    }
}

调用html进行android布局的更多相关文章

  1. 转:Android布局优化

    categories: Android 在Android开发中,我们常用的布局方式主要有LinearLayout.RelativeLayout.FrameLayout等,通过这些布局我们可以实现各种各 ...

  2. Android 布局详解

    Android 布局详解 1.重用布局 当一个布局文件被多处使用时,最好<include>标签来重用布局. 例如:workspace_screen.xml的布局文件,在另一个布局文件中被重 ...

  3. Android布局优化:include 、merge、ViewStub的详细总结

    版权声明:本文出自汪磊的博客,未经作者允许禁止转载. 本篇博客主要是对上篇博客的补充Android性能优化之UI渲染性能优化, 没有什么新东西,觉得应该是都掌握的玩意,写出来也只是自己做个小小的总结. ...

  4. [旧][Android] 布局优化

    备注 原发表于2016.05.21,资料已过时,仅作备份,谨慎参考 前言 最近在编写布局时,发现这一块是有很多值得深入学习的地方的.毕竟应用开发,界面展示是十分重要的部分.另外在开发时,为自己的代码做 ...

  5. 【转】在Android布局中使用include和merge标签

    内容转自:http://fengweipeng1208.blog.163.com/blog/static/21277318020138229754135/ 在我们开发android布局时,经常会有很多 ...

  6. Android成长日记-Android布局优化

    Android常用布局 1. LinearLayout(线性布局) 2. RelativeLayout(相对布局) 3. TableLayout(表格布局) 4. AbsoluteLayou(绝对布局 ...

  7. 【转】Android布局优化之ViewStub

    ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View.虽然Android开发人员基本上都听说过,但是真正用的可能不多. ViewStub可以理解成一个非常轻量级的Vie ...

  8. Android 布局之LinearLayout

    Android 布局之LinearLayout 1 LinearLayout简介 LinearLayout是线程布局.它包括2个方向(android:orientation):“水平”(horizon ...

  9. Android 布局之RelativeLayout

    Android 布局之RelativeLayout 1 RelativeLayout简介 RelativeLayout是相对布局. RelativeLayout布局属性 1.1 与parent相对的属 ...

随机推荐

  1. hdu6217(数学)

    题意: 你需要输出在16进制下,π的第n位的数字 分析: 既然要求第n位的数字,我们不妨把原来的数字乘上$16^{n-1}$,我们要求的就是这个和式的小数部分的最高位 我们可以用double暴力求出小 ...

  2. 浅析PropertySource 基本使用

    目录 一.PropertySource 简介 二.@PropertySource与Environment读取配置文件 三.@PropertySource与@Value读取配置文件 四.@Propert ...

  3. jquery操作checkbox方法(全选、全不选、至少选择一个、选择值/文本)

    原文:http://blog.csdn.net/u014079773/article/details/52371382 在实际开发中我们经常操作checkbox,不仅仅要获得checkbox选中的值, ...

  4. cocos2d-x step by step(3) Doub le Kill简单的一些小动画

    在触控厮混了两年多,不过达到了自己的初衷以及目的. 目前从事cocos2d的更改和调优移植工作. 1 简单的一个图片放大和缩小 auto sprite = Sprite::create("l ...

  5. jsp网页在浏览器中不显示图片_eclipse环境下配置tomcat中jsp项目的虚拟路径

    遇到的问题是这种,在jsp网页中嵌入了本地的图片,由于会用到上传到服务器的图片,所以没有放到项目里面,而是把全部图片单独放到一个文件夹里,然后打算使用绝对路径把要显示的图片显示出来.比方是放在了E盘的 ...

  6. 批量杀死mysql进程

    http://www.chengyongxu.com/blog/%E6%89%B9%E9%87%8F%E6%9D%80%E6%AD%BBmysql%E8%BF%9B%E7%A8%8B/

  7. ffmpeg 跟我学 视频教程

    最近一段时间找时间录制了一些Ffmpeg视频教程,还有录制完毕,会持续更新,内容会包含Ffmeg保存文件,网络流转发, 编码,解码,播放器制作,以及服务端搭建等等,适合初学者,有需要的朋友的可以关注: ...

  8. Android Volley分析(一)——结构

    Volley是Android系统下的一个网络通信库.为Android提供简单高速的网络操作(Volley:Esay, Fast Networking for Android),以下是它的结构: 既然是 ...

  9. Spring Cloud(十):服务网关zuul(转)

    前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个 ...

  10. 关于input:-webkit-autofill样式问题

    最近在整理项目的时候,遇到了一个chrome浏览器自动填充的样式问题, 用户名跟密码的input都设置为透明颜色,但是会变成黄色,打开chrome调试工具,发现有个input:-webkit-auto ...