일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Android
- 안드로이드앱개발
- 대구카페
- 감성카페
- 범물동카페
- 코딩
- 코딩공부
- 안드로이드개발
- 수성구카페
- 대구핫플
- 지산동카페
- 대구맛집
- 안드로이드앱
- 인스타핫플
- androidstudio
- 동성로핫플
- 의무경찰
- 안드로이드
- 어플개발
- 대구인스타핫플
- 앱개발
- 동성로카페
- 범물동
- 수성구맛집
- 애드센스
- 개발자
- 파이썬
- 애드몹
- 안드로이드스튜디오
- 동성로맛집
- Today
- Total
Glacier's Daily Log
Android) 누구나 만들 수 있는 웹 어플리케이션 개발하기 3편 - WebView 구현하기 본문
Android) 누구나 만들 수 있는 웹 어플리케이션 개발하기 3편 - WebView 구현하기
h__glacier_ 2020. 5. 17. 12:18누구나 만들 수 있는 웹 어플리케이션 개발하기 3편
'WebView 구현하기'
2편에서 LinearLayout 의 기초를 배웠다면,
이제 그 레이아웃에 WebView를 넣어
완전한 앱의 형태를 갖추게끔 해 보겠다.
2편에서는, LinearLayout에 TextView로 글자를 넣어보는 연습을 했다.
하지만, 우리는 웹어플리케이션을 만들 것이고
TextView는 필요없으니 지운다.
그리고 그자리에 WebView를 넣어주자.
<WebView
android:id="@+id/WebView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
이제 놀랍게도 xml 디자인은 끝이다.
왜냐하면 우리는 실행하면 웹페이지가 나오는 어플리케이션을 만들기 때문에
웹뷰 하나면 끝난다.
이제 앱이 인터넷 접속 권한을 가질 수 있도록 Permission 설정을 해주자.
<uses-permission android:name="android.permission.INTERNET"/>
manifests -> AndroidManifest.xml 에 위 코드를 추가시켜주자.
그러면 이제 이 어플은 인터넷 접속을 할 수 있는 권한을 얻는다.
그럼 이제 Mainactivity.java 를 건드리러 가자.
자바 클래스 파일에서는, 본격적인 웹뷰의 작동을 코딩하는 것이다.
먼저,
private WebView mWeb = null;
WebView 변수를 선언해주자. 그럼 아래 이미지와 같이 WebView 킷을 import 하라고 뜰 것이다.
OK 를 눌러주자.
그리고 OnCreate 안에 findViewbyId를 이용해 WebView를 불러와주자.
mWeb = (WebView) findViewById(R.id.WebView1);
그리고 밑에
WebSettings set = mWeb.getSettings();
set.setJavaScriptEnabled(true);
set.setJavaScriptCanOpenWindowsAutomatically(true); // 자바스크립트 허용
set.setCacheMode(WebSettings.LOAD_DEFAULT); // 브라우저 캐시 허용
이와 같이, 웹뷰가 자바스크립트, 캐시를 허용 할 수 있도록 설정값을 준다.
이제 내가 원하는 Url을 입력해서, 그 사이트로 이동할 수 있게 해주어야 한다.
mWeb.loadUrl("https://glacier-han.github.io/AI_Similar_Man/Intro.html"); //웹뷰 시작시 이동할 페이지 설정
mWeb.setWebChromeClient(new WebChromeClient());
나는 닮은꼴 연예인 찾기 사이트 어플을 만들 것이기 떄문에, 저 Url을 넣은 것이다.
자신이 원하는 Url을 저 부분에 넣으면 웹어플 실행시 저 사이트로 이동한다.
그릐고 setWebChromeClient를 코딩하여 웹사이트에서 alert가 뜰 수 있도록 한다.
이까지만 하면, 온전한 웹 어플이 완성된다.
이까지의 전체 코드를 공유하겠다.
// https://h-glacier.tistory.com/
public class MainActivity extends AppCompatActivity {
private WebView mWeb = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWeb = (WebView) findViewById(R.id.WebView1);
WebSettings set = mWeb.getSettings();
set.setJavaScriptEnabled(true);
set.setJavaScriptCanOpenWindowsAutomatically(true);
set.setCacheMode(WebSettings.LOAD_DEFAULT);
set.setSupportMultipleWindows(true);
mWeb.loadUrl("https://glacier-han.github.io/AI_Similar_Man/Intro.html");
mWeb.setWebChromeClient(new WebChromeClient());
mWeb.setWebViewClient(new WebViewClient());
}
}
이렇게 매우 간단하고 몇줄 안되는 코드로 웹뷰를 구현할 수 있다.
하지만, 이는 완전 순수 웹뷰 어플이므로, 웹페이지의 기능에 따라 몇가지 기능을 더 추가하여야 한다.
내 닮은꼴 찾기 웹서비스는 카메라와 이미지 업로드 기능을 필요로 하기 때문에,
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
이 코드들을 추가할 것이다.
이렇게 3편, WebView 구현하기가 끝이 났다.
다음 4편에서는, 어플의 디자인, 즉 UI를 이쁘게 꾸미고, 어플을 완성하는 것 까지 포스팅 해 보겠다.
'Coding > Android Webview Project' 카테고리의 다른 글
Android) 누구나 만들 수 있는 웹 어플리케이션 개발하기 5편 - 앱 출시하기 (Google Play Console) (8) | 2020.07.19 |
---|---|
Android) 누구나 만들 수 있는 웹 어플리케이션 개발하기 4편 - 앱 UI 꾸미기 (3) | 2020.05.17 |
Android) 누구나 만들 수 있는 웹 어플리케이션 개발하기 2편 - 프로젝트 생성 및 LinearLayout 기초 (0) | 2020.05.17 |
Android) 누구나 만들 수 있는 웹 어플리케이션 개발하기 1편 - 안드로이드 스튜디오 설치하기 (5) | 2020.05.12 |