android調試js
1. 能把js打包給安卓和ios調用嗎
能的。安卓和ios可以用js進行調試的,因為js是屬於通用的計虧者數算機程序語言,在調用速度上JS省掉了編譯的步驟,執行過程更輕量速度更快。銷首所以能把js打包給安卓和ios調用。嫌畝
2. 安卓系統瀏覽器怎樣打開控制台調試HTML和JS,不藉助電腦,做web開發
安卓系銀知統默灶搏迅認載入組件,默認指定操作。
控制台調試,是多次指定操作。空指針異隱此常,日誌
console.log
接收不到指令,日誌文件輸出默認空指針異常。
3. 在android中怎樣調用本地js文件里的方法並得到返回值
在android中調用本地js文件里的方法並得到返回值其方法如下:
Android中內置了WebKit模塊,而該模塊的java層視圖類就是WebView,所有需要使用Web瀏覽器功能的Android都需要創建該視圖類對象顯示和處理請求的網路資源。目前WebKit支持Http、Https、Ftp和JavaScript請求。下面是在Android中調用JavaScript方法以及如何在js中調用本地方法。
1、在Assets下放一個簡單的html文件jstest.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html40/strict.dtd">
<HTML>
<HEAD>
<meta name="viewport" content="width=device-width, target-densitydpi=device-dpi" />
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
function showMsg(){
alert("hello world!");
}
function showMsgInAndroid(){
myjs.showMsg('hello in android!');
}
</script>
</HEAD>
<BODY>
<span>測試js使用</span>
<button id='btntest' onclick='showMsgInAndroid()'>調用android方法</button>
</BODY>
</HTML>
4. android與js交互實現什麼功能
第一步:
mainfest.xml中加入網路許可權
[java] view plain
<uses-permission android:name="android.permission.INTERNET" />
第二步:
載入本地寫好的html文件(定義好js中提供給android調用的方法 funFromjs(),和android提供給js調用的對象介面fun1FromAndroid(String name)),放在 assets目錄下。
[html] view plain
<body>
<a>js中調用本地方法</a>
<script>
function funFromjs(){
document.getElementById("helloweb").innerHTML="HelloWebView,i'm from js";
}
var aTag = document.getElementsByTagName('a')[0];
aTag.addEventListener('click', function(){
//調用android本地方法
myObj.fun1FromAndroid("調用android本地方法fun1FromAndroid(String name)!!");
return false;
}, false);
</script>
<p></p>
<div id="helloweb">
</div>
</body>
第三步:
實現android工程與js交互的相關代碼
android主題代碼:
[java] view plain
@SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled" })
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化
initViews();
//設置編碼
mWebView.getSettings().setDefaultTextEncodingName("utf-8");
//支持js
mWebView.getSettings().setJavaScriptEnabled(true);
//設置背景顏色 透明
mWebView.setBackgroundColor(Color.argb(0, 0, 0, 0));
//設置本地調用對象及其介面
mWebView.addJavascriptInterface(new JavaScriptObject(mContext), "myObj");
//載入js
mWebView.loadUrl("file:///android_asset/test.html");
//點擊調用js中方法
mBtn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mWebView.loadUrl("javascript:funFromjs()");
Toast.makeText(mContext, "調用javascript:funFromjs()", Toast.LENGTH_LONG).show();
}
});
}
js調用的android對象方法定義
[java] view plain
public class JavaScriptObject {
Context mContxt;
@JavascriptInterface //sdk17版本以上加上註解
public JavaScriptObject(Context mContxt) {
this.mContxt = mContxt;
}
public void fun1FromAndroid(String name) {
Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show();
}
public void fun2(String name) {
Toast.makeText(mContxt, "調用fun2:" + name, Toast.LENGTH_SHORT).show();
}
}
5. 在Android上怎樣實現JAVA和JS交互
JS調用JAVA:通過addJavascriptInterface注冊函數供JS調用,例如:
在Android代碼中:
mWebView.addJavascriptInterface(new Object() {
@JavascriptInterface
public boolean isOnline() {
return 1;
}
@JavascriptInterface
public boolean test(String msg) {
return "hello "+ msg;
}
}, "AndroidMain");
在js代碼中調用:
var online=window.AndroidMain.isOnline();
var test=window.AndroidMain.test("ttt");
JAVA調用JS:使用loadURL調用JS的函數:
mWebView.loadURL("Javascript:alert('提示。。')")