Android

문제 이유 안드로이드에서 다음과 같은 로그가 떨어지는 경우가 있다. java.lang.SecurityException: Permission denied (missing INTERNET permission?) 아래 문서를 참조하면 안드로이드는 인터넷에 접속하는 것을 일반 권한으로 설정하고 있다. https://developer.android.com/training/basics/network-ops/connecting 네트워크에 연결 | Android 개발자 | Android Developers 네트워크에 연결 애플리케이션에서 네트워크 작업을 실행하려면 매니페스트에 다음 권한을 포함해야 합니다. 참고: Internet과 ACCESS_NETWORK_STATE 권한은 모두 일반 권한입니다. 즉, 이러한 권한은 ..
안드로이드 웹뷰 디버깅 안드로이드 프로젝트에 웹뷰를 넣게 되면 직접 디버깅을 하기 매우 어려워진다. 로그를 직접 출력하는 것도 제한이 걸려서 어떤 곳에서 오류가 나는지 알 수 없다. 이를 위해 구글에서는 안드로이드 웹뷰를 Chrome을 사용해 디버깅 하는 방법을 제공한다. Chrome을 사용해 디버깅을 하기 위해서 몇가지 준비사항이 있다. 아래를 따라서 해보자. 디버깅 준비하기 1. 안드로이드 USB 디버깅을 활성화한다. USB를 통해 디버깅을 하기 위해서는 [설정 - 개발자 옵션 - USB 디버깅] 을 활성화 해주어야 한다. *이 글을 보는 사람은 개발자 옵션은 이미 활성화되어 있다고 가정한다. 2. Activity에서 WebView Debugging을 허용 하도록 변경 WebView.setWebCon..
개요 안드로이드를 개발하다보면 웹뷰를 쓸 일 이 생긴다. 최대한 안드로이드 컴포넌트로 뷰(View)를 개발하면 좋겠지만, 안드로이드 컴포넌트로 뷰를 개발할 경우 유연성이 떨어지게 된다. 물론 안드로이드 컴포넌트로도 유연성 있게 개발을 할 수 있지만, 이미 작성된 코드 내에서의 유연성이 생길 뿐이다. 이에 따라 유연성이 필요한 곳에서는 웹뷰를 쓰는 곳이 많다. 웹뷰를 사용하기 위해서는 Android와 Webview간 통신 방법을 알아야 한다. 이번 글에서는 브릿지를 만드는 방법에 대해 알아보고자 한다. 브릿지란? 브릿지란 안드로이드와 웹뷰의 통신을 위해 만들어지는 Javascript용 인터페이스이다. 웹뷰에서는 안드로이드의 메서드를 직접 호출하는 것이 불가능하기 때문에 '브릿지'라는 통로를 통해 호출해야 ..
환경세팅 안드로이드에서 Proto Datastore을 사용하기 위해서는 Type Safety를 위한 처리를 해주어야 하기 때문에 Preference Datastore보다 복잡하다. Gradle 파일 세팅 1. 모듈 수준의 gradle 파일에 플러그인을 추가한다. plugins { .. id("com.google.protobuf") version "0.8.17" } 2. 모듈 수준의 gradle에 라이브러리를 추가한다. 하나는 datastore 라이브러리이고 다른 하나는 protocol buffer을 위한 java 라이브러리이다. dependencies { .. implementation("androidx.datastore:datastore:1.0.0") implementation("com.google.p..
환경 세팅 Apollo GraphQL을 사용하기 위해서는 gradle에 설정과 GraphQL에서 사용할 수 있는 schema를 Apollo GraphQL을 사용해 받아올 수 있도록 하는 작업을 해야 한다. Gradle 파일 세팅 1. 모듈 수준의 Gradle에 plugin을 적용한다. plugins { .. id("com.apollographql.apollo3").version("3.1.0") } 2. 모듈 수준의 Gradle의 android 블록에 패키지 이름을 세팅한다. android { .. apollo { packageName.set("com.simpli.graphql") } } 3. 모듈 수준의 main 디렉토리에 graphql 디렉토리를 만든 후 2에서 설정한 패키지명의 폴더들을 만든다. 4...
Dev.Cho
'Android' 태그의 글 목록 (6 Page)