그냥 개발자 블로그

웹뷰추가하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 5 본문

프로그래밍팁/android

웹뷰추가하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 5

마음이파파 2017. 6. 12. 00:50

모바일웹 사이트가 있고 특별한 기능이 없다면 많은 시간과 돈을 들여서 네거티브 앱을 만들 필요가 없습니다.


안드로이드의 웹뷰 기능을 이용하여 모바일웹을 안드로이드 앱안으로 불러오면 됩니다.


여기서는 이전글에서 푸시 기능을 추가하고 테스트한 앱에 웹뷰를 추가 방법을 소개 합니다.







1. AndroidManifest.xml에 인터넷 사용권한을 줍니다.













2. 앱의 타이틀바를 없애고, 화면을 세로로 고정하기 위해서 다음과 같이 작성합니다.














3. activity_main.xml웹뷰를 아래와 같이 추가해 줍니다.














4. 네트워크 환경이 좋지 않아 접속이 원할하지 않을 경우를 대비하여 텍스트뷰도 추가해 줍니다.












5. MainActivity 자바 클래스를 수정해 줍니다. 



public class MainActivity extends AppCompatActivity {


    WebView mWebView;

    TextView errorVeiw;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        FirebaseMessaging.getInstance().subscribeToTopic("notice");

        

      

        errorVeiw = (TextView) findViewById(R.id.net_error_view);


        mWebView = (WebView) findViewById(R.id.activity_main_webview);


        WebSettings webSettings = mWebView.getSettings();

        webSettings.setJavaScriptEnabled(true);


        mWebView.setWebViewClient(new WebViewClient() {


            @Override

            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                view.loadUrl(url);

                return true;

            }


            //네트워크연결에러

            @Override

            public void onReceivedError(WebView view, int errorCode,String description, String failingUrl) {


                switch(errorCode) {

                    case ERROR_AUTHENTICATION: break;               // 서버에서 사용자 인증 실패

                    case ERROR_BAD_URL: break;                           // 잘못된 URL

                    case ERROR_CONNECT: break;                          // 서버로 연결 실패

                    case ERROR_FAILED_SSL_HANDSHAKE: break;    // SSL handshake 수행 실패

                    case ERROR_FILE: break;                                  // 일반 파일 오류

                    case ERROR_FILE_NOT_FOUND: break;               // 파일을 찾을 수 없습니다

                    case ERROR_HOST_LOOKUP: break;           // 서버 또는 프록시 호스트 이름 조회 실패

                    case ERROR_IO: break;                              // 서버에서 읽거나 서버로 쓰기 실패

                    case ERROR_PROXY_AUTHENTICATION: break;   // 프록시에서 사용자 인증 실패

                    case ERROR_REDIRECT_LOOP: break;               // 너무 많은 리디렉션

                    case ERROR_TIMEOUT: break;                          // 연결 시간 초과

                    case ERROR_TOO_MANY_REQUESTS: break;     // 페이지 로드중 너무 많은 요청 발생

                    case ERROR_UNKNOWN: break;                        // 일반 오류

                    case ERROR_UNSUPPORTED_AUTH_SCHEME: break; // 지원되지 않는 인증 체계

                    case ERROR_UNSUPPORTED_SCHEME: break;          // URI가 지원되지 않는 방식

                }

                super.onReceivedError(view, errorCode, description, failingUrl);


                mWebView.setVisibility(View.GONE);

                errorVeiw.setVisibility(View.VISIBLE);

            }

        });


        mWebView.loadUrl("http://m.naver.com");


    }

}

 






[안드로이드 앱 제작 문의]








[목차]


1. 프로젝트 생성 하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 1


2. 푸시 사용 준비하기 (FCM) - 안드로이드 모바일웹으로 하이브리드앱 만들기 2


3. 푸시 기능 만들기 (FCM) - 안드로이드 모바일웹으로 하이브리드앱 만들기 3


4. 푸시 테스트 하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 4


5. 웹뷰추가하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 5


6. 웹뷰에서 자바스크립트 동작 처리하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 6


7. 뒤로 버튼 눌렀을때 동작 처리하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 7


8. 인트로(스플레시) 만들기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 8


9. 아이콘 설정하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 9


10. 테스트용 APK 추출하기 - 안드로이드 모바일웹으로 하이브리드앱 만들기 10









copyright (c) 2017 워크식스