반응형 안드로이드18 [안드로이드] View.post() : 실행시점을 알아보자 면접에서 받은 질문이다. View의 post를 종종 사용하는데, 실행 시점이 어디인가.?? post의 존재조차 몰랐기 때문에, 당연히 제대로 대답하지 못했다. ㅋㄷ 쨌든... 실행 시점을 파악하기 전에 액티비티의 라이프 사이클은 다음과 같다. onCreate>onStart>onResume> Running 가장 기본적인 것... 엉엉 어떻게 답해는지 이젠 기억이 나질 않는다. View.post란 UI 스레드에서 비동기적으로 작업 실행할 수 있도록 예약한다. Runnable 객체를 인수로 받아서, run메서드를 UI 스레드에서 실행한다. 다음의 상황에서 사용한다. 1. UI 스레드에서 실행할 일이 있지만, 현재 메서드가 UI 스레드가 아닌 경우 thread { binding.buttonFirst.post{ .. 안드로이드 2023. 3. 29. [안드로이드] Thread간 통신 예제 - 실행 시간 표시 [안드로이드] Thread, Thread간 통신/ Handler, Looper의 개념 참고 1. 성빈랜드님 글 안드로이드 스레드에 대해 한 번에 알아보자 AndroidDeepDive #1 — thread, message, message queue, looper, handler sungbin.land 2. https://hungseong.tistory.com/26 [Android, Kotlin] 멀티 스레드 간 통신 developerpearl.tistory.com Thread, Handler, Looper에 대해서 알아보았는데, 이제 얘네를 직접 구현해보도록하겠습니다. 예제로는 버튼 Start를 누른 후부터의 시간 재는 기능으로 구현하겠습니다. 워커스레드 : Main Thread외에 추가된 Thread 구.. 안드로이드 2023. 3. 29. [안드로이드] Thread, Thread간 통신/ Handler, Looper의 개념 참고 1. 성빈랜드님 글 안드로이드 스레드에 대해 한 번에 알아보자 AndroidDeepDive #1 — thread, message, message queue, looper, handler sungbin.land 2. https://hungseong.tistory.com/26 [Android, Kotlin] 멀티 스레드 간 통신을 위한 Handler, Looper 안드로이드는 기본적으로 Main Thread (or UI Thread) 하나만으로 구성되는 Single Thread Model로써 동작한다. Single Thread Model의 2가지 원칙은 다음과 같다. 1. Main Thread를 Block 하지 말 것 2. Android UI ToolKit (Text hungseong.tistory.c.. 안드로이드 2023. 3. 21. [안드로이드] 2-2. WebView 웹뷰 - Javascript Interface(Kotlin) 참고자료 : https://developer.android.com/guide/webapps/webview?hl=ko WebView에서 웹 앱 빌드 | Android 개발자 | Android Developers WebView에서 웹 앱 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경 developer.android.com 1. Local HTML파일 불러오기 https://developerpearl.tistory.com/63 2. Javascript 인터페이스 테스트 WEBView에서 javascript를 사용해보자!! * 자바스크립트에 결합된 객체는 객체가 생성된 스레드가 아닌 다른 스레드에.. 안드로이드 2023. 3. 11. [안드로이드] 2-1. WebView 웹뷰 - 로컬 HTML불러오기 (Kotlin) 참고자료 : https://developer.android.com/guide/webapps/webview?hl=ko WebView에서 웹 앱 빌드 | Android 개발자 | Android Developers WebView에서 웹 앱 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경 developer.android.com 1. Local HTML파일 불러오기 2. Javascript 인터페이스 테스트 먼저, Test를 위해서 로컬 html을 불러와보자. ◆ 인앱 콘텐츠 로드(WebViewAssetLoader) 인터넷 대신 애플리케이션에 삽입되어 있는 웹기반 컨텐츠를 정적으로 컴파일할 수도 있다.. 안드로이드 2023. 3. 11. [안드로이드] 1. WebView 웹뷰- 띄우기 (Kotlin) 참고 : 안드로이드 developers https://developer.android.com/guide/webapps?hl=ko 웹 기반 콘텐츠 | Android 개발자 | Android Developers 웹 기반 콘텐츠 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 그림 1. 사용자에게 웹 콘텐츠를 제공할 수 있는 두 가지 방법은 기존 웹브라우저에서 제공하 developer.android.com ◇ 웹 컨텐츠 웹뷰 : UI를 더 세부적으로 제어할 수 있다. 웹페이지를 Layout에 표시할 수 있도록 해준다. public class WebView extends AbsoluteLayout implements ViewTreeObserver.OnGlobalFocusChange.. 안드로이드 2023. 3. 11. [안드로이드] Permission - 권한 허용 요청(requestPermissions)(feat. Kotlin) https://developerpearl.tistory.com/45 [안드로이드] Permission - 권한 확인하기(checkSelfPermission)(feat. Kotlin) 차근차근 가보자. 특정 기능을 실행시키기 위한 권한을 사용자가 이미 허용했는지 안했는지확인하는 방법에 대해서 알아보자. (본 단계 진행을 위해서는 Manifest에 권하는 권한에 대해 추가를 해 developerpearl.tistory.com 위 과정을 거쳐 권한 확인을 했다. 이제 권한을 요청해보자. requestPermissions public static void requestPermissions( @NonNull Activity activity, @NonNull String[] permissions, @IntRange.. 안드로이드 2023. 1. 27. [안드로이드] Permission - 권한 확인하기(checkSelfPermission)(feat. Kotlin) 차근차근 가보자. 특정 기능을 실행시키기 위한 권한을 사용자가 이미 허용했는지 안했는지확인하는 방법에 대해서 알아보자. (본 단계 진행을 위해서는 Manifest에 권하는 권한에 대해 추가를 해야한다.) 권한 확인 : checkSelfPermission public static int checkSelfPermission(@NonNull Context context, @NonNull String permission) ContextCompat.checkSelfPermission()메서드에 확인 원하는 권한 전달→ 권한 여부에 따라 PERMISSION_GRANTED(=0) PERMISSION_DENIED(=-1) 을 리턴한다. -- 권한 확인 private const val PERMISSION_WRITE_ST.. 안드로이드 2023. 1. 27. [Kotlin] CSV 파일 읽고 쓰기 참고 : https://www.baeldung.com/kotlin/csv-files 1. 개요 CSV 파일은 다목적으로 사용되는 data 형식이다. MS Excel, Google Sheet 등에서 활용된다. CSV파일은 쉽게 여러 작은 파일로 쪼개질 수 있고, 여러 파일을 하나의 파일로 합칠 수 있다. 이러한 특징은 병렬 처리를 가능하게 하여, data의 자동적인 수집을 쉽게 한다. 코틀린 언어는 함수형 프로그래밍에 중점을 뒀기 때문에, batch 코딩이 쉬워졌다. CSV 파일 읽고쓰는 방법 - 순수 Kotlin : flexibility가 가장 좋은듯. - kotlin-csv 라이브러리(기본라이브러리) : 매우 strict한 csv타입에 대해서는 사용할만함. - Apache CSV : one call로 .. 안드로이드 2023. 1. 15. [안드로이드] AlertDialog : yes, no창 띄우기. 확인창 띄우기, 알림창 띄우기!(Kotlin) 알림창 띄우기! 코드! // 저장소 경로 받앙괴. val path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).absolutePath // 여기서 MainActivity@this로 해주어야 한다는 점 잊지 말자 val alertDialog: AlertDialog? = MainActivity@ this.let { val builder = AlertDialog.Builder(it) builder.apply { setTitle(R.string.download_dialog_title) // 제목 설정 setMessage(R.string.download_dialog) // message 설정 // yes 버튼일 때.. 안드로이드 2023. 1. 14. [안드로이드] 안드로이드 스튜디오 : Git Push오류 발생 Invocation failed Unexpected end of file from server이 발생한다면..? 더보기 Invocation failed Unexpected end of file from server java.lang.RuntimeException: Invocation failed Unexpected end of file from server at git4idea.GitAppUtil.sendXmlRequest(GitAppUtil.java:30) at git4idea.http.GitAskPassApp.main(GitAskPassApp.java:58) Caused by: java.net.SocketException: Unexpected end of file from server at java... 안드로이드 2022. 11. 21. [안드로이드] mobile navigation : popUpTo, popUpToInclusive, 이전 Fragment 중복 안되게 설정 상세내역 화면 → 편집 → (편집완료) → 상세내역 화면(편집된 내용으로) 과 같은 기능 구현에 있다. navigation은 아래와 같다. 문제는 편집을 끝내고 돌아와도 이전 fragment가 stack에 그대로 남아 있다는 것이다. 상세내역 화면 → 편집 → (편집완료) → 상세내역 화면(편집된 내용으로) 편집이 완료된 시점에서 상세화면 2로 넘어가고, 상세화면1과 편집화면을 stack에서 날려야한다. 이 때, 편집화면 → 상세화면 으로의 action에서 0. popUpTo : 상세화면으로 설정. 현재 action이 발생하는 fragment가 stack에서 제거된다. 1. popUpToInclusive : false로 설정 popUpTo : 상세화면으로 설정 2. popUpToInclusive : tr.. 안드로이드 2022. 11. 18. 이전 1 2 다음 반응형