[AndroidStudio] Unable to match the desired swap behavior 에러 해결하기
·
IDE/Android Studio
배경 안드로이드 프로젝트를 하던 중 retrofit에 접속하거나, 웹 뷰에 연결할 때 로그캣에서 다음과 같은 에러 메세지가 뜨고 네트워크 관련된 모든 것들이 실행조차 안되었습니다 🥲 OpenGLRenderer com.gogit.gogit_app E Unable to match the desired swap behavior. 해결하고자 구글링을 해보니 저랑은 너무 다른 상황들이었고, 글들이 많지 않았습니다. 하지만 찾은 글들에서 공통적으로 언급하는 것이 sdk문제라는 것을 알게되었습니다 해결 방법 저는 애뮬레이터를 새로 만드는 방법을 택했습니다. 아마 제가 사용하는 것들에 맞지 않게 너무 낮은 sdk로 설정해서 사용하고 있었던 것 같습니다... 이렇게 세팅하니 잘 돌아가더군요 🥲 저 에러 때문에 저는 며칠..
[AndroidStudio][FireBase] SHA-1 디지털 지문 발급받기 / zsh: permission denied: ./gradlew 해결
·
IDE/Android Studio
배경 https://firebase.google.com/docs/auth/android/github-auth?hl=ko Android에서 GitHub를 사용하여 인증하기 | Firebase Authentication Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 Android에서 GitHub를 사용하여 인증하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분 firebase.google.com 위 문서를 참고하여 깃허브 oauth 로그인을 구현하고자 하는데 제 애플리케이션에 SHA-1 등록을 하지 않아서 방법을 찾아보고 있었습니다 . . . 잘 알려진 방법인 터미널에 ./gradlew signingReport 를 입력하는 방법..
[Android Studio] 인텐트 알아보기
·
IDE/Android Studio
인텐트란 하나의 액티비티에서 다른 액티비티로 전환하기 위한 도구입니다. 인텐트를 사용하여 다른 액티비티에 전달해야 하는 값을 넘겨줄 수도 있습니다. 인텐트는 크게 명시적 인텐트와 암시적 인텐트가 있습니다. 명시적 인텐트 명시적 인텐는 어떤 액티비티로 넘어갈지 명확하게 아는 상태에서 사용합니다. 예를들어 MainActivity에서 버튼을 누르면 TargetActivity로 넘어가는 상황에서, 버튼을 누르면 무조건 TargetActivity 로 넘어가기 때문에 명시적 인텐트를 사용합니다. val intent = Intent(this, TargetActivity::class.java) startActivity(intent) Intent의 첫 번째 인자는 context, 두 번째 인자는 클래스 파일 입니다. s..
[AndroidStudio][Kotlin] Retrofit, 레트로핏으로 api 사용하기
·
IDE/Android Studio
Retrofit이란? Retrofit 은 서버와 클라이언트 간 http 통신을 위한 라이브러리입니다. 안드로이드에서 통신에 사용되는 코드들을 간편하게 사용할수 있게 하여 http요청과 JSON 형식의 데이터를 사용하는데 용이합니다. 레트로핏 사용 방법 mainfest 수정하기 레트로핏을 사용할 때 네트워크를 사용해야 하므로 위 코드를 mainfest에 적어 (uses-permition만) 네트워크 연결을 할 수 있게 합니다. build.gradle implementation 'com.squareup.retrofit2:retrofit:2.9.0' // 레트로핏 implementation 'com.squareup.retrofit2:converter-gson:2.9.0' // 역직렬화할 수 있게 build.g..
[AndroidStudio][Kotlin] WebView로 웹 페이지 안드로이드 앱으로 빌드하기
·
IDE/Android Studio
웹뷰는 웹 애플리케이션을 안드로이드 어플 내에서 보여주게 하는 webkit 입니다. html, css, js로 만든 웹 페이지를 마치 앱처럼 사용할 수 있습니다. WebView 추가 먼저 웹뷰를 사용하려면 인터넷에 관한 권한이 있어야 합니다. mainfest에서 인터넷 권한 설정과 clear text error를 방지하기 위해 속성을 true로 변경합니다. 레이아웃에서 웹 뷰 추가 레이아웃 파일에 웹 뷰를 추가합니다. 액티비티 파일에서 webview에서 보여줄 url을 설정합니다. val webView = findViewById(R.id.webview) webView.webViewClient = WebViewClient() webView.loadUrl("https://hulrud.tistory.com/"..
[AndroidStudio][Kotlin] 웹 뷰 에러 net::ERROR_CACHE_MISS,
·
IDE/Android Studio
run 했을 때 다음과 같은 에러가 난다면 mainfest에서 네트워크 설정을 해주셔야 합니다! net::ERROR_CACHE_MISS 위 에러는 웹 뷰 url을 로드하는데 네트워크 설정이 되어있지 않아 발생하는 오류입니다.
[AndroidStudio][Kotlin] EditText의 addTextChangedListener, TextWatcher, TextWatcherAdapter
·
IDE/Android Studio
안드로이드를 하다 보면 EditText의 값이 변경되었을 때 이벤트를 추가하고 싶은 경우가 있습니다. 이때 edittext의 addTextChangedListner를 사용하면 됩니다. addTextChangedListner val editText = findViewById(R.id.edittext) editText.addTextChangedListener(object : TextWatcher{ override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { TODO("Not yet implemented") } override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3:..
[AndroidStudio][Kotlin] 안드로이드 스튜디오 로컬 서버 연결 security 설정, localhost가 안되는 이유, UnknownServiceException
·
IDE/Android Studio
배경 스프링으로 API를 만들고, 로컬 서버를 열어서 레트로핏으로 get 요청을 보내보려고 했습니다. 근데 제대로 요청을 보내지 못하고 onFailure()가... t.toString() 로 무슨 에러인지 알아보았습니다. UnknownServiceException: CLEARTEXT communication to 10.0.2.2 not permitted by network security policy security 설정 챗gpt와 구글링을 통해 저 security 설정 문제임을 알게되었습니다. UnknownServiceException: CLEARTEXT communication to 10.0.2.2 not permitted by network security policy 위 에러 메세지는 네트워크 보..