android 中怎样把图片在html中显示

2025-02-23 22:55:56
推荐回答(3个)
回答1:

tml页面(命名:Android.html放在assets文件夹下):::::



function get4Android(str){
 document.getElementById("show").innerHTML="This is a message from android:"+str;
 }



  




Text.java代码:::
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Text extends Activity implements OnClickListener {

private Button button;
private TextView text;
private WebView web;
private EditText edit;
private Handler handler;

private void initView() {
button = (Button) this.findViewById(R.id.button2);
web = (WebView) this.findViewById(R.id.webView1);
edit = (EditText) this.findViewById(R.id.editText1);
button.setOnClickListener(this);
}

private void setWebView() {
web.setWebViewClient(new WebViewClient());
web.requestFocus();
WebSettings setting = web.getSettings();
setting.setJavaScriptEnabled(true);
web.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
web.requestFocus();
return false;
}
});
web.addJavascriptInterface(new SendAndroid(), "theKey");
web.loadUrl("file:///android_asset/android.html");
}

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

handler = new Handler() {
public void handleMessage(android.os.Message msg) {
String str = msg.obj.toString();
text.setText(str);
};
};
}

@Override
public void onClick(View v) {
Editable editable = edit.getText();
web.loadUrl("javascript:get4Android(\"" + editable.toString()
+ "\")");
}

class SendAndroid {
public void runOnAndroidJavaScript(final String str) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("******" + str);
Message mes = handler.obtainMessage();
mes.obj = str;
handler.sendMessage(mes);
}
}).start();

}
}
}

主要是:web.loadUrl("javascript:get4Android(\"" + editable.toString()+ "\")");中的“javascript:get4Android”要和html中的【function get4Android(str){
 document.getElementById("show").innerHTML="This is a message from android:"+str;
 }】方法名相同

回答2:

  在android开发中,通常使用xml格式来描述布局文件。就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层。大部分企业,其实还是程序员自己动手布局。这样既浪费时间和精力,也未必能达到理想的效果。但是,在企业级的android开发中,使用html页面进行布局,也有很多的优势(例如:简单,大部分开发人员及美工都熟悉,方便统一进行更新,管理)。
  复制代码 代码如下:
  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类名,交互访问时使用的别名
  //
  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 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);
  }
  }
  }

回答3:

tml页面(命名:Android.html放在assets文件夹下):::::

tml; charset=utf-8" />







Text.java代码:::
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Text extends Activity implements OnClickListener {

private Button button;
private TextView text;
private WebView web;
private EditText edit;
private Handler handler;

private void initView() {
button = (Button) this.findViewById(R.id.button2);
web = (WebView) this.findViewById(R.id.webView1);
edit = (EditText) this.findViewById(R.id.editText1);
button.setOnClickListener(this);
}

private void setWebView() {
web.setWebViewClient(new WebViewClient());
web.requestFocus();
WebSettings setting = web.getSettings();
setting.setJavaScriptEnabled(true);
web.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
web.requestFocus();
return false;
}
});
web.addJavascriptInterface(new SendAndroid(), "theKey");
web.loadUrl("file:///android_asset/android.html");
}

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

handler = new Handler() {
public void handleMessage(android.os.Message msg) {
String str = msg.obj.toString();
text.setText(str);
};
};
}

@Override
public void onClick(View v) {
Editable editable = edit.getText();
web.loadUrl("javascript:get4Android(\"" + editable.toString()
+ "\")");
}

class SendAndroid {
public void runOnAndroidJavaScript(final String str) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("******" + str);
Message mes = handler.obtainMessage();
mes.obj = str;
handler.sendMessage(mes);
}
}).start();

}
}
}

主要是:web.loadUrl("javascript:get4Android(\"" + editable.toString()+ "\")");中的“javascript:get4Android”要和html中的【function get4Android(str){
document.getElementById("show").innerHTML="This is a message from android:"+str;
}】方法名相同

相关问答