마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

(초보) 메인 액티비티에서 웹뷰를 추가하려고 합니다

0 추천

이제 갓 안드로이드 인턴으로 일을 시작했습니다 ㅠㅠ 시작하자말자 벽에 부딛히네요


의도 : 기존 개발자님이 만들어두신 코드가 있는 상태에서 webview를 띄울려고 합니다

@Override // android.app.Activity
    protected void onCreate(Bundle bundle) {
       
                           .........

        getIntent().putExtra("unity", updateUnityCommandLineArguments(getIntent().getStringExtra("unity")));
        UnityPlayer unityPlayer = new UnityPlayer(this, this);
        this.mUnityPlayer = unityPlayer;
        setContentView(unityPlayer);
        this.mUnityPlayer.requestFocus();
     
        //(아래는 제가 추가한 코드 : 웹으로 공지사항글을 띄울려고함)   
        this.webView = new android.webkit.WebView(this);
        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.addView(this.webView);
        setContentView(linearLayout);
        this.webView.loadUrl("http://www.naver.com");
    }

문제점 : 

setContentView(unityPlayer);

setContentView(linearLayout);

이렇게 쓰면 안되는걸 알았지만... 어떻게 해서 해결 해야할지를 경험이 없다보니 잘모르겠습니다 ㅠㅠ


질문 : 

1) setContentView(unityPlayer); 이 기존 코드를 유지하면서, 새로운 웹뷰창을 띄우고 싶은데 조언 해주실수있을지요.....

 

2) 앱이 실행(oncreate) 될 때, 유니티게임과 웹뷰가 동시에 실행되게끔 작업중입니다!  


 

추가로 현재 상태에서, xml이나 새로운 .java파일을 만들지 않고, 메인 액티비티에서 웹뷰창을 띄우는 조건으로 개발중입니다!

사수님께서 그렇게 만들어 보라고 하셔서... 방법을 찾는 중인데 검색방법이 잘못되었는지 정보를 얻기가 어렵네요 ㅠㅠ

 

아직 초보라서 조언주실때 조금만 상세하게 부탁드리겠습니다...!!

맛스트로 (120 포인트) 님이 2023년 2월 4일 질문
맛스트로님이 2023년 2월 4일 수정

1개의 답변

0 추천
제일 간단한 방법은 띄우려는 WebView를 별도의 액티비티로 만들어 여는 것 같습니다. 올리신 웹뷰를 보여주는 코드를 이 액티비티에서 하시면 될 것 같네요.

공지사항이 있을 때 먼저 공지사항 액티비티를 먼저 보여주고 공지사항을 닫으면 UnityPlayer가 있는 기존 액티비티를 여셔도 될 것 같습니다. 요구사항에 따라서는 이 방법이 더 선호하는 방법일 수도 있을 것 같네요.

공지사항이 없거나 이미 확인했을 때는 공지사항을 보여줄 필요가 없으므로, 이 부분에 대한 처리가 필요할 것 같네요.

액티비티를 AndroidManifest.xml에 추가하는 것과 Intent를 통해 여는 것, finish로 닫는 것, 그리고 모달 형태로 응답 값을 구할 때는 startForActivityResult 또는  최근에 추가된 API를 통해 처리하시는 것은 초보 개발자라도 아는 내용이니 코드를 작성하지는 않겠습니다. (https://developer.android.com/training/basics/intents/result 참조)
spark (227,830 포인트) 님이 2023년 2월 4일 답변
자세한 답변 감사합니다! 조언 기반으로 찾아보고 해보겠습니다 ㅎㅎ
...