當前位置:首頁 » 安卓系統 » java是如何調用安卓的

java是如何調用安卓的

發布時間: 2022-12-23 09:15:56

㈠ 如何在javaSCRIPT調用Android JAVA函數

你好:
一、網頁的JS代碼調用ANDROID中JAVA代碼的方法
在網頁中調用java代碼、需要在webview控制項中添加javascriptInterface
contentWebView = (WebView) findViewById(R.id.webview);
//啟用javascript
contentWebView.getSettings().setJavaScriptEnabled(true);
contentWebView.addJavascriptInterface(this, "js對象名");

在Activity中定義一個要被js調用的方法、src為js傳遞過來的參數、如果沒有不傳也可以
public void jsFunction(final String str) {
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
runOnUiThread(new Runnable() {
@Override
public void run() {
//在里對Android應用的UI進行處理
}
});
}

在網頁中、只需要像調用js方法一樣、進行調用就可以
<a onClick="window.js對象名.jsFunction(´hello world´)" >
點擊調用java代碼並傳遞參數
</a>

二、ANDROID中JAVA代碼調用網頁的JS代碼的方法

Java代碼調用js並傳參其實是通過WebView的loadUrl方法去調用的、只是參數url的寫法不一樣而已

// 無參數調用
contentWebView.loadUrl("javascript:javacalljs()");
// 傳遞參數調用
contentWebView.loadUrl("javascript:javacalljswithargs("
+ "´hello world´" + ")");

三、JAVA和JS交互注意事項
1、Java 調用 js 裡面的函數、效率並不是很高、估計要200ms左右吧、做交互性很強的事情、這種速度很難讓人接受、而js去調Java的方法、速度很快、50ms左右、所以盡量用js調用Java方法
2、Java 調用 js 的函數、沒有返回值、調用了就控制不到了
3、Js 調用 Java 的方法、返回值如果是字元串、你會發現這個字元串是 native 的、轉成 locale 的才能正常使用、使用 toLocaleString() 函數就可以了、不過這個函數的速度並不快、轉化的字元串如果很多、將會很耗費時間
4、網頁中盡量不要使用jQuery、執行起來需要5-6秒、最好使用原生的js寫業務腳本、以提升載入速度、改善用戶體驗

㈡ java後台和安卓端的對接方式

JAVA 後台,寫WEB、、、、、、、、、、ANDROID 使用HttpClient請求,,,,,,數據傳遞,可以使用json,或純文本

㈢ Android 中如何在java類中調用activity 中的一個方法

通常,您不應該以這種方式創建新的 MainActivity 實例。要打開一個新的 MainActivity,請使用 Intent。在您的情況下,您應該引用原始 MainActivity 實例,並在那裡調用此方法。不要以任何方式創建新的,因為您已經在運行它。
一個簡單的解決方法:
MainActivity.this.myMethod("Hello there")
您不必存儲mContext. 你已經在 MainActivity 裡面了。
因此,完整的代碼將是:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = findViewById(R.id.webview);
myWebView.loadUrl("http://www.google.com");
myWebView.addJavascriptInterface(new WebAppInterface(), "Android");
}
public void myMethod(String test){
Toast.makeText(this, test, Toast.LENGTH_SHORT).show();
}
public class WebAppInterface {
/** Show a toast from the web page */

@JavascriptInterface
public void showToast(String toast) {
MainActivity.this.myMethod("Hello there");
}
}
}
實際上,我認為您甚至可以避免使用MainActivity.this., 並myMethod直接調用。

㈣ java的介面是怎麼實現的 如android中的activity中的方法onCreate是怎麼調用

首先你要有待實現的介面 interface

public [abstract] class [className] implements [InterfaceName]{
[
@Override
Interface method
]

}
用的時候就是

interfaceName variableName = new className();

熱點內容
lol伺服器滿載怎麼辦 發布:2025-07-10 20:31:08 瀏覽:326
sql2005腳本導出數據 發布:2025-07-10 20:31:05 瀏覽:110
三星手機伺服器停止運行怎麼辦 發布:2025-07-10 20:21:07 瀏覽:867
華為手機原廠設置密碼多少 發布:2025-07-10 20:19:54 瀏覽:241
如何重設伺服器地址 發布:2025-07-10 20:19:53 瀏覽:567
bp神經網路演算法c 發布:2025-07-10 20:00:00 瀏覽:699
sqlserver導出mdf 發布:2025-07-10 19:52:55 瀏覽:673
安卓應用怎麼樣安裝電腦 發布:2025-07-10 19:51:16 瀏覽:192
java修改文件時間 發布:2025-07-10 19:50:30 瀏覽:993
ftp需要重新配置 發布:2025-07-10 19:42:25 瀏覽:779