• 
    

      <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
      1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>

        關(guān)于h5調(diào)用本地java代碼的信息

        HTML5如何和JAVA后臺數(shù)據(jù)交互?

        這是一門課程了,java web或者叫jsp。jsp就是由html和java腳本,等語言構(gòu)成的。java程序嵌套在html里,相當(dāng)于php。以網(wǎng)頁的形式將java展現(xiàn)。這也就是所謂的動態(tài)。以為java程序獲取的時間會變動?;蛘邤?shù)據(jù)庫變動從而引起網(wǎng)頁的變動。

        堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都公路鉆孔機小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站制作營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

        延展閱讀:

        HTML5有以下優(yōu)點:

        提高可用性和改進用戶的友好體驗;

        有幾個新的標簽,這將有助于開發(fā)人員定義重要的內(nèi)容;

        可以給站點帶來更多的多媒體元素(視頻和音頻);

        可以很好的替代FLASH和Silverlight;

        當(dāng)涉及到網(wǎng)站的抓取和索引的時候,對于SEO很友好;

        將被大量應(yīng)用于移動應(yīng)用程序和游戲。

        android嵌入h5,怎么交互

        Android和H5之間的交互

        hybrid App開發(fā)也不是什么新鮮事了,其中native和h5之間的交互則是必不可少的。Android中是如何和H5交互的?

        1、webView加載頁面

        我們都知道在Android中是通過webView來加載html頁面的,根據(jù)HTML文件所在的位置不同寫法也不同:

        //例如:加載assets文件夾下的test.html頁面

        mWebView.loadUrl("")

        //例如:加載網(wǎng)頁

        mWebView.loadUrl("")

        如果只是這樣調(diào)用mWebView.loadUrl()加載的話,那么當(dāng)你點擊頁面中的鏈接時,頁面將會在你手機默認的瀏覽器上打開。那如果想要頁面在App內(nèi)中打開的話,那么就得設(shè)置setWebViewClient:

        mWebView.setWebViewClient(new WebViewClient() {

        @Override

        public boolean shouldOverrideUrlLoading(WebView view, String url) {

        mWebView.loadUrl(url);

        return true;

        }

        }

        });

        2、Android本地通過Java調(diào)用HTML頁面中的JavaScript方法

        想要調(diào)用js方法那么就必須讓webView支持

        WebSettings webSettings = mWebView.getSettings();

        //設(shè)置為可調(diào)用js方法

        webSettings.setJavaScriptEnabled(true);

        若調(diào)用的js方法沒有返回值,則直接可以調(diào)用mWebView.loadUrl("JavaScript:do()");其中do是js中的方法;若有返回值時我們可以調(diào)用mWebView.evaluateJavascript()方法:

        mWebView.evaluateJavascript("sum(1,2)", new ValueCallbackString() {

        @Override

        public void onReceiveValue(String value) {

        Log.e(TAG, "onReceiveValue value=" + value);

        }

        });

        js代碼如下:

        script type="text/javascript"

        function sum(a,b){

        return a+b;

        }

        function do(){

        document.getElementById("p").innerHTML="hello world";

        }

        /script

        2、js調(diào)用Android本地Java方法

        在Android4.2以上可以直接使用@JavascriptInterface注解來聲明,下面是在一個本地Java方法

        public class JsInteration {

        @JavascriptInterface

        public String back() {

        return "hello world";

        }

        }

        定義完這個方法后再調(diào)用mWebView.addJavascriptInterface()方法:

        mWebView.addJavascriptInterface(new JsInteration(), "android");

        那么在js中怎么來調(diào)用呢?

        script type="text/javascript"

        function s(){

        //調(diào)用Java的back()方法

        var result =window.android.back();

        document.getElementById("p").innerHTML=result;

        }

        /script

        4、攔截HTML頁面中的點擊事件

        mWebView.setWebViewClient(new WebViewClient() {

        @Override

        public boolean shouldOverrideUrlLoading(WebView view, String url) {

        //判斷url攔截事件

        if (url.equals("")) {

        Log.e(TAG, "shouldOverrideUrlLoading: " + url);

        startActivity(new Intent(MainActivity.this,Main2Activity.class));

        return true;

        } else {

        mWebView.loadUrl(url);

        return false;

        }

        }

        });

        以上就是Java調(diào)用js方法以及js調(diào)用Java方法的實現(xiàn)交互方式中的一種。下面給出完整代碼:

        mainActivity

        public class MainActivity extends AppCompatActivity {

        public static final String TAG = "MainActivity";

        private WebView mWebView;

        @Override

        protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        mWebView = (WebView) findViewById(R.id.webView);

        mWebView.loadUrl("");

        WebSettings webSettings = mWebView.getSettings();

        webSettings.setJavaScriptEnabled(true);

        mWebView.addJavascriptInterface(new JsInteration(), "android");

        mWebView.setWebViewClient(new WebViewClient() {

        @Override

        public boolean shouldOverrideUrlLoading(WebView view, String url) {

        if (url.equals("")) {

        Log.e(TAG, "shouldOverrideUrlLoading: " + url);

        startActivity(new Intent(MainActivity.this,Main2Activity.class));

        return true;

        } else {

        mWebView.loadUrl(url);

        return false;

        }

        }

        });

        }

        //Android調(diào)用有返回值js方法

        @TargetApi(Build.VERSION_CODES.KITKAT)

        public void onClick(View v) {

        mWebView.evaluateJavascript("sum(1,2)", new ValueCallbackString() {

        @Override

        public void onReceiveValue(String value) {

        Log.e(TAG, "onReceiveValue value=" + value);

        }

        });

        }

        public class JsInteration {

        @JavascriptInterface

        public String back() {

        return "hello world";

        }

        }

        }

        test.html

        !DOCTYPE html

        html

        head

        title/title

        script type="text/javascript"

        function sum(a,b){

        return a+b;

        }

        function s(){

        var result =window.android.back();

        document.getElementById("p").innerHTML=result;

        }

        /script

        /head

        body

        button onclick="s()"調(diào)用本地方法/button

        a href=""點擊/a

        p id="p"/p

        /body

        /html

        hbuilder 中 h5app如何調(diào)用自己寫的java代碼

        編輯菜單中的整理代碼格式

        快捷鍵ctrl+shift+F

        一般情況最好是自己邊編寫邊排版

        當(dāng)前題目:關(guān)于h5調(diào)用本地java代碼的信息
        標題URL:http://www.jbt999.com/article6/hedcig.html

        成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航網(wǎng)站制作、標簽優(yōu)化網(wǎng)站設(shè)計、微信公眾號、用戶體驗

        廣告

        聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

        網(wǎng)站優(yōu)化排名

      2. 
        

          <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
          1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>
            中文AV字幕网 | 国语对白av | 香丁五月在线 | 91久久人澡人人添人人爽欧美 | 狠狠狠狠狠狠狠狠狠 | 青草久性爱 | 国产在线8 | 成人亚洲av | 大黑屌操屄 | 国产精品吴梦梦一区二区 |