Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 采用HTML設計界面

Android 采用HTML設計界面

編輯:關於Android編程

  因為Android軟件開發分工目前還沒有細化,程序員往往需要負責軟件界面的開發,雖然軟件的界面圖片已經由美工設計好了,但是如果使用layout技術把軟件做成漂亮的界面確實很困難,而是也比較耗時。Android通過WebView實現了JS代碼與Java代碼互相通信的功能,使的Android軟件的界面開發也可以采用HTML網頁技術,這樣,廣大網頁美工可以參與進Android軟件的界面開發工作,從而讓程序員從中解脫出來。  


工程目錄
這裡寫圖片描述


main.xml




    


index.html


<script type="text/javascript"> function show(jsondata){// [{name:"xxx",amount:600,phone:"13988888"},{name:"bb",amount:200,phone:"1398788"}] var jsonobjs = eval(jsondata); var table = document.getElementById("personTable");//找到personTable� for(var y=0; y 姓名 存款 電話 刷新

這裡寫圖片描述


Contact.java<�?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:java;"> package cn.itcast.domain; public class Contact { private Integer id; private String name; private String phone; private Integer amount; 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 getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Integer getAmount() { return amount; } public void setAmount(Integer amount) { this.amount = amount; } public Contact(Integer id, String name, String phone, Integer amount) { this.id = id; this.name = name; this.phone = phone; this.amount = amount; } }

ContactService.java

package cn.itcast.service;

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

import cn.itcast.domain.Contact;

public class ContactService {
    /**
     * 獲取聯系�
     * @return
     */
    public List getContacts(){
        List contacts = new ArrayList();
        contacts.add(new Contact(12, "張明", "13766666666", 13003));
        contacts.add(new Contact(23, "小小", "130066006", 122003));
        contacts.add(new Contact(98, "李小�", "186768768", 10988787));
        contacts.add(new Contact(76, "趙得", "1565622566", 1666));
        return contacts;
    }
}

MainActivity.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.webkit.WebView;

public class MainActivity extends Activity {
    private WebView webView;
    private ContactService contactService;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        webView = (WebView) this.findViewById(R.id.webView);
        webView.loadUrl("file:///android_asset/index.html");
        webView.getSettings().setJavaScriptEnabled(true);

        webView.addJavascriptInterface(new JSObject(), "contact");//js對象� JSObject(),名稱為contact

        contactService = new ContactService();
    }

    private final class JSObject{

        public void call(String phone){
            Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ phone));
            startActivity(intent);
        }

        public void showcontacts(){
            //  [{name:"xxx",amount:600,phone:"13988888"},{name:"bb",amount:200,phone:"1398788"}]
            try {
                List contacts = contactService.getContacts();
                JSONArray jsonArray = new JSONArray();
                for(Contact c : contacts){
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("name", c.getName());
                    jsonObject.put("amount", c.getAmount());
                    jsonObject.put("phone", c.getPhone());
                    jsonArray.put(jsonObject);
                }
                String json = jsonArray.toString();
                webView.loadUrl("javascript:show('"+ json+ "')");
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}

測試結果
這裡寫圖片描述

  1. 上一�:
  2. 下一�:
熱門文章
閱讀排行�
Copyright © Android教程� All Rights Reserved