亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

如何在android中使用html作布局文件

2020-04-11 12:01:39
字體:
來源:轉載
供稿:網友

在android開發中,通常使用xml格式來描述布局文件。就目前而言,熟悉android布局及美化的人員少之又少,出現了嚴重的斷層。大部分企業,其實還是程序員自己動手布局。這樣既浪費時間和精力,也未必能達到理想的效果。但是,在企業級的android開發中,使用html頁面進行布局,也有很多的優勢(例如:簡單,大部分開發人員及美工都熟悉,方便統一進行更新,管理)。據筆者了解,已經有不少的公司在使用這種方式進行布局開發。這也可能是一種趨勢。

下面,我將給出一個實例代碼,供大家學習使用html頁面給android應用布局。

復制代碼 代碼如下:

package com.dazhuo.ui;

import java.util.List;

import org.json.JSONArray;
import org.json.JSONObject;

import com.dazhuo.domain.Person;
import com.dazhuo.service.PersonService;

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 PersonService service;
   private WebView webview;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        service =new PersonService();
        webview = (WebView) this.findViewById(R.id.webView);//android內置瀏覽器對象
        webview.getSettings().setJavaScriptEnabled(true);//啟用javascript支持
        //添加一個js交互接口,方便html布局文件中的javascript代碼能與后臺java代碼直接交互訪問
        webview.addJavascriptInterface(new PersonPlugin() , "Person");//new類名,交互訪問時使用的別名
       // <body onload="javascript:Person.getPersonList()">
        webview.loadUrl("file:///android_asset/index.html");//加載本地的html布局文件
        //其實可以把這個html布局文件放在公網中,這樣方便隨時更新維護  例如 webview.loadUrl("www.xxxx.com/index.html");
    }
    //定義一個內部類,從java后臺(可能是從網絡,文件或者sqllite數據庫) 獲取List集合數據,并轉換成json字符串,調用前臺js代碼
    private final class PersonPlugin{
     public void getPersonList(){
      List<Person> list = service.getPersonList();//獲得List數據集合
      //將List泛型集合的數據轉換為JSON數據格式
       try {
   JSONArray arr =new JSONArray();
   for(Person person :list)
   {
    JSONObject json =new JSONObject();
    json.put("id", person.getId());
    json.put("name", person.getName());
    json.put("mobile",person.getMobile());
    arr.put(json);

   }
   String JSONStr =arr.toString();//轉換成json字符串
   webview.loadUrl("javascript:show('"+ JSONStr +"')");//執行html布局文件中的javascript函數代碼--
    Log.i("MainActivity", JSONStr);
       } catch (Exception e) {
   // TODO: handle exception
  }

     }
     //打電話的方法
  public void call(String mobile){
      Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile));
      startActivity(intent);
     }
    }
}


復制代碼 代碼如下:

package com.dazhuo.domain;

public class Person {
    private Integer id;
    public Integer getId() {
  return id;
 }
 public Person(Integer id, String name, String mobile) {
  super();
  this.id = id;
  this.name = name;
  this.mobile = mobile;
 }
 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;
 }
 private String name;
    private String mobile;
}


復制代碼 代碼如下:

package com.dazhuo.service;

import java.util.ArrayList;
import java.util.List;

import com.dazhuo.domain.Person;

public class PersonService {
   public List<Person> getPersonList()
   {

    List<Person> list =new ArrayList<Person>();
    list.add(new Person(32, "aa", "13675574545"));
    list.add(new Person(32, "bb", "13698874545"));
    list.add(new Person(32, "cc", "13644464545"));
    list.add(new Person(32, "dd", "13908978877"));
    list.add(new Person(32, "ee", "15908989898"));
     return list;
   }
}


復制代碼 代碼如下:

<!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:Person.call(/""+ jsonobjs[y].mobile+ "/")'>"+ jsonobjs[y].mobile+ "</a>";
   }
 }
</script>

