• 우분투에서 안드로이드 개발 환경을 구축해보자

    2017. 9. 25. 14:53

    by. 위지원

    앱을 간단하게 하나 만들려고한다. 2가지를 하면 된다.  JAVA 설치, Android SDK 설치 , java는 이전에 한번 설치한적 있다. http://weejw.tistory.com/63

    그러면 SDK를 설치해보자 설치는 이곳에서 할 수 있다. https://developer.android.com/studio/index.html#Other


    다운로드를 하면... 자동으로 설치 메뉴얼로 이동된다 https://developer.android.com/studio/install.html

    와우... 너무 자세하게 설명되어서 따로 포스팅할 내용이 없다





    이왕 설치한거 간단한 앱을 하나 작성해보자. 나는 아이폰 유저이기 때문에 가상 머신을 하나 생성해서 테스트 해볼 것이다.




    추천해주는대로 설치해서 사용해보자 최신버전은 피해야지.. 난 항상 최신버전에 대한 불안감을 가지고있다... 최신버전을 사용해야 좋을텐데.... 가아닌가

    어려운게 없으므로 아주 잘 가상머신으로 어플 화면을 실행해 볼 수 있다.

    하...리눅스 기모찌..윈도우로 할때 속터져서 모니터 부실뻔했는데 아이라잌 우뷴튜




    자 그럼 여기에 웹페이지를 띄어보자 그것이 나의 최종 목표니깐~!

    검색해보니 webview라는걸 사용하면 된다고 한다.



    webview사용하기 [출처 : https://developer.android.com/guide/webapps/webview.html]



    1.권한설정

    웹뷰는 인터넷 접속권한이 필요하다.

    좌측 메뉴에 보면 이렇게 Manifest.xml파일이 있다. 밑줄 친 부분을 입력해서 수정하자.



    요것을 입력 ☞ <uses-permission android:name="android.permission.INTERNET"/>




    이제 내가 웹뷰를 사용할 레이아웃으로 가서 웹뷰를 추가해준다. 추가하면 사진처럼 WebView라고 표시된다.


    여기서 잠깐 햇갈렸다.

    activity_main.xml과 content_main.xml 두가지가 있었다. 이들의 차이는 무엇일까? 출처:http://freehoon.tistory.com/17


    한마디로 그냥 content는 그림그리는 일을 하고 activity는 별도의 설정을 위한 xml라는 걸까? 나중에 이해해보자.

    아무튼 일단 content.xml에 하면 된다는것을 알았다




    그렇게해서 추가하면 오른쪽 탭에 webview에 대해 설정하는 탭이 생긴다



    여기서 ID 를 설정해준다

    그다음에 MainActivity.java파일에 아래의 두줄만 추가해준다.( * 오류가 생기면 그냥 alt+enter 치면 자동으로 해결해준다 )

    그럼 위에서 설정한 Id로 웹뷰를 생성해서 해당 웹뷰에 유알아이를 전달해 화면에 출력할 수 있게 해준다.

    WebView webview = (WebView)findViewById(R.id.webview);
    webview.loadUrl("http://www.naver.com");


    전체적인 코드는 이렇다 중간에 위에서 언급한 두 줄만 추가되었다.





    실행 결과 아주 잘 인터넷 화면을 잘 띄어준다. 여기서 먼가 깨름찍함을 느꼇다. 웹에서 페이지를 띄어주는게 아니라 새창을 띄어서 페이지를 보여준다.

    그래 웹 자체에서 웹페이지를 출력할 수 있도록 수정하자



    WebViewClient 클래스를 상속받아서 사용하면 된다.



    아래와 같은 클래스를 하나 선언해주고


    class WebClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return true;
         }
    }



    웹뷰 생성하는곳에 이렇게 웹뷰클라이언트를 셋해준다고 하면 된다.

    webView.setWebViewClient(new WebViewClient());

    그럼 이렇게 아래사진처럼 잘 나온다.


    여기서 만약에 막 크기가 이상하고 안맞을때가 있는데 (내가그랬다;)

    이 웹뷰 부분의 크기를 parent match로 해주니깐 잘되었다.

    <WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintRight_toRightOf="parent"></WebView>