분류 전체보기(80)
-
Pending Intent Basic
What is Pending Intent ?작업 실행을 지연할 수 있는 wrapperintent 캡슐화 가능 activity 시작 가능intent broadcast 가능service 시작 가능사용자 대신 다른 작업 수행 가능→ 의도를 다른 구성요소에 위임, 나중에 할 작업 예약 가능! Make Pending Intentval intent = Intent(context, MyActivity::class.java) val pendingIntent = PendingIntent.getActivity(context, requestCode, intent, flags) Pending Intent - FLAGFLAG_UPDATE_CURRENT : 현재 intent의 추가 데이터로 업데이트됨FLAG_CANCEL_CURR..
2023.07.25 -
Android Context
Context란?android 시스템에 대한 핸들, 참조리소스, 서비스, 어플리케이션별 정보에 대한 액세스 제공 Context가 여러개인 이유개발자가 필요에 따라 적절한 수준의 액세스 및 범위를 갖도록 하기 위함수명주기와 리소스를 효율적으로 관리하기 위함 Context의 종류→ no에 할당된 숫자의 의미 activity를 시작할 수 있으나 새로운 task를 생성해야함. 일반적으로 권장되지않으며, 좋은 방법 아님legal하나 실행중이 시스템의 기본 테마로 실행receiver가 null인 경우 허용됨. Context example리소스 접근val appName = context.getString(R.string.app_name) val textColor = context.getColor(R.color.tex..
2023.07.25 -
Compound View
CompoundView란?→ 비슷한 뷰를 반복해서 사용해야할 때 유용 Compound View 만들기 뷰만들기 기존 viewgroup 확장하는 사용자 지정 view class만들기public class CompoundListItem extends ConstraintLayout { public CompoundListItem(Context context) { this(context, null); } public CompoundListItem(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } } 커스텀 속성 정의 사용자 정의 속성 적용..... private TextView txtTitle, txtValue; private Im..
2023.07.25 -
Ktlint + detekt
Ktlint란?코틀린 표준 코드 스타일을 따르는 린터 Detekt란?code smell, 잠재적 성능 저하와 버그를 잡아주는 코드 정적 분석 도구 editorConfig 파일 수정 → 코드 스타일 작성시에 강제하도록 git-hooks 파일 완성 action yml 파일 완성(브라우저) master에서 develop따오기 develop에 이번 branch 합치기 .git/hooks/precommit 으로 추가 (*확장자 없어야됨)#!/bin/bash # Stash the current index to be used in the event of failure git stash -q --keep-index echo "Running Ktlint before git commit is committed" ./gra..
2023.07.25 -
Server Driven UI
Server Driven UI서버에서 제공하는 데이터를 사용해 기본 구성요소를 렌더링 할 수 있게 하는 방법 앱의 모든 레이아웃을 하드코딩 하는 대신, 서버에서 데이터를 가져와 런타임에 동적으로 UI를 생성함네이티브 구성 요소가 앱에서 직접 렌더링되므로 로드 시간 단축, 성능 향상 Pros-in-native성능 : 콘텐츠를 웹으로 로드하면 더 느림. 네이티브는 빠름~ UX : 네이티브는 플랫폼에 최적화되었으므로 당연히 더 좋음. 전체 앱에서 일관된 모양과 느낌을 제공할 수 있음보안 : 안전~ 웹은 당연히 데이터를 직접 받아서 로드하므로 보안 위협 있을 수 있음접근성 : 네이티브는 장애가 있는 사용자가 텍스트 → 음성 변환 같은거 사용할 수 있도록 지원함 How to get Server-Driven-UI?..
2023.07.25 -
Kotlin flow
Flow?비동기 및 스트림기반 데이터 처리를 위한 반응형 프로그래밍 모델을 제공. 네트워크 요청 / db쿼리 또는 ui이벤트와 같은 비동기 작업 처리 Kotlin flow basicProducer : 값을 비동기적으로 생성하는 함수 / 코루틴. emit()으로 방출Consumer : 흐름에서 방출된 값을 소비하는 함수 / 코루틴.Operator : flow에서 다른 작업을 변환, 필터링, 결합 Collector : flow에서 내보낸 값을 받아 처리하는 함수 Kotlin flow의 유형Cold Flow : flow builder사용. 값을 collect하시 전까지 생성xFlow val simpleFlow = flow { for (i in 1..3) { delay(1000) // pretend we're ..
2023.07.25