투케이2K

930. (Android/Java) Webview 웹뷰 evaluateJavascript 사용해 웹 로컬 스토리지 (Web LocalStorage) 데이터 저장 및 호출 수행 본문

Android

930. (Android/Java) Webview 웹뷰 evaluateJavascript 사용해 웹 로컬 스토리지 (Web LocalStorage) 데이터 저장 및 호출 수행

투케이2K 2025. 1. 6. 20:33

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin

- 개발 툴 : AndroidStudio

- 기술 구분 : Webview / evaluateJavascript / script

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------

try {

  // ----------------------------------------------
  // TODO [로컬 스토리지 데이터 삽입 Script 작성]
  // ----------------------------------------------
  String KEY = "NAME";
  String VALUE = "2K";

  String setScript = "window.localStorage.setItem('"+KEY+"', '"+VALUE+"');"; // TODO [로컬 스토리지 데이터 저장 수행]
  String getScript = "window.localStorage.getItem('"+String.valueOf("NAME")+"');"; // TODO [로컬 스토리지 데이터 호출]


  // ----------------------------------------------
  // TODO [웹뷰 Script 코드 추가 실시]
  // ----------------------------------------------
  main_webview.evaluateJavascript(setScript, null); // TODO [Set 저장]

  main_webview.evaluateJavascript(getScript, new ValueCallback<String>() { // TODO [Get 호출]
      @Override
      public void onReceiveValue(String value) {
          S_Log._W_("Webview :: onReceiveValue", new String[]{String.valueOf(value)});
      }
  });

}
catch (Exception e){
  e.printStackTrace();
}

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[결과 출력]
// --------------------------------------------------------------------------------------

W///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.A_Webview$5.onReceiveValue(A_Webview.java:1447)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: Webview :: onReceiveValue]
I/: ----------------------------------------------------
I/: [LOG :: "2K"]
W///===========//: ================================================

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

https://developer.android.com/reference/android/webkit/ValueCallback

// --------------------------------------------------------------------------------------
 
반응형
Comments