분류 전체보기
-
Coroutine - Cancellation and timeouts프로그래밍/Kotlin 2022. 5. 9. 19:51
https://kotlinlang.org/docs/coroutines-basics.html#structured-concurrency Canceling coroutine execution The launch function returns a Job that can be used to cancel the running coroutine: val job = launch { repeat(1000) { i -> println("job: I'm sleeping $i ...") delay(500L) } } delay(1300L) // delay a bit println("main: I'm tired of waiting!") job.cancel() // cancels the job job.join() // waits ..
-
R8로 난독화된 stack trace 를 Retrace 하기프로그래밍/Android 2022. 4. 12. 18:35
SDK Manager > cmdline-tools 설치 Mapping 파일 (proguard 빌드하면 나옴) 과 stack trace가 들어있는 txt 파일을 명령어에 입력한다. retrace path-to-mapping-file [path-to-stack-trace-file] [options] *retrace 위치 : ~/Library/Android/sdk/cmdline-tools/latest/bin/retrace mapping.txt stack_trace.txt * mapping.txt 위치 : ~/project/app/build/outputs/mapping/mapping.txt * stack_trace.txt 파일에 "at" 빠지면 복호화 안됨. https://developer.android.com..
-
클린 코드 - 점진적 개선프로그래밍/방법론 2021. 10. 21. 18:23
args 파싱 프로그램 Java시절 사용하던 main 함수의 args 배열 파라미터를 Args라는 인스턴스에 값을 저장하고 쿼리하는 내용의 프로그램을 작성해보자. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) try { val schema = "l,p#,d*" val args = arrayOf("-p", "10", "-d", "Hi", "-l", "true") val arg = Args(schema, args) val logging = arg.getB..
-
Large Screen - 태블릿(Large screen) 앱 품질프로그래밍/Android 2021. 9. 7. 20:52
태블릿(Large screen) 앱 품질 가능한한 직관적이고 잘 디자인된 UI를 제공하여 태블릿 사용자가 편리하게 사용하도록 한다. 모든 것을 다 지킬 순 없지만, 고객에게 최상의 상품을 제공하려면 가능한 최대로 이를 준수하는 것이 좋다. From tablets and Chromebooks to foldable devices. In addition, there's a great diversity of screen types and app display states. These checklists define minimum quality criteria and associated tests to help you assess the quality of your app. Some of these criteri..
-
Large Screen - SlidingPaneLayout카테고리 없음 2021. 9. 7. 20:12
SlidingPaneLayout 태블릿, 폴더블폰에서는 창(Pane) 두개를 나란히 표시. 소형 휴대전화에서는 창을 한번에 한 개만 표시하도록 자동 조정 가능. The SlidingPaneLayout component supports showing two panes side by side on larger devices and foldables. While automatically adapting to show only one pane at a time on smaller devices such as phones. 라지 스크린에서는 목록과 세부정보창이 함께 뜨지만 일반 단말에서는 한 창에 목록과 세부정보 창이 같이 뜬다. Large Screen Smaller devices Fold와 Tablet과 Gal..
-
Large screen - 다양한 화면 크기 지원프로그래밍/Android 2021. 9. 6. 23:38
아래는 하나의 APK에서 여러 크기 화면 지원하는 방법이다. 레이아웃 크기 조정이 허용되는 뷰 크기 사용 화면 구성에 따라 대체 UI 레이아웃 만들기 뷰에서 확장할 수 있는 비트맵 제공 This page shows you how to support different screen sizes with the following techniques: Use view dimensions that allow the layout to resize Create alternative UI layouts according to the screen configuration Provide bitmaps that can stretch with the views 유연한 레이아웃 만들기 (Create a flexible layou..
-
Large screen프로그래밍/Android 2021. 8. 31. 18:50
라지스크린(Large screen) 이란? 태블릿, 폴더블, 크롬북을 의미한다. Tablet, foldable phone, Chromebooks 자주 나오는 정의(Definition) Pixel densities: The pixel density is the number of pixels within a physical area of the screen and is referred to as dpi (dots per inch). Resolution: the total number of pixels on screen. Window: A Window is a rectangular area which has one view hierarchy. A window is basically like you think ..