ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î


À¥ºä(WebView)¿¡ °üÇÑ °íÂû
10³â Àü
# Layout
±×³É <WebView> ÅÂ±× ³Ö°í ±× ¾È¿¡ ¼Ó¼º ³Ö¾îÁÖ¸é ³¡...

# WebViewClient¸¦ »ó¼Ó¹ÞÀº Ŭ·¡½º Á¤ÀÇ
WebViewClient Ŭ·¡½º¸¦ »ó¼Ó¹Þ¾Æ ±¸ÇöÇÕ´Ï´Ù. ÀÌ ¾È¿¡ shouldOverrideUrlLoading() ¸Þ¼Òµå¸¦ ±¸ÇöÇÏÁö ¾ÊÀ¸¸é À¥ºä ³» ¸µÅ© ÅÍÄ¡ÇÒ ¶§ ¿¬°á ÇÁ·Î±×·¥(±âº» ºê¶ó¿ìÀú, Å©·Ò µî) ¼³Á¤Ã¢ÀÌ ¶å´Ï´Ù.

import android.webkit.*;

class WebBrowserClient extends WebViewClient {
    
    /*
     * À¥ºä ³» ¸µÅ© ÅÍÄ¡ ½Ã »õ·Î¿î âÀÌ ¶ßÁö ¾Ê°í
     * ÇØ´ç À¥ºä ¾È¿¡¼­ »õ·Î¿î ÆäÀÌÁö°¡ ·ÎµùµÇµµ·Ï ÇÔ  
     */
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}


# WebView °´Ã¼ »ý¼º ¹× ¼¼ÆÃ

import android.webkit.*;

public class MainActivity extends Activity {

    private WebView webView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // À¥ºä ¼³Á¤
        webView = (WebView)findViewById(R.id.webView);
        
        WebSettings webSettings = webView.getSettings();
        webSettings.setUseWideViewPort(true);
        webSettings.setSupportZoom(true); // ÁÜ ¼­Æ÷ÅÍ Ç¥½Ã
        webSettings.setBuiltInZoomControls(true); // ¸ÖƼÅÍÄ¡ ÁÜ Áö¿ø
        webSettings.setJavaScriptEnabled(true);
        
        webView.setWebViewClient(new WebBrowserClient());

        // À¥ºä¿¡ À¥ »çÀÌÆ® Ç¥½Ã
        String url = "http://www.musictrot.com";
        webView.loadUrl(url);
    }
}



# WebView ÃʱâÈ­ ¹æÁö

È­¸é ȸÀü½Ã À¥ºä°¡ ÃʱâÈ­µÇÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ¾×ƼºñƼ Ŭ·¡½º ¾È¿¡ onConfigurationChanged() ¸Þ¼Òµå¸¦ ±¸ÇöÇÕ´Ï´Ù.

/*
* È­¸é ȸÀü½Ã È­¸éÀÌ ÃʱâÈ­µÇ¹ö¸®´Â ¹®Á¦ ¹æÁö
* ¸Å´ÏÆ佺Ʈ ¾×ƼºñƼ ¼Ó¼º¿¡
* android:configChanges="orientation|screenSize"
* Ãß°¡ ÇÊ¿ä
*/
public void onConfigurationChanged(Configuration newConfig){
    super.onConfigurationChanged(newConfig);
}

¹Ýµå½Ã ¸Å´ÏÆ佺Ʈ ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ ¾×ƼºñƼ ¼Ó¼ºÀ» Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.

<activity
    android:name="com.heroism.webviewapp.MainActivity"
    android:configChanges="orientation|screenSize"
    android:label="@string/app_name" >
</activity>


# µÚ·Î°¡±â  

¾×ƼºñƼ Ŭ·¡½º ¾È¿¡ onKeyDown() ¸Þ¼Òµå¸¦ ±¸ÇöÇϸé back Å°¸¦ ´­·¶À»¶§ ÀÌÀü ÆäÀÌÁö¸¦ º¸¿©ÁÖµµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̶§ canGoBack() ¸Þ¼Òµå·Î ÀÌÀü ÆäÀÌÁö·Î À̵¿ÇÒ ¼ö ÀÖ´ÂÁö ÆÇ´ÜÇÑ ÈÄ goBack() ¸Þ¼Òµå¸¦ È£ÃâÇÏ¿© ÀÌÀü ÆäÀÌÁö¸¦ º¸¿©ÁÝ´Ï´Ù.

ù ÆäÀÌÁö »ó¿¡¼­ back Å°¸¦ ¿¬¼ÓÀ¸·Î µÎ ¹ø ÅÍÄ¡ÇÏ¸é ¾ÛÀ» Á¾·á½ÃÅ°°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.

// Çڵ鷯, Ç÷¡±×
private Handler mHandler;
private boolean mFlag = false;

// Çڵ鷯 °´Ã¼ ¼³Á¤ (onCreate() ¸Þ¼Òµå ¾È¿¡ ±¸Çö!!!)
mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        if(msg.what == 0) {
            mFlag = false;
        }
    }
}

