Communication Between Web App & Mobile App
|जब भी हम कोई Android WebView Application बनाते हैं तो हमें कुछ कुछ डाटा या फंक्शन Native App के उपयोग में लेना होते हैं और कुछ वैल्यू Web Application से भेजना होती हैं, एक तरह से यह Web Application और Mobile Application के बिच में Communication हैं , आइये हम समझते हैं की किस तरह से दोनों एप्लीकेशन के बिच में डाटा का Send/Receive किया जाता हैं ।
Passing Value Javascript to Android Native
यहाँ पर हमने Android में एक Share Function बनाया हैं जिसे हम WebView में जो भी HTML पेज हैं उसके जावा स्क्रिप्ट से Android के फंक्शन को कॉल करेंगे
private WebView myWebView;
myWebView = (WebView) findViewById(R.id.webview);
myWebView.addJavascriptInterface(new MyJavascriptInterface(this), "MyJSClient");
public class MyJavascriptInterface {
Context context;
public MyJavascriptInterface(Context context) {
this.context = context;
}
@android.webkit.JavascriptInterface
public void Share(String ls_text, String ls_url)
{
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
String TextSend = ls_text + "\r\n" + ls_url ;
intent.putExtra(Intent.EXTRA_SUBJECT, ls_text);
intent.putExtra(Intent.EXTRA_TEXT, TextSend);
startActivity(intent.createChooser(intent, "Share Using"));
}
}
JavaScript में इस तरह से फंक्शन बनाना हैं
function GetClickShare()
{
try {
var ls_text = 'Text or Message';
var ls_link = 'url';
window.MyJSClient.Share(ls_text,ls_link);
}
catch(err) {
window.location = 'url in case of error';
}
}
उपरोक्त Example में आप देख सकते हैं Android App में हमने myWebView.addJavascriptInterface(new MyJavascriptInterface(this), “MyJSClient”); कोड लिखा हैं इसमें हमें Android से JavaScript को कनेक्ट किया हैं और इसी MyJSClient को JavaScript कोड में उपयोग में लिया हैं इस तरह से window.MyJSClient.Share(ls_text,ls_link);
Send Value from Android to Javascript
इस Example में हमने Android से Javascript का setLocation फंक्शन कॉल किया हैं जिसम हमने दो वैल्यू पास की हैं जिन्हे हमने Javascript में रिसीव किया हैं ।
myWebView.loadUrl("javascript:setLocation('1.2','1.7')");
इस कोड को HTML में ऐड करे
<input id="lt_val" name="lt_val" type="number" class="form-control" >
<input id="lg_val" name="lg_val" type="number" class="form-control" >
यह फंक्शन JavaScript में ऐड करना हैं
function setLocation(lt, lg)
{
$('#lt_val').val(lt);
$('#lg_val').val(lg);
}
उपरोक्त दोनों Example की मदद से आप WebView एप्लीकेशन में Native Android से JavaScript पर वैल्यू भेजना और JavaScript से Native Android में Value प्राप्त करने का कार्य कर सकते हैं ।
इस आर्टिकल को पड़ने के बाद आप समझ गए होंगे की किस तरह हम Web Application और Mobile Application के बिच Communicate करते हैं ।
किसी भी प्रकार के सुझाव के लिए Comment करे