آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

ارسال دیتا از صفحه وب (در وب ویو) به اپلیکیشن

دوشنبه, ۳۱ مرداد ۱۴۰۱، ۰۶:۵۲ ب.ظ

اگر بخواهیم با زدن یک دکمه در وب دیتا به اپلیکیشن ارسال شود؛ باید متد addJavascriptInterface برای وب ویو ست گردد. در ورودی این متد یک کلاس از جنس آبجکت و یک name پاس داده میشود.

binding.webView.addJavascriptInterface(new JavaScriptInterface(), "Android");

 

 

public class JavaScriptInterface {
    private static final String TAG = "JavaScriptInterface";

    // Show a toast from the web page
    @JavascriptInterface
    public void showToast(String toast) {
        Log.d(TAG, "showToast: "+toast);
    }

    //received url from web
    @JavascriptInterface
    public void interceptUrl(String url){
        Log.d(TAG, "interceptUrl: "+url);
    }
}

سمت وب:

<html>
    <head>
        <script src="https://code.jquery.com/jquery-3.6.0.slim.min.js" integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI=" crossorigin="anonymous"></script>
    </head>
    
    <body>
    
        <button name="test" style="width=50px , height=50px" onClick="test()" >request</button>    
        
        <script>
            function test(){
                console.log("--------------")
                
        // API for get requests
                let fetchRes = fetch("https://test.ir");
            // fetchRes is the promise to resolve
            // it by using.then() method
                fetchRes.then(res =>
                    res.json()).then(data => {
                        console.log(data);
                        Android.showToast(JSON.stringify(data));
                        Android.interceptUrl('test.ir')    
  });
}
        </script>
    </body>
    
</html>

 

 

 

 

 

 

موافقین ۰ مخالفین ۰ ۰۱/۰۵/۳۱
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی