URLEncode를 통해 Jetpack Compose의 Navigation에서 매개변수에 URL을 전달하는 동안 발생한 오류 해결
2717 단어 AndroidKotlinJetpack Composetech
발생한 오류
Jetpack Compose에 Navigation을 설치해 화면을 옮길 때 URL을 사서 다음 화면에 넘겼는데 보통 URL을 매개 변수에 넘기면 이런 오류가 발생한다.
java.lang.IllegalArgumentException: Navigation destination that matches request NavDeepLinkRequest{ uri=https://hello...... } cannot be found in the navigation graph NavGraph(0x0) startDestination={Destination(0x142feed7) route=demo}
해당 코드navController.navigate(AppScreen.WebViewScreen.route + "/https://hello....")
이번엔 이걸 해결하자.해결책
이 문제를 해결하기 위해서는 다음과 같은 기술을 해야 한다.
val url = URLEncoder.encode(content.url, StandardCharsets.UTF_8.toString())
.....
navController.navigate(AppScreen.WebViewScreen.route + "/$url")
URL을 보낼 때 직접 전달하는 것이 아니라 인코딩해서 전달하면 오류를 없앨 수 있다.URL을 URL에 전달해야 한다면 인코딩을 해야 하기 때문에 이번에 해결되었습니다!
참고 자료
Reference
이 문제에 관하여(URLEncode를 통해 Jetpack Compose의 Navigation에서 매개변수에 URL을 전달하는 동안 발생한 오류 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/jobs/articles/a0a37079437705텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)