1. 程式人生 > >android js呼叫java 並取得java當中的返回值返回到js的做法其實很簡單,打包後出現問題記得修改proguard.cfg檔案

android js呼叫java 並取得java當中的返回值返回到js的做法其實很簡單,打包後出現問題記得修改proguard.cfg檔案

package wst.webview;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private WebView contentWebView = null;
	private TextView msgView = null;

	@SuppressLint("SetJavaScriptEnabled")
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		contentWebView = (WebView) findViewById(R.id.webview);
		msgView = (TextView) findViewById(R.id.msg);
		// 啟用javascript
		contentWebView.getSettings().setJavaScriptEnabled(true);
		// 從assets目錄下面的載入html
		contentWebView.loadUrl("file:///android
_asset/wst.html"); Button button = (Button) findViewById(R.id.button); button.setOnClickListener(btnClickListener); contentWebView.addJavascriptInterface(this, "wst"); } OnClickListener btnClickListener = new Button.OnClickListener() { public void onClick(View v) { // 無引數呼叫 contentWebView.loadUrl("javascript:javacalljs()"); // 傳遞引數呼叫
contentWebView.loadUrl("javascript:javacalljswithargs(" + "'hello world'" + ")"); } }; public void startFunction() { Toast.makeText(this, "js呼叫java函式", Toast.LENGTH_SHORT).show(); runOnUiThread(new Runnable() { @Override public void run() { msgView.setText(msgView.getText() + "\njs呼叫
java函式"); } }); } public void startFunction(final String str) { Toast.makeText(this, str, Toast.LENGTH_SHORT).show(); runOnUiThread(new Runnable() { @Override public void run() { msgView.setText(msgView.getText() + "\njs呼叫java函式傳遞引數:" + str); } }); } }

佈局檔案

相關推薦

android js呼叫java 取得java當中返回返回到js做法其實簡單打包出現問題記得修改proguard.cfg檔案

package wst.webview; import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.view.View; import andr

dubbo其實簡單就是一個遠端服務呼叫的框架(1)

dubbo專題」dubbo其實很簡單,就是一個遠端服務呼叫的框架(1) 一、dubbo是什麼? 1)本質:一個Jar包,一個分散式框架,,一個遠端服務呼叫的分散式框架。 既然是新手教學,肯定很多同學不明白什麼是分散式和遠端服務呼叫,為什麼要分散式,為什麼要遠端呼叫。我簡單畫個對比圖說明(

終於搞定無參“動態呼叫WebService方法”其實簡單大家還是要有信心還是要有琢磨的精神。

終於搞定“動態呼叫WebService方法”: 我在學習 動態呼叫WebService方法時看到很多網友在呼叫函式(其實往往是“無參”函式)時得到一個錯誤: 未將物件引用設定到物件的例項。 這個錯誤很常見,貌似不好處理,沒明白的人不知所云,所以這裡提醒我們自己:凡是

Android 反射呼叫方法利用此方法展開android通知欄(相容4.2及以上)

前段時間由於專案需要實現了展開通知欄的功能,所謂展開通知欄,就是通過expand  statusbar的方式將所有通知顯示出來,也就是手勢由頂部下滑展開的介面,statusbar屬於全域性且系統級別的介面,API中並沒有開放獨立的介面供我們呼叫以完成通知欄的展開,所以這裡

這麽說吧java線程池的實現原理其實簡單

arr nan ads stop shc 線程異常 fixed 響應 submit 好處 : 線程是稀缺資源,如果被無限制的創建,不僅會消耗系統資源,還會降低系統的穩定性,合理的使用線程池對線程進行統一分配、調優和監控,有以下好處: 1、降低資源消耗; 2、提高響應速度;

Android 熱修復其實簡單

一、什麼是熱修復 熱修復說白了就是”打補丁”,比如你們公司上線一個app,使用者反應有重大bug,需要緊急修復。如果按照通  常做法,那就是程式猿加班搞定bug,然後測試,重新打包併發布。這樣帶來的問題就是成本高,效率低。於是,熱  修復就應運而生.一般通過事先設定的介面從

Android適配其實簡單

本來寫了很長一段文字,來吹捧下本適配方案簡單易用效果好,最終還是刪掉了,直接上傳程式碼,說明下用法,大家可自行下載,和網上各種適配方案進行對比,擇優選取適配方案。(本適配方案目前博主已運用於幾百萬日活app上,沒有出現任何適配上的問題,此方案也是從網上摘取下來,

swift和oc的相互呼叫其實簡單(基於swift4.0)

swift呼叫oc: 需要在統一的bridge標頭檔案(xxx-Bridging-Header.h)裡面import,然後即可使用。 oc呼叫swift: 需要在暴露出來的方法和屬性上加@objc否則不可用;且檔案的類需要繼承自NSObject或NSObjec

android其實簡單 -- Glide簡單分析

最近在使用Glide,遇到不少不解的問題 生命週期是如何繫結的 快取策略 從官方的例子開始 // 這裡的this我們假設為Activity Glide.with(this).load("http://goo.gl/gEgYUd").

android其實簡單--記憶體相關

記憶體洩漏 java是垃圾回收語言,無需開發者管理記憶體分配 邏輯上的失誤導致記憶體洩漏:當應用不再需要這個物件的時候仍未釋放該物件的所有應用 1.Context,由於Content包含了大量的記憶體引用。 全域性的process的static引用act

關於js的一些細節和返回1:sort排序和tostringvalueof等

程式碼如下<script>// var color = "blue";// function changeColor(){// var anotherColor = "red";// function swapColor(){// var tempColor =

ajax請求後臺介面資料與返回處理js寫法

ajax的程式碼,用的是jquery的 ajax: $.ajax({ url: "/test.php",//後臺提供的介面 type: "post",

android js呼叫java 4.2之下漏洞的解決方案

在反射呼叫的時候把當前物件傳入,就可以呼叫成員方法了,這樣的話整個架構就比較靈活,感謝safe-java-js-webview-bridge的作者提供了這麼好的解決方案!<span style="font-size:14px;">public String call(WebView webVie

Android呼叫java

一、準備一個java端的程式 二、通過httpclient呼叫java端。 1.簡介httpclient    httpclient 是 Apache Jakarta Common下的子專案,用來提供高效的、最新的、功能豐富的支援HTTP協議的客戶端程式設計工具

Spark程式呼叫json4s報錯[java.lang.NoSuchMethodError: org.json4s.jackson.JsonMethods$.parse(Lorg/json4s/Js]

Error: org.json4s.jackson.JsonMethods$.parse(Lorg/json4s/JsonInput;Z)Lorg/json4s/JsonAST$JValue;     at org.apache.spark.sql.types.DataTyp

列印日曆呼叫多種方法的Java例項子

import java .util.Scanner; public class 列印日曆 { public static void main(String args[]) { Scanner input=new Scanner(System.in); Sy

Android Studio3.0開發JNI流程------Java呼叫C++以及C++呼叫Java

上一章講解了JNI中一些函式表的說明,這節開始講解Java與C++互調的過程。 在Android Studio3.0中建立一個支援JNI開發的Android程式。 編寫activity_main.xml佈局: <?xml version="1.0

Chrome 谷歌瀏覽器呼叫攝像頭拍照上傳 java示例

html頁面: <!DOCTYPE html> <html> <head> <title>html5呼叫攝像頭實現拍照</title> <meta charset="utf-8"> <me

java 呼叫 linux shell 指令碼讀取返回

String[] cmd = {"/bin/sh", "-c", "ps -elf | grep -v grep | grep EuropeStaticsEntrance | wc -l"}; while (true) { StringBuilder sb = ne