</head>
<!-- js代碼通過webView調用其插件中的java代碼 -->
<body onload="javascript:Person.getPersonList()">
   <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>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩人人澡狠狠躁视频| 国产日韩综合一区二区性色av| 欧美电影免费看| 亚洲а∨天堂久久精品喷水| 国产精品视频999| 国产一区二区三区中文| 国产裸体写真av一区二区| 日韩男女性生活视频| 成人av.网址在线网站| 国产成人jvid在线播放| 欧美日韩国产在线看| 国语自产偷拍精品视频偷| 日韩大片在线观看视频| 久久久91精品| 91精品在线观| 日韩在线资源网| 国产日本欧美一区二区三区在线| 91九色综合久久| 欧美日韩国产一区二区三区| 欧美另类xxx| 在线观看中文字幕亚洲| 久久天天躁狠狠躁夜夜av| 欧美理论片在线观看| 国产精品一区二区三区成人| 欧美一级电影在线| 久久精品国亚洲| 91久久精品国产91性色| 麻豆国产va免费精品高清在线| 成人激情视频网| 欧美成在线视频| 久久青草精品视频免费观看| 欧美激情一级欧美精品| 日本不卡免费高清视频| 国产精品一区二区久久久| 亚洲欧美成人网| 国产一区二区美女视频| 成人亲热视频网站| 国产精品亚洲аv天堂网| 亚洲第一二三四五区| 亚洲九九九在线观看| 欧美激情视频一区二区| 亚洲国产精品久久精品怡红院| 国产不卡精品视男人的天堂| 欧美一区二区三区……| 91精品久久久久久久久久| 精品在线观看国产| 最近2019好看的中文字幕免费| 久久综合久久美利坚合众国| 日韩av最新在线观看| 亚洲伊人第一页| 中文字幕亚洲无线码a| 日韩成人在线网站| 在线观看国产精品淫| 欧美激情一区二区久久久| 最新的欧美黄色| 最近更新的2019中文字幕| 欧美成人精品在线| 国产精品爱啪在线线免费观看| 国产午夜精品美女视频明星a级| 久久成人综合视频| 亚洲精品小视频在线观看| 欧美激情视频一区| 日韩电影视频免费| 欧美最近摘花xxxx摘花| 欧美极品在线播放| 日韩欧美在线观看视频| 国产精品久久久久久久久借妻| 亚洲天堂男人的天堂| 久久露脸国产精品| 久久影视电视剧凤归四时歌| 欧美日韩在线视频观看| 97超视频免费观看| 欧美成人国产va精品日本一级| 精品中文字幕在线观看| 国产精品第10页| 国产一区二区在线播放| 国产精品av在线| 国产精品成人av在线| 欧美中文在线字幕| 成人深夜直播免费观看| 91免费观看网站| 麻豆精品精华液| 在线播放国产一区中文字幕剧情欧美| 成人国产精品日本在线| 欧美精品福利视频| 日韩欧美亚洲范冰冰与中字| 18性欧美xxxⅹ性满足| 中国人与牲禽动交精品| 国产精品久久久久久久久久久不卡| 懂色av中文一区二区三区天美| 国产成人激情小视频| 国产精品视频网| 成人在线中文字幕| 国产精品男女猛烈高潮激情| 国产精品吹潮在线观看| 国产精品久久网| 国产成人免费av电影| 欧美xxxx做受欧美.88| 亚洲最大福利视频网| 欧美一级大片在线免费观看| 亚洲一区美女视频在线观看免费| 欧美性生活大片免费观看网址| 午夜精品久久久久久99热软件| 欧美激情性做爰免费视频| 亚洲国产高清自拍| 欧洲亚洲妇女av| 亚洲国产精品高清久久久| 欧美中文字幕精品| 国产精品极品在线| 亚洲国内精品在线| 欧美视频在线看| 欧美午夜美女看片| 精品久久久久久中文字幕大豆网| 欧美一级大片在线观看| 日韩黄色av网站| 亚洲电影av在线| 欧美性xxxxx极品娇小| 国产va免费精品高清在线| 国产v综合v亚洲欧美久久| 欧美成人在线网站| 国产精品青青在线观看爽香蕉| 国产69久久精品成人看| 国产精品一香蕉国产线看观看| 啪一啪鲁一鲁2019在线视频| 热久久美女精品天天吊色| 日韩av一区二区在线观看| 国产91色在线免费| 色哟哟入口国产精品| 日韩av电影在线免费播放| 色综合91久久精品中文字幕| 国产午夜精品一区二区三区| 国产精品电影在线观看| 日本精品免费一区二区三区| 疯狂做受xxxx欧美肥白少妇| 国产精品久久久久久久久久久久久久| 国产亚洲视频在线观看| 欧美成年人网站| 日韩成人av在线| 欧美日韩爱爱视频| 日韩欧美中文字幕在线播放| 亚洲一区二区三区在线视频| 青青草国产精品一区二区| 中文字幕亚洲一区二区三区| 国产91精品在线播放| 亚洲欧美国产精品久久久久久久| 亚洲国产一区二区三区在线观看| 黑人巨大精品欧美一区二区一视频| 亚洲片国产一区一级在线观看| 色妞久久福利网| 亚洲美女视频网站| 国产成人精品在线视频| 97免费视频在线| 欧美日韩一区免费| 亚洲小视频在线| 国产精品xxx视频| 欧美日韩成人在线视频| 亚洲一区亚洲二区亚洲三区| 日韩中文综合网| 日韩av大片在线| 上原亚衣av一区二区三区| 国产精品电影久久久久电影网| 欧美电影免费观看电视剧大全| 国产精品精品久久久| 日韩二区三区在线|