어제에 이어 오늘도 안드로이드 스튜디오를 켰다. 코로나 바이러스 때문에 카페에 가지도 못하고 집에서 조금 가지고 놀아봤다.

다른 화면으로 이동하기

어제는 MainActivity 하나만 있었다면 오늘은 2개를 추가하였다. OneActivity 와 TwoActivity. Empty Activity를 2개 추가하니 res>layout 디렉토리에도 두 개의 신규 xml 파일이 생긴다. xml 파일명은 알아서 직관적으로 바뀌니 좋았다.

이렇게 버튼을 두 개 추가해 보았다. 각 버튼을 누르면 다른 페이지로 갈 수 있게 위에서 설명한 것처럼 Empty Activity 역시 2개 추가하였다.

각 버튼에 대한 코드를 작성했다. 사진 우측 AVD (Android Virtual Device)는 첫 번째 버튼을 눌렀을 때 이동하는 페이지다.

간단한 브라우저 만들기

다음은 간단한 브라우저 만들기다.

새로운 프로젝트를 생성하고, res>layout>activity_main.xml 에 WebView 기능을 추가하면 된다. 버튼을 drag and drop 하는 것처럼 webview 기능도 이와 같아서 매우 쉽다.

WebView 기능도 바로 사용은 못하고, MainActivity 파일에 가서 따로 코드를 역시 작성해야 한다. 기본적으로 생성되는 코드 밑에 아래의 코드를 붙이면 된다.

web = (WebView) this.findViewById(R.id.webView);
web.setWebViewClient(new WebViewClient());
web.loadUrl("http://m.daum.net");

어라? 근데 이렇게 해서 AVD를 돌려봐도 다음 웹페이지가 실행이 안 된다. Webpage not available 오류만 뜬다. 찾아보니 다른 곳에 코드를 하나 추가해야 한다더라.

app>manifests 디렉토리 안에 있는 AndroidManifest.xml 이라는 파일이 있다. 그 파일에 들어가서 아래 코드를 작성해야 한다.

<uses-permission android:name="android.permission.INTERNET"/>

위 코드를 작성하고 AVD를 돌려보니 정상적으로 다음 홈페이지가 실행이 되는 것을 볼 수 있었다.

다음은 웹 브라우저에서 간단한 조작이 가능하도록 버튼을 추가해 보았다.

다시 res>layout 디렉토리에 있는 activity_main.xml 파일에 들어가서, Design 탭에서 버튼을 3개 추가했다. 각 버튼을 팔레트에서 추가하니 Text 탭에는 자동으로 Button 3개에 대한 코드가 작성됐다. 각 버튼의 아이디는 button, button2, button3 로 지정이 자동으로 됐다.

다시 MainActivity 파일로 돌아와, 각 버튼에 대한 이벤트 처리 코드를 작성하였다. web 객체를 생성시켜 각 버튼 별로 web.goBack(), web.reload(), web.goForward() 함수 기능을 추가하였다.

다행히 작동이 잘 된다. 비록 아주 간단한 기능들이고 인터넷을 뒤져서 그대로 코드를 적용시킨 것 밖에 없지만, 왠지 모르게 뿌듯하다.

profile
맛있는 프로그래밍

0개의 댓글