التواصل بين تطبيق أندرويد مع ويب فيو

السلام عليكم ،

في بعض الحالات يكون تطبيق الأندرويد به ( ويب فيو - web view ) لأسباب متعددة قد تكون لعبة بسيطة أو فورم من ويب سايت أو خلافه.

التواصل بين كود الأندرويد و بين الجافا سكريبت المعروض في الويب فيو يتم بطريقة سهلة في أندرويد.

كل ما عليك القيام به تعريف وسيلة اتصال ( Interface ) و استخدامها داخل الجافا سكريبت.

الخطوات:

١- نقوم بتعريف وسيلة الاتصال ( Interface ) و تكون كالتالي:
public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */ 
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */ 
    @JavascriptInterface 
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}

٢- نقوم بتعريف الأوبجكت الخاص بالويب فيو:
webView = (WebView) findViewById(R.id.webView); 


 
٣- يجب أن تقوم بضبط خصائص الويب فيو لتقبل الجافا سكريبت:
webView.getSettings().setJavaScriptEnabled(true); 
 
٤- نقوب بإنشاء أوبجكت من WebAppInterface و الذي يتم تمريره إلى الويب فيو:
WebAppInterface WebAppInterface = new WebAppInterface(this);
webView.addJavascriptInterface(WebAppInterface, "WebAppInterface");
 
٥- يمكن الآن استخدام WebAppInterface من داخل كود الجافا سكريبت:
WebAppInterface.showToast(THE_VALUE_YOU_NEED_TO_PASS); 
 
يمكنك الحصول على مشروع كامل من خلال هذا اللينك.
 
أتمنى أن تكون هذه التدوينة مفيدة للجميع :) 

ليست هناك تعليقات:

إرسال تعليق

---- أتشرف بتعليقاتكم ----