네비게이션 바 내부 이벤트 아이콘이 존재한다.
해당 아이콘을 눌렀을 때 식물원의 이벤트 웹 페이지로 이동할 수 있도록 하는 웹 뷰를 구현하였다.
xml 창에는 다음과 같이 웹 뷰만 생성해주고, 나머지는 모두 java 창에서 구현한다.
<WebView
android:id="@+id/webView"
android:layout_width="240dp"
android:layout_height="240dp"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:gravity="center" />
java 창에서 가장 먼저 웹뷰를 선언해주고, 이동할 url을 String에 담는다.
private WebView webView;
private String url = "https://www.sbg.or.kr/event/event.html?bun=4";
아래 onCreate 메소드 안에 아래 코드를 추가해준다. 웹뷰를 띄울 수 있도록 설정해주는 코드이다.
webView = (WeView) findViewById(R.idwebView);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new ViewClientClass());
다음 코드는 웹뷰에서 뒤로가기를 누르면 꺼지도록 하는 소스이다.
해당 코드가 없어도 동작은 하지만 안정성을 위해 추가하였다.
//웹뷰 뒤로가기 누르면 꺼짐
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
java 클래스 최 하단에 해당 소스를 추가하여 url을 읽어올 수 있도록 하였다.
private class WebViewClientClass extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
마지막으로 AndroidMainfest.xml에 가서 인터넷을 허용해주는 문구를 추가해준다.
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
'상반기 > 프론트앤드' 카테고리의 다른 글
[Android Studio] Polyline (0) | 2021.06.05 |
---|---|
[Android Studio] Navigation View (0) | 2021.06.04 |
[Android Studio] Custom Marker (0) | 2021.06.03 |