안드로이드(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] 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] camera, gallery URI 확인 및 주의할 점안드로이드(kotlin)/기능 관련 2022. 4. 12. 17:39
버전업 되고 나서 stoage 부분은 처음 만져봤는데 좀 많이 헤맸기 때문에 까먹지 않기 위해 남깁니다. URI(Uniform Resource Identifier)란? - 특정 리소스를 식별하는 통합 자원 식별자를 의미 웹 뿐만 아니라 안드로이드에서도 URI 를 이용하며 이를 이용해 카메라 또는 갤러리 등 에서 선택한 항목을 다룹니다. 안드로이드 storage 정책 변경으로 인해 10 버전 이상에서는 기존처럼 external 로 접근하는 방식이 아니고 ScopeStorage 정책을 적용해야 합니다. 카메라 촬영 카메라는 camerax 를 이용했으며 촬영한 이미지의 URI 도 확인할 수 있습니다. 코드는 아래와 같습니다. val timeStamp: String = SimpleDateFormat(Common..
-
[안드로이드 kotlin] retrofit 으로 내용이 비어있는 jsonoObject 요청 보내기안드로이드(kotlin)/기능 관련 2021. 12. 12. 14:58
retrofit 을 이용해서 서버와 통신 작업을 하는데 서버 개발자가 전달해준 API 명세서에 요청 항목의 내용이 비어있었습니다. 요청 내용이 없으므로 @Body 를 쓰지 않고 @POST request 하였습니다. 이렇게 보내니까 서버에서 응답은 왔으나 400번 코드를 보내왔습니다. 뭐가 문제인가 싶어서 postman 으로 body 내용을 비우고 URL 로 요청을 보냈으나 아래처럼 에러 메세지를 출력했습니다. body 를 비우고 보낸게 문제인가 싶어서 {} 를 붙여 보니까 제대로 된 응답이 나타나네요. request 할 때 비어있는 jsonobject 만 요청하려면 어떻게 해야할지를 찾아보았습니다. 여러가지 검색해보니 아래 내용을 새로운 클래스에 담아서 @Body 에 적용해주면 될 것 같습니다. clas..
-
[안드로이드 kotlin] 소프트 키보드 내리기(activity, custom dialog)안드로이드(kotlin)/기능 관련 2021. 5. 4. 09:59
EditText 를 사용하면 소프트 키보드를 이용하게 되는데 EditText 외에 다른곳을 누르면 소프트 키보드가 내려가도록 하려고 합니다. 코드는 간단합니다. 아래처럼 몇 줄만 넣으면 되죠. 1 2 3 4 5 6 @Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); return true; } Colored by Color Scripter cs 자바 코드 1 2 3 4..
-
[안드로이드 kotlin] 토스트 메시지 사용하기안드로이드(kotlin)/기능 관련 2020. 1. 4. 16:16
토스트 메시지에 대해서 정리해보려고 합니다. 사용자에게 간단하게 정보를 보여주기 위해서 종종 사용되는 기능입니다. 토스트 메시지는 기본 토스트 메시지와 커스텀 메시지로 보여줄 수 있습니다. 소스를 보고싶으신 분들은 아래 주소에서 확인하실 수 있습니다. 완성된 소스 : https://github.com/dailyshow/kotlinToast.git 기본 토스트 메시지 사용 방법 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Colored by Color Scripter cs 1 2 3 4 5 6 7 8 9 10 11 12 class MainActivity : AppCompa..
-
[안드로이드 kotlin] MediaPlayer 와 SoundPool안드로이드(kotlin)/기능 관련 2019. 12. 19. 17:45
간단한 연습 겸 실로폰앱을 만들었습니다. MediaPlayer 를 쓰면 될 줄 알았더니 다 만들고 테스트해보니 몇 가지 에러를 마주쳤네요. 첫 번째 문제) view must have a tag 가 나타남 두 번째 문제) 로딩 되고 버튼을 누르면 소리가 안나다가 한 번 멈춰야만 그동안 눌렸던 버튼들 소리가 한번에 다 남 세 번째 문제) 몇 번 누르면 더이상 소리가 재생되지 않음 이렇게 3가지 문제점을 마주쳤었습니다. 첫 번째 문제는 databinding 을 사용했었는데 거기에 빼먹은것이 있어서 나타났던 문제였습니다. 안에 를 넣고 내용을 넣지 않았더니 나타났었습니다. 내용을 추가해주니 에러가 더이상 나타나지 않네요. 두 번째 문제와 세 번째 문제는 MediaPlayer 를 사용했던것이 문제였습니다. 이전에..