public boolean onKeyDown(int keyCode, KeyEvent event) {
      
    // ¹é Å°¸¦ ÅÍÄ¡ÇÑ °æ¿ì
    if(keyCode == KeyEvent.KEYCODE_BACK){
          
        // ÀÌÀü ÆäÀÌÁö¸¦ º¼ ¼ö ÀÖ´Ù¸é ÀÌÀü ÆäÀÌÁö¸¦ º¸¿©ÁÜ
        if(webView.canGoBack()){
            webView.goBack();
            return false;
        }
          
        // ÀÌÀü ÆäÀÌÁö¸¦ º¼ ¼ö ¾ø´Ù¸é ¹éÅ°¸¦ Çѹø ´õ ÅÍÄ¡Çؼ­ Á¾·á
        else {
            if(!mFlag) {
                Toast.makeText(this, "'µÚ·Î' ¹öÆ°À» Çѹø ´õ ´©¸£½Ã¸é Á¾·áµË´Ï´Ù.", Toast.LENGTH_SHORT).show();
                mFlag = true;
                mHandler.sendEmptyMessageDelayed(0, 2000); // 2ÃÊ ³»·Î ÅÍÄ¡½Ã
                return false;
            } else {
                finish();
            }
        }
    }
      
    return super.onKeyDown(keyCode, event);
}



ÃßõÃßõ : 663 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,891
ÀÔ·Â Çʵ忡¼­ ƯÁ¤´Ü¾î(¿¹:#err)°¡ Æ÷ÇԵǾúÀ» ¶§ ½Ç½Ã°£ °¨Áö ¹× °æ°íâ ¶ç¿ì±â
2,890
µ¥ÀÌÅͺ£À̽º ÃÖÀûÈ­¿Í Äõ¸® È¿À²¼ºÀ» ³ôÀÌ °Ë»ö ¼º´ÉÀ» °³¼±ÇÏ´Â ¹æ¹ý
2,889
°£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â
2,888
PHPÀÇ php.ini ÆÄÀÏ¿¡¼­ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ÁÖ¿ä Ç׸ñµéÀ» Ä«Å×°í¸®º°·Î Á¤¸®
2,887
À¯Æ©ºê µ¿¿µ»óÀÇ ½æ³×ÀÏ À̹ÌÁö¸¦ üũÇÏ¿© À¯È¿ÇÑ ¿µ»óÀ̾ƴҶ§ ¿¬°áµÈ üũ¹Ú½º¸¦ ÀÚµ¿À¸·Î üũ
2,886
À̹ÌÁö URLÀÌ À¯È¿ÇÏÁö ¾ÊÀ» ¶§, ÇØ´ç À̹ÌÁö¿Í ¿¬°áµÈ üũ¹Ú½º¸¦ ÀÚµ¿À¸·Î üũ
2,885
HTTPS·Î Á¢¼ÓÇÑ »ç¿ëÀÚ¸¦ °­Á¦·Î HTTP·Î ¸®µð·º¼Ç ÇÏ·Á¸é
2,884
PHP¿¡¼­ MP3 ÆÄÀÏÀ» Á÷Á¢ ÀÐ°í ½ºÆ®¸®¹Ö Çϱâ
2,883
ÇöÀç ÆäÀÌÁö°¡ location.reload()¿¡ ÀÇÇØ »õ·Î°íħµÇ¾ú´ÂÁö
2,882
ÅؽºÆ® ÆÄÀÏÀ» Àаí, °¢ ÁÙÀÇ ³¡¿¡¼­ 6±ÛÀÚ¸¦ »èÁ¦ÇÑ ÈÄ, °á°ú¸¦ »õ·Î¿î ÆÄÀÏ¿¡ ÀúÀåÇÕ´Ï´Ù.
2,881
cURLÀ» »ç¿ëÇÏ¿© ¸®´ÙÀÌ·ºÆ®¸¦ µû¶ó°¡ ÃÖÁ¾ URL °¡Á®¿À±â
2,880
[PHP] $_SERVER ȯ°æº¯¼ö
2,879
10Áø¼ö <-> 16Áø¼ö º¯È¯±â PHP¼Ò½º
2,878
ÅؽºÆ®¿¡ Á÷Á¢ ±×¶óµ¥ÀÌ¼Ç »ö»óÀ» Àû¿ëÇÏ·Á¸é?
2,877
CSS¸¦ »ç¿ëÇÏ¿© ¿ä¼ÒÀÇ ³»¿ë¹°¿¡ µû¶ó width¸¦ Á¶Á¤ÇÏ´Â ¹æ¹ý
2,876
À¥¼­¹ö ip È®ÀÎ
2,875
À¥È£½ºÆÃÀÇ Àý´ë°æ·Î¸¦ È®ÀÎ
2,874
input ÀÔ·Â ÇÊµå ¾ÕµÚ °ø¹é ½Ç½Ã°£ Á¦°Å
2,873
Placeholder Æ÷Ä¿½º½Ã °¨Ãß±â
2,872
MySQL Áߺ¹µÈ µ¥ÀÌÅ͸¦ »èÁ¦
2,871
MySQL Áߺ¹ µ¥ÀÌÅÍ È®ÀÎ
2,870
sessionStorage.getItem ¿Í sessionStorage.setItem
2,869
Á¦ÀÌÄõ¸® ·£´ýÀ¸·Î ¹è°æ»ö º¯°æ
2,868
preg match¿¡ °üÇÑ Á¤±Ô½Ä
2,867
Stream an audio file with MediaPlayer ¿Àµð¿À ÆÄÀÏ ½ºÆ®¸®¹Ö Çϱâ
2,866
Audio Streaming PHP Code
2,865
PHP $ SERVER ȯ°æ º¯¼ö Á¤¸®
2,864
Vimeo (ºñ¸Þ¿À) API ¸¦ »ç¿ëÇÏ¿© Ç÷¹À̾î ÄÁÆ®·ÑÇϱâ
2,863
iframe »ç¿ë½Ã ÇÏ´Ü¿¡ ¹ß»ýÇÏ´Â °ø¹é Á¦°Å¹æ¹ý
2,862
¾ÆÀÌÇÁ·¹ÀÓ(iframe) Àüüȭ¸é °¡´ÉÇÏ°Ô Çϱâ
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.