본문 바로가기
안드로이드

웹사이트 웹뷰로 안드로이드 어플 만들기(feat. https 하얀 페이지 뜰 때 해결 방법, 타이틀바 없애기)

by 어쩌다개발 2023. 5. 6.
반응형

1. https://developer.android.com/studio 에서 안드로이드 스튜디오를 다운받아서 설치한다.

Download Android Studio & App Tools - Android Developers

Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.

developer.android.com

2. 안드로이드 스튜디오 실행  > Projects > New Project

3. Phone and Tablet 선택 > Empty Activity 선택 > Next 버튼

4. 프로젝트명 입력 및 경로 등 설정

5. AndroidMainifest.xml에 인터넷 권한을 넣어준다.

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

6. res > layout > activity_main.xml 파일 선택 > 우측 상단 Code 버튼 클릭 > 아래 코드로 수정

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

7. 아래와 같이 넣어주고, 우측 상단에서 실행버튼을 눌러 에뮬레이터를 실행해준다.


!! error) 만약 https(ssl)을 적용해준 사이트라면 실행 시 하얀 화면이 뜰 수 있는데, 이 때는 아래와 같이 작업을 해준다.
(참고. https://onedaycodeing.tistory.com/23)

1) sslWebViewConnect.java 파일을 생성해준 뒤, 아래 코드를 넣어준다.

import android.net.http.SslError;
import android.webkit.SslErrorHandler;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class SslWebViewConnect extends WebViewClient {

    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        handler.proceed(); // SSL 에러가 발생해도 계속 진행!
    }

    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;//응용프로그램이 직접 url를 처리함
    }
}

2) MainActivity.java 파일에 아래 코드를 넣어준 뒤 다시 실행시켜본다.

webView.setWebViewClient(new SslWebViewConnect());

추가) 위 방법으로 하니 구글 플레이 콘솔에 배포했을 때 경고가 뜬다.

그래서 SSL 관련 파일과 선언은 지우고, AndoroidManifest.xml 파일에 아래 코드를 넣는걸로 해결했다.

android:usesCleartextTraffic="true"

8. 아래와 같이 어플이 뜨는걸 확인할 수 있는데 보라색 타이틀바가 거슬린다. 

9. AndroidManifest.xml을 보면 android:theme라고 해서 적혀있는 부분이 있는데, 기존 내용(노란색)을 삭제하고 아래 내용을 넣어준다.

android:theme="@style/Theme.AppCompat.NoActionBar"

10. 타이틀바가 사라졌다.

뽀모도로 타이머(Pomodoro Timer) - Google Play 앱

뽀모도로(Pomodoro)공부법은 단시간 집중력 향상을 위한 자기주도 학습법입니다.

play.google.com

 

조상님LOTTO - Google Play 앱

무료로 로또 당첨 확률을 높일 수 있습니다.

play.google.com

반응형

댓글