Android > Webview - WebViewClientÀÇ ¸Þ¼µå µî·ÏÀÏ : 2017-07-06 17:41 Á¶È¸¼ö : 53,450¸ÕÀú WebViewÀÇ ¸¸µå´Â ¹æ¹ýÀ» ¾Ë¾Æ ºÃ´Ù.
±Ùµ¥ WebView¸¦ ¸¸µçµÚ¿¡ È®ÀÎÇØ º¸¸é WebView¿¡¼ »õ·Î¿î Url Á¢¼ÓÀÌ ÀÏ¾î ³¯¸é »õ·Î¿î âÀÌ ¶ß´Â°É º¼ ¼ö ÀÖ´Ù. ÀÌ´Â ±âº»ÀûÀ¸·Î WebView¿¡¼ »õ·Î¿î Url Á¢¼Ó½Ã ½Ã½ºÅÛ¿¡¼ »õ·Î¿î â¿¡´Ù°¡ ·ÎµùÇϵµ·Ï ½ÃÅ°´Â °ÍÀε¥, ÀÌ°ÍÀÌ Çѵιø¾¿ ¸¹¾ÆÁö¸é ¸Þ¸ð¸® °ü¸®»ó¿¡µµ º°·Î µµ¿òÀÌ ¾ÈµÈ´Ù. ±×·³ ¾îÂîÇØ¾ß µÉ±î.. ±×·¡¼ ÀÖ´Â °ÍÀÌ WebViewClient ¿Í WebChromeClient ÀÌ´Ù. À̹ø Àå¿¡´Â webViewClient class ¿¡ ´ëÇؼ ¾Ë¾Æº¸ÀÚ. ÀÏ´Ü WebViewClient ´Â »õ·Î¿î Class¿¡ WebViewClient¸¦ »ó¼Ó ¹Þ¾Æ¼ ¸¸µé¾îµµ µÇ°í private class WebClientClass extends WebViewClient { ~~~~~~ ³»¿ë ~~~~~~~~~~~~~~~~~~~~~~ } ³»ºÎ¿¡¼ new·Î »ý¼ºÇصµ µÈ´Ù. WebView.setWebViewClient(new WebViewClient(){ ~~~~~~ ³»¿ë ~~~~~~~~~~~~~~~~~~~~~~ } WebViewClient Class ÇÔ¼öµé¿¡ ´ëÇؼ ¾Ë¾Æº¸ÀÚ. 1. onPageStarted() ·ÎµùÀÌ ½ÃÀ۵ɶ§.. WebView¿¡¼ óÀ½ ÇÑ ¹ø¸¸ È£ÃâµÇ´Â ¸Þ½îµå ÆäÀÌÁö ·ÎµùÀÌ ½ÃÀÛµÈ °ÍÀ» ¾Ë¸³´Ï´Ù.
2. onLoadResource() WebView°¡ ÁÖ¾îÁø URL·Î ÁöÁ¤µÈ ¸®¼Ò½º¸¦ ·ÎµåÇÒ °ÍÀ̶ó°í ¾Ë¸³´Ï´Ù. ÆäÀÌÁö ·ÎµùÀÌ ¿Ï·áµÉ ¶§±îÁö ¿©·¯¹ø È£ÃâµË´Ï´Ù. ÆäÀÌÁö°¡ ³ª´µ¾î¼ ·ÎµùµÇ³ª º¾´Ï´Ù.
3. doUpdateVisitedHistory() ¹æ¹®ÇÑ ¸µÅ©¸¦ µ¥ÀÌÅͺ£À̽º¿¡ ¾÷µ¥ÀÌÆ®ÇÑ´Ù°í ¾Ë¸³´Ï´Ù.
/* °á°ú (urlÀÌ º¯ÇÒ ¶§ ¸¶´Ù) History: http://www.abc.com/djfk... History: http://www.abc.com/djfk.../fdfd */ 4. onPageFinished() WebView¿¡¼ óÀ½ ÇÑ ¹ø¸¸ È£ÃâµÇ´Â ¸Þ½îµå. ÆäÀÌÁö ·ÎµùÀÌ ¿Ï·áµÈ °ÍÀ» ¾Ë¸³´Ï´Ù.
5. onReceivedError() È£½ºÆ® ÀÀ¿ë ÇÁ·Î±×·¥¿¡°Ô ¿À·ù¸¦ º¸°íÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿À·ù´Â º¹±¸ÇÒ ¼ö ¾ø½À´Ï´Ù. À¥ºä´Â ÀÎÅͳÝÀÌ ¿°áµÇ¾î ÀÖÁö ¾Ê¾ÒÀ»¶§ ÁÖ¼Ò°¡ ³ëÃâµÇ´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ÀÌ·²°æ¿ì urlÁÖ¼Ò¸¦ º¸¾È»ó ³ëÃâµÇ¸é ¾ÈµÇ±â ¶§¹®¿¡ ¼û±æ°æ¿ì »ç¿ëÇϸé À¯¿ëÇÒ °Í °°´Ù.
6. onReceivedHttpAuthRequest() * ÀÎÁõ ¿äûÀ» ó¸®ÇÑ´Ù°í ¾Ë¸³´Ï´Ù. ±âº» µ¿ÀÛÀº ¿äûÀ» Ãë¼ÒÇÏ´Â °ÍÀÔ´Ï´Ù. (http ÀÎÁõ¿äûÀÌ ÀÖÀ» °æ¿ì)
6. onScaleChanged() ½ºÄÉÀÏÀÌ º¯°æµÇ¾úÀ» ¶§ ó¸®ÇÒ ³»¿ëÀ» ±¸ÇöÇÑ´Ù. (È®´ë³ª Å©±âµîÀÌ º¯È ÀÖÀ» °æ¿ì)
7. onUnhandledKeyEvent() À߸øµÈ Å° ÀÔ·ÂÀÌ ÀÖÀ» °æ¿ì È£ÃâµÇ´Â ¸Þ½îµå ½Ã½ºÅÛ Å°¸¦ Á¦¿ÜÇÏ°í, WebView´Â shouldOverrideKeyEvent°¡ true¸¦ ¹ÝȯÇÏ´Â °æ¿ì³ª ÀϹÝÀûÀÎ flow¿¡¼ Ç×»ó Å° À̺¥Æ®¸¦ ó¸®ÇÕ´Ï´Ù. Å° À̺¥Æ®°¡ ¹ß»ýµÈ °÷À¸·Î ºÎÅÍ ºñµ¿±âÀûÀ¸·Î È£ÃâµË´Ï´Ù.
8. shouldOverrideKeyEvent() »ç¿ëÀÚÀÇ Å° ÀÔ·ÂÀÌ ÀÖÀ» °æ¿ì È£ÃâµÇ´Â ¸Þ½îµå ½Ã½ºÅÛ Å°¸¦ Á¦¿ÜÇÏ°í, WebView´Â shouldOverrideKeyEvent°¡ true¸¦ ¹ÝȯÇÏ´Â °æ¿ì³ª ÀϹÝÀûÀÎ flow¿¡¼ Ç×»ó Å° À̺¥Æ®¸¦ ó¸®ÇÕ´Ï´Ù. Å° À̺¥Æ®°¡ ¹ß»ýµÈ °÷À¸·Î ºÎÅÍ ºñµ¿±âÀûÀ¸·Î È£ÃâµË´Ï´Ù.
(¿¹Á¦) shouldOverrideKeyEvent() ------------------------------------------------------------------------
9. shouldOverrideUrlLoading() »õ·Î¿î URLÀÌ ÇöÀç WebView¿¡ ·ÎµåµÇ·Á°í ÇÒ ¶§ È£½ºÆ® ÀÀ¿ë ÇÁ·Î±×·¥¿¡°Ô ÄÁÆ®·ÑÀ» ´ë½ÅÇÒ ±âȸ¸¦ ÁÝ´Ï´Ù
|