在函數(shù)中 return 返回值即可
成都創(chuàng)新互聯(lián)公司2013年成立,先為卓資等服務建站,卓資等地企業(yè),進行企業(yè)商務咨詢服務。為卓資企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
例如
public Object test(){
return new Object();
}
android調用訪問類的函數(shù)的方式,和java相同。
如果該類非靜態(tài)類,則需要聲明一個對象,然后初始化對象,對象.函數(shù)的方式調用函數(shù)。
如果該類是靜態(tài)類,則直接可以使用 類.函數(shù) 的方式,調用函數(shù)。
至于什么是靜態(tài)類,非靜態(tài)類,只要看類名的前面是否有關鍵字static
Android中內置了WebKit模塊,而該模塊的Java層視圖類就是WebView,所有需要使用Web瀏覽器功能的Android都需要創(chuàng)建該視圖類對象顯示和處理請求的網(wǎng)絡資源。目前WebKit支持Http、Https、Ftp和JavaScript請求。
1、在Assets下放一個簡單的html文件jstest.html
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
2、布局文件main.xml
?xml?version="1.0"?encoding="utf-8"?
RelativeLayout
android:id="@+id/rl_main"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android=""
WebView?
android:id="@+id/wv_test"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/btn_showmsg"/
Button?
android:id="@+id/btn_showmsg"
android:layout_width="200dip"
android:layout_height="40dip"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="調用html中js方法"/
/RelativeLayout
3、然后是Activity,MainActivity.java
package?com.harold.jstest;
import?com.harold.base.JSKit;
import?android.app.Activity;
import?android.os.Bundle;
import?android.os.Handler;
import?android.view.View;
import?android.view.View.OnClickListener;
import?android.webkit.WebChromeClient;
import?android.webkit.WebView;
import?android.widget.Button;
public?class?MainActivity?extends?Activity?{
private?WebView?mWebView;
private?Button?btnShowInfo;
private?JSKit?js;
private?Handler?mHandler?=?new?Handler();
@Override
protected?void?onCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//初始化控件
mWebView?=?(WebView)?findViewById(R.id.wv_test);
btnShowInfo?=?(Button)?findViewById(R.id.btn_showmsg);
//實例化js對象
js?=?new?JSKit(this);
//設置參數(shù)
mWebView.getSettings().setBuiltInZoomControls(true);
//內容的渲染需要webviewChromClient去實現(xiàn),
//設置webviewChromClient基類,解決js中alert不彈出的問題和其他內容渲染問題
mWebView.setWebChromeClient(new?WebChromeClient());
mWebView.getSettings().setJavaScriptEnabled(true);
//把js綁定到全局的myjs上,myjs的作用域是全局的,初始化后可隨處使用
mWebView.addJavascriptInterface(js,?"myjs");
mWebView.loadUrl("");
btnShowInfo.setOnClickListener(new?OnClickListener()?{
@Override
public?void?onClick(View?v)?{
mHandler.post(new?Runnable()?{
@Override
public?void?run()?{
//調用?HTML?中的javaScript?函數(shù)
mWebView.loadUrl("javascript:showMsg()");
}
});
}
});
}
}