헉....충격이다... 앞으로 HTML5가 대세가 될것을 보면서 번거로운 안드로이드 어플 개발에 대한 흥미가 떨어졌었다. 그랬더니 기본적인 것도 다~ 잊어버렸네...ㅋㅋ 웹브라우저 VS 웹뷰 안드로이드에서 웹 페이지를 보여주는 방법은 2가지이다. 웹브라우저 웹뷰(WebView) 간단히 웹 브라우저는 간단히 URL만 사용해서 엡 페이지를 보여줄 때 사용하고, 웹뷰는 하이브리드 방식으로 내부동작에는 안드로이드 내장 컴포넌트를 사용할 때 이용된다. Webview 사용하기 AndroidManifest.xml 에 인터넷 사용 설정하기 레이아웃 XML에 WebView 선언하기 HTML 작성 및 저장 Activity에서 mWebView 사용하기 1. AndroidManifest.xml 에 인터넷 사용 설정하기 2. ..
안드로이드에서 애플리케이션을 넘겨주는(deliver) 2가지 필수적인 방법 client-side application Android SDK를 사용하여 개발하고 .apk로 설치된다. web application 웹 표준을 사용하여 개발하고 웹 브라우저를 통해 접근한다. : 사용자 기기에 설치될 필요가 없다. 애플리케이션을 위한 선택에는 여러 요소가 작용되지만, 안드로이드는 웹 애플리케이션 개발을 하기 위한 결정을 쉽게 하기 위해 다음을 제공한다. viewport 속성을 지원해서 웹 애플리케이션의 크기가 스크린 크기에 기반하여 적정하도록 해준다. CSS 와 JavaScript 특징 지원 : 스크린의 해상도에 따라 다른 스타일과 이미지 제공 가능 client-side Android application 에 w..
WebView 안에서 자바스크립트 함수를 호출하여 액티비티 안의 함수를 호출할 수 있다. 새로운 액티비티를 호출하거나 데이터를 fetch할 때 사용된다. 자바스크립트 인터페이스 클래스 만들기 WebView 에 인터페이스 클래스 등록하기 Javascript에서 Android 함수 호출하기 1. 자바스크립트 인터페이스 클래스 만들기 WebView 에 등록할 인터페이스를 만든다. 인터페이스의 함수는 자바스크립트에서 호출할 때 사용된다. final class MyJavaScriptInterface { MyJavaScriptInterface() { } /** * This is not called on the UI thread. Post a runnable to invoke * loadUrl on the UI th..
Activity 제목부분에서 WebView 의 페이지 로딩 진행상황을 progress meter 로 표시해준다. 페이지 로드가 100% 완료되면 progress meter 는 사라진다. 소스구현 getWindow().requestFeature(Window.FEATURE_PROGRESS) 선언 public void onProgressChanged(WebView view, int progress) 구현 public class TestActivity extends Activity { WebView webview ; final Activity activity = this; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(sav..
WebView 를 커스터마이징 하는 포인트 WebChromeClient subclass 생성하고 세팅하기 This class is called when something that might impact a browser UI happens, for instance, progress updates and JavaScript alerts are sent here (see Debugging Tasks). WebViewClient subclass 생성하고 세팅하기 It will be called when things happen that impact the rendering of the content, eg, errors or form submissions. You can also intercept URL lo..