웹뷰 12

48. [안드로이드/java] WebView에서 한글 디코딩

웹뷰에서 location.href로 데이터 값을 받아오는데 한글 데이터가 넘어오는경우 영문과 숫자로 표시되기에 url을 한글로 디코딩하는 코드를 찾아봤습니다.public boolean shouldOverrideUrlLoading(WebView view, String url) { // 다음 코드를 추가하면 한글이 정상적으로 표시됩니다. try { url = URLDecoder.decode(url, "UTF-8"); } catch(Exception e) { }}

Android Studio/java 2022.09.23

47. [안드로이드/java] WebView에서 ProgressBar 만들기

웹뷰로 앱을 만들다가 상단에 페이지 로드 중인지 로드가 끝나는지 알려주는 Progress Bar를 만들고 싶어서 정리하게 되었습니다. 상단에 자세히 보면 초록색 바가 지나는 게 이걸 구현하고 싶었습니다. 그럼 코드에 대해서 알아보시죠 app > manifests > AndroidManifest.xml res > layout > activity_main.xml app > java > com.tistory.like-a-drizzle > MainActivity private ProgressBar progressBar;...@Override protected void onCreate(Bundle savedInstanceState) { ... private ProgressBar progressBa..

Android Studio/java 2022.03.02

46. [안드로이드/java] he minCompileSdk (31) specified in adependency's AAR metadat 에러처리

평소처럼 웹뷰 기반의 앱을 만들려고 간단한 웹뷰 코드를 넣고 컴파일을 시작하자 컴파일이 되지 않고 에러가 발생했습니다.One or more issues found when checking AAR metadata values:The minCompileSdk (31) specified in adependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)is greater than this module's compileSdkVersion (android-30).Dependency: androidx.appcompat:appcompat:1.4.1.AAR metadata file: C:\Users\user\.gradle\ca..

Android Studio/java 2022.03.02

38. [안드로이드/java] 안드로이드에서 클라이언트에 ajax 데이터 넘기기

웹뷰를 개발하다가 안드로이드에서 직접 웹뷰 쪽으로 ajax 통신을 통해서 데이터를 보내고 싶을 때가 있어서 찾아보고 정리했습니다. Volley를 사용하서 네트워크 데이터 전송 공식문서 https://developer.android.com/training/volley/simple 간단한 요청 보내기 | Android 개발자 | Android Developers 간단한 요청 보내기 고급 단계에서는 RequestQueue를 만들고 Request 객체를 전달하여 Volley를 사용합니다. RequestQueue는 네트워크 작업 실행, 캐시 읽고 쓰기 및 응답 파싱을 위해 작업자 스레드를 관리 developer.android.com 단계별 구별하기 1. Android Studio에서 새 프로젝트를 생성합니다. J..

Android Studio/java 2021.11.05

37. [안드로이드/java] webview와 web browser 구별하기

AdMob을 이용하여 보상형 광고를 구현하려는데 웹에서는 실행이 안됐으면 해서 찾아보고 내용을 정리해서 포스팅합니다. 모바일 브라우저로 접속한 유저는 걸러내고 앱으로 접속한 유저만 실행되게 할 생각입니다. Android Project 안드로이드 프로젝트에서 아래 코드를 입력합니다. JavaScript의 navigator.userAgent값을 가져와 기존 값에 " APP_WISHROOM_Andoroid"를 추가한것 뿐입니다. private WebView mWebView; ... mWebView = (WebView) findViewById(R.id.activity_main_webview); ... WebSettings webSettings = mWebView.getSettings(); String userA..

Android Studio/java 2021.10.28

23. [안드로이드/java] 웹뷰 shouldOverrideUrlLoading을 이용하여 프로그램 제어하기

shouldOverrideUrlLoading shouldOverrideUrlLoading을 이용하여 특정 url에서 프로그램을 제어하는 방법에 대해서 알아봅시다. shouldOverriedUrlLoading 메서드 안에서 특정 URL에서 특정 행동을 처리하는 경우 실행하고 시키고 싶은 코드를 작성하고 return값을 true로 지정하여 URL로드를 중단시키거나, return 값을 false로 반환하여 WebView가 평소와 같이 URL을 로드하게 할 수 있습니다. shouldOverriedUrlLoading 코드 @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { MyLog.i(TAG,"s..

Android Studio/java 2021.10.22

22. [안드로이드/java] 안드로이드 WebViewClient 사용하기

안드로이드 웹뷰에는 WebViewClient와 WebViewChromeClient가 있습니다. 웹뷰의 기능을 더욱 풍부하게 해주는 기능으로 하이브리드 앱을 개발하시는 분이라면 참고가 될 것 같습니다. WebViewClient WebViewClient에는 아래 코드와 같이 다양한 콜백 메서드를 활용할 수 있습니다. 더 많은 정보는 아래 사이트를 참고해 주세요. https://developer.android.com/reference/android/webkit/WebViewClient WebViewClient | Android Developers developer.android.com WebChromeClient 현재 페이지에서 일어나는 알림 등을 알려 주기 위한 콜백 인터페이스입니다. 더 많은 정보는 아래 ..

Android Studio/java 2021.10.21

08. [안드로이드/java] 웹뷰 안드로이드 <-> 자바스크립트 함수 호출(javascriptInterface 기능)

하이브리드 앱을 개발하다 보면 안드로이드에서 웹의 자바스크립트를 호출하거나 반대로 웹에서 안드로이드의 함수를 호출하고 싶은 경우가 발생합니다. 이럴 때 유용하게 사용할 수 있는 기능이 javascriptInterface기능입니다. 오늘은 이 기능의 예제코드를 작성해보겠습니다. Web -> Android 호출 1. JavaScript 작성 Web -> Android 함수호출 2. Android studio 코드 작성 핸들러 전역변수 추가 // Bridge handler 추가 private final Handler handler = new Handler(); OnCreate 내부에 브리지 명칭 추가 // Bridge 명칭 추가 mWebView.addJavascriptInterface(new AndroidBr..

Android Studio/java 2021.07.06

07. [안드로이드/java] 안드로이드 웹뷰(webview) 예제코드-2

예제 코드-2에서는 웹뷰에서 필요한 설정에 대해서 부가적으로 설명드리겠습니다. 예제 코드-1을 따라 하셨다면 화면을 띄우는 데는 크게 문제가 없을 겁니다. 하지만 이대로 사용한다면 몇 가지 문제가 발생합니다. 문제) 1. ULR이 http일 경우 웹뷰가 되지 않는 현상 2. 스마트폰 화면으로 가로/세로 모드로 변환하면 페이지가 다시 로드되는 현상 3. 안드로이드의 뒤로 가기 버튼을 누르면 앱이 바로 종료되는 현상(이전 페이지가 있으면 이전 페이지로 이동하는 것이 기댓값) 4. Alert이나 Confrim 같은 Popup창이 전혀 표시되지 않음 1. URL에 http 일 경우 "ERR CLEARTEXT NOT PERMITTED" 에러 발생 URL에서 https -> http로 수정해서 다시 빌드업해보면 다..

Android Studio/java 2021.07.06

06. [안드로이드/java] 안드로이드 웹뷰(webview) 예제코드-1

하이브리드 앱이라고 웹사이트를 APK로 파일로 감싸서 만드는 앱이 있습니다. 웹사이트를 앱으로 표시하는걸 웹뷰라고 하는데 웹뷰 만드는 예제를 작성해보겠습니다. 우선, 안드로이드 스튜디오에서 프로젝트를 생성합니다. 템플릿은 Empty Activity, 언어는 Java, Minimun SDK는 21 버전으로 선택했습니다. 1. app/src/main/AndroidManifest.xml 에 아래 코드를 입력합니다. 2. app/src/main/java/net/zeany/myapplication/MainActivity.java 에 아래 코드를 입력합니다. import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import androi..

Android Studio/java 2021.07.06