안드로이드(kotlin)
-
[안드로이드 kotlin] NFC 기본 내용 정리안드로이드(kotlin)/기능 관련 2023. 7. 12. 09:32
android 단말기간에 데이터 전송을 p2p(peer-to-peer) 로 해야할 일이 생겨서 갑자기 내용을 찾아봤었는데 까먹기 전에 정리해두려고합니다. p2p 구성이 가능한 무선 통신 방법은 아래 항목들을 찾았습니다. - wifi - bluetooth - NFC - wifi-direct - nearby connections 근거리에서 사용 가능해야함, 무선 인터넷 연결 없이도 되어야 함, 추후에 iOS 와도 연동할 수 있어야 함 등의 이유로 NFC 를 사용하기로 하였습니다. NFC 를 사용하기 위해서 기본적인 개념들을 좀 찾아봤습니다. 내용은 안드로이드 디벨로퍼, 유튜브, 블로그 등에서 참조 하였습니다. •NFC 원리. : 스마트폰 내에 코일처럼 꼬아진 작은 안테나가 있는데 이 안테나가 결제 단말기 근..
-
[안드로이드 kotlin] image not loaded try to open it externally to fix format problem안드로이드(kotlin)/에러 관련 2023. 7. 10. 11:48
image not loaded try to open it externally to fix format problem 이미지 파일을 받은 후 확장자를 수정하고 안드로이드 스튜디오에서 열었는데 위와같은 에러가 나타납니다. 그동안 이미지 파일들을 복사 붙여넣기로 많이 사용했었는데 뭔가 이상한게 나타나네요. 위와 같은 에러가 나타난 이유를 찾아보니 기존 원본에서 단순히 확장자만 변경해서 나타난 문제였습니다. 확장자명만 변경한다고 해서 포맷형식이 달라지는건 아니라고 하네요. 아이폰에서 촬영한 사진의 확장자를 png 로 변경한걸 안드로이드 스튜디오에서 복사 붙여넣기 한 후 사용하려고 했었습니다. 원본의 확장자는 heic 였습니다. 변경툴을 쓰기 귀찮아서 카톡으로 사진을 전송하고 다운 받으면 jpeg 로 변경 되기 ..
-
[안드로이드] com.android.builder.errors.EvalIssueException: Android Gradle plugin requires Java 17 to run. You are currently using Java 11.안드로이드(kotlin)/에러 관련 2023. 5. 17. 13:23
com.android.builder.errors.EvalIssueException: Android Gradle plugin requires Java 17 to run. You are currently using Java 11. 안드로이드 스튜디오를 Flamingo 로 업데이트 하고 그동안은 flutter 만 작업 하다가 오랜만에 안드로이드를 작업할 일이 있어서 프로젝트를 생성해서 디버깅하려고 빌드했는데 위와같은 에러가 나타났습니다. gradle plugin 버전을 맞춰줘야 하는 문제입니다. 업데이트 하면서 17버전 이상으로 맞춰주도록 요구하네요. 버전 정보는 settings 에서 변경할 수 있습니다. 1. settings 선택 2. Build, Execution, Deployment -> Build To..
-
[안드로이드 kotlin] Protected Shared Preferences 와 Shared Preferences 가 다른건가?안드로이드(kotlin)/기능 관련 2023. 4. 24. 21:05
Protected Shared Preferences 와 Shared Preferences 가 다른건가? 다르다면 어떻게 다른거지? 보안성이 좀 더 좋은거는 아는데... 그냥 막연하게 다르다고만 알고 사용했었는데 뭐가 다른지 궁금해졌습니다. 먼저, SharedPreferences는 간단한 키-값 쌍을 저장하기 위한 안드로이드의 내부 저장소입니다. SharedPreferences는 앱의 모든 컴포넌트에서 접근 가능하며, 앱을 삭제하거나 데이터를 삭제하기 전까지 지속적으로 유지됩니다. 하지만, SharedPreferences는 파일 시스템에 평문으로 저장되기 때문에, 앱의 데이터 보안에 취약할 수 있습니다. Protected Shared Preferences는 SharedPreferences의 확장 버전으로,..
-
[안드로이드 kotlin] webview 버튼 선택시 외부 브라우저가 실행되지 않도록 하기안드로이드(kotlin)/기능 관련 2022. 9. 23. 11:18
웹뷰에서 링크 건 버튼 선택시 내부 웹뷰에서 열리는게 아니라 외부 크롬 브라우저가 열리는 증상이 있었습니다. 그래서 외부 브라우저가 아닌 웹뷰에서 실행하기 위해서는 웹뷰의 webViewClient 를 수정해줘야 한다고 하네요. web.webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading( view: WebView?, request: WebResourceRequest? ): Boolean { return false } } 이렇게 적용하면 외부 브라우저에서 실행되지 않고 웹뷰에서 잘 나타납니다.
-
[안드로이드 kotlin] webview 에 팝업 나타나게 하기안드로이드(kotlin)/UI 2022. 9. 19. 12:00
webview 작업을 하는데 웹브라우저에서는 잘 나타나는 popup 이 webview 에서는 안나타나는 증상이 있어습니다. 왜 이런건가 알아보니까 WebChromeClient 를 추가해줘야 popup 이 나타난다고 하네요. onCreate 메서드 안에 아래 코드를 추가하니까 popup 이 잘 나타납니다. val chromeClient = WebChromeClient() 만약 웹브라우저에서 만든 popup 외에 안드로이드에서 직접 만들어서 표시하고싶은 경우에는 WebChromeClient 를 상속 받아서 직접 구현하면 됩니다. class MyWebChromeClient: WebChromeClient() { override fun onCreateWindow( view: WebView?, isDialog: B..
-
[안드로이드 kotlin] webview 로그 확인하기안드로이드(kotlin)/에러 관련 2022. 9. 15. 13:29
웹뷰를 이용해서 웹 페이지 화면을 띄울일이 생겼습니다. 화면에 있는 버튼을 누르면 팝업이 나타나도록 하는건데 두 가지 이상 증상이 나타났습니다. 해결해야할 문제 2가지 1. 버튼을 눌렀는데도 팝업창이 나타나지 않는 문제 2. 팝업이 나타나면 뒷 배경이 불투명하게 나타나야 하는데 불투명해지지 않는 문제 뭐가 문제인지 확인하기 위해 로그로 봐야하는데 안드로이드스튜디오에서 확인해볼 수 있는 로그는 한정적이어서 실제 화면의 어느부분이 문제인지 확인할 수 있는게 있는지 찾아봤습니다. 웹뷰를 사용할 때 크롬에서 로그를 확인할 수 있는 방법이 있네요. WebView.setWebContentsDebuggingEnabled(true) onCreate() 메서드 안에서 위의 코드가 실행되도록 추가해놓고 usb 연결해놓은 ..
-
[안드로이드 kotlin] Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.안드로이드(kotlin)/에러 관련 2022. 8. 30. 14:19
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. NFC 기능을 추가한 후 기기 테스트중에 위와같은 에러가 나타났습니다. 안드로이드 11버전까지는 이상없이 잘 되었었는데 안드로이드 12 버전기기부터 에러가 나타나네요. 문제가 나타난 부분은 NFC 에 추가한 내용중 PendingIntent 때문이었습니다. nfcPendingIntent = PendingIntent.getActivity( this, 0, Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0..