오늘 해 볼 작업은 WebView 입니다. 웹기반 어플리케이션이라고 보면 되고 완성될 화면은 아래와 같습니다.
Daum의 모바일 웹페이지 프론트 페이지입니다. 맨 아래 하단에는 버튼을 두어서 원하는 곳으로 이동도 해 볼 겁니다.
Daum의 모바일용 웹페이지를 호출한 화면입니다.
웹브라우져 객체를 담기 위해 webview 를 아래 버튼을 만들기 위해 button 을 이용합니다.
1. 프로젝트 생성
HelloWebView
2. Main.xml 코딩
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="8">
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Home"
android:layout_weight="1"
android:textSize="8pt"/>
<Button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Portal"
android:layout_weight="1"
android:textSize="8pt"/>
<Button
android:id="@+id/Button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Close"
android:layout_weight="1"
android:textSize="8pt"/>
</LinearLayout>
</LinearLayout>
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="8">
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Home"
android:layout_weight="1"
android:textSize="8pt"/>
<Button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Portal"
android:layout_weight="1"
android:textSize="8pt"/>
<Button
android:id="@+id/Button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Close"
android:layout_weight="1"
android:textSize="8pt"/>
</LinearLayout>
</LinearLayout>
위 처럼 코딩 하시면 화면 구성은 끝납니다. 화면에 구성에 필요한 부분은 별도로 공부 하시면 도움이 많이 될겁니다. 별도로 포스트 할 예정입니다.
3. HellowWebView.java 코딩
package com.sample.HelloWebView;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
public class HelloWebView extends Activity {
private static final String URL1="http://m.daum.net/mini";
private static final String URL2="http://m.naver.com";
WebView webview;
private static final String URL1="http://m.daum.net/mini";
private static final String URL2="http://m.naver.com";
WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(URL1);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(URL1);
webview.setWebViewClient(new HelloWebViewClient());
Button b1 = (Button)findViewById(R.id.Button01);
Button b2 = (Button)findViewById(R.id.Button02);
Button b3 = (Button)findViewById(R.id.Button03);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(URL1);
webview.setWebViewClient(new HelloWebViewClient());
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(URL2);
webview.setWebViewClient(new HelloWebViewClient());
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
다소 복잡해 보이지만 자동 완성 기능이 있으므로 어렵지 않습니다. 안드로이드는 자바와 XML로 구성되어 있다고 보면 됩니다. 특히 자바의 기초적인 부분을 잘 이해 하고 계시다면 개발은 어렵지 않을 거란 생각이 드네요.
4. 애플리케이션 훝어보기
Portal 버튼을 눌러 네이버로 이동한 화면입니다. 다시 Home 버튼을 누르면 다음으로 이동합니다. Close 는 화면을 종료하며 finish() 함수를 호출하여 간단하게 애플리케이션을 종료 할 수 있습니다.
댓글 없음:
댓글 쓰기