1、定義其他類
恒山網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),恒山網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為恒山成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的恒山做網(wǎng)站的公司定做!
public?class?Other{//定義一個普通類
public?void?show(){//定義一個普通方法
}
public?static?void?cal(){//定義類的靜態(tài)方法
}
}
2、實(shí)例化其他類或者調(diào)用其他類的靜態(tài)方法
在android中調(diào)用:
Other?ot?=?new?Other();//實(shí)例化Other類
ot.show();//調(diào)用Other類的普通方法
Other.cal();//類名.方法的方法調(diào)用靜態(tài)方法
想在一個Activity里面調(diào)用另外一個Activity的方法主要有接口回調(diào)和靜態(tài)方法。但是除了靜態(tài)方法之外,并不推薦接口回調(diào)方法。
其中靜態(tài)方法實(shí)現(xiàn)參考如下表述:
需求:在A activity中調(diào)用 B activity的methodB()。
實(shí)現(xiàn):使用靜態(tài)實(shí)現(xiàn)。
在B方法中定義:
1
public static void methodB(){}
在A中需要使用methodB()的地方這樣調(diào)用:
1
B.methodB();
為何不推薦在一個Activity中調(diào)用另一個Activity呢。因?yàn)锳ndroid系統(tǒng)運(yùn)行內(nèi)存較小,故其系統(tǒng)會在需要的時候?qū)⒑笈_的進(jìn)程自動清理掉以為當(dāng)前進(jìn)程提供運(yùn)行內(nèi)存。而android移動設(shè)備除了當(dāng)前正在顯示的activity意外,其他的activity都在后臺運(yùn)行。例如你在A activity中調(diào)用B activity 的方法時候,有可能B activity已經(jīng)被銷毀,所以,只能使用B activity的靜態(tài)方法。
最后的做法是將Activity界面顯示和邏輯分開寫在不同的類中,這樣才復(fù)合程序開發(fā)的MVC框架還有Java編程的面向?qū)ο笏枷搿?/p>
您好,很高興能幫助您,
Android中webview和js之間的交互
1.android中利用webview調(diào)用網(wǎng)頁上的js代碼。
Android 中可以通過webview來實(shí)現(xiàn)和js的交互,在程序中調(diào)用js代碼,只需要將webview控件的支持js的屬性設(shè)置為true,,然后通過loadUrl就可以直接進(jìn)行調(diào)用,如下所示:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("javascript:test()");
2. 網(wǎng)頁上調(diào)用android中java代碼的方法
在網(wǎng)頁中調(diào)用java代碼,需要在webview控件中添加javascriptInterface。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
Toast.makeText(Test.this, "測試調(diào)用java", Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
在網(wǎng)頁中,只需要像調(diào)用js方法一樣,進(jìn)行調(diào)用就可以
div id='b'a onclick="window.demo.clickOnAndroid()"b.c/a/div
3. Java代碼調(diào)用js并傳參
首先需要帶參數(shù)的js函數(shù),如function test(str),然后只需在調(diào)用js時傳入?yún)?shù)即可,如下所示:
mWebView.loadUrl("javascript:test('aa')");
4.Js中調(diào)用java函數(shù)并傳參
首先一樣需要帶參數(shù)的函數(shù)形式,但需注意此處的參數(shù)需要final類型,即得到以后不可修改,如果需要修改其中的值,可以先設(shè)置中間變量,然后進(jìn)行修改。如下所示:
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid(final int i) {
mHandler.post(new Runnable() {
public void run() {
int j = i;
j++;
Toast.makeText(Test.this, "測試調(diào)用java" + String.valueOf(j), Toast.LENGTH_LONG).show();
}
});
}
}, "demo");
然后在html頁面中,利用如下代碼div id='b'a onclick="window.demo.clickOnAndroid(2)"b.c/a/div,
即可實(shí)現(xiàn)調(diào)用
你的采納是我前進(jìn)的動力,還有不懂的地方,請你繼續(xù)“追問”!
如你還有別的問題,可另外向我求助;答題不易,互相理解,互相幫助!
java類有兩種方法一種是類方法就是用static修飾的,一種是實(shí)例方法,就是沒有static修飾的方法。類方法可以同時類名.方法名的方式調(diào)用。而實(shí)例方法必須先生存類的實(shí)例在通過實(shí)例.方法名的方式調(diào)用。例如:
public class MethodCall
{
public static void main(String[] args)
{
Test.sayStatic();
Test test = new Test();
test.sayInstance();
}
}
class Test
{
public static void sayStatic()
{
System.out.println("這是一個靜態(tài)方法。");
}
public void sayInstance()
{
System.out.println("這是一個實(shí)例方法。");
}
}
方法如下:
在該類里構(gòu)造另一個類的實(shí)現(xiàn),然后就可以調(diào)用了,舉例如下:
class A{
t(){}
}
class B{
A a = new A(); a.t();
}