일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- livedata
- scroll
- textview
- Compose
- data
- DART
- drift
- LifeCycle
- 계측
- 앱
- Navigation
- 안드로이드
- CustomScrollView
- appbar
- textfield
- binding
- Dialog
- Coroutines
- viewmodel
- Kotlin
- android
- Button
- tabbar
- ScrollView
- TEST
- activity
- 앱바
- intent
- 테스트
- Flutter
- Today
- Total
목록안드로이드 (110)
Study Record

😶 개요 Fragment 사이의 데이터 전달은 Bundle 을 이용한다. Bundle 을 사용하면 key, value 값으로 데이터를 저장하면 해당 Fragment 에서 argmnent 변수로 Bundle 객체를 참고할 수 있다. Bundle 객체로 Fragment 로 데이터 전달하기 val bundle = Bundle().apply { this.putInt("test1", 3) this.putString("test2", "testtest") } StartFragment().apply { arguments = bundle } 전달받은 데이터 해당 Fragment 에서 확인하기 arguments?.getInt("test1") arguments?.getString("test2") 하지만 Bundle 객체를 ..
https://developer.android.com/codelabs/kotlin-android-training-add-navigation#8 Android Kotlin Fundamentals: 03.2 Define navigation paths | Android Developers Learn how to use Android Studio’s Navigation Editor to define the flows (navigation paths) through your app. You will understand how to implement an Up button, add an options menu, and create a navigation drawer for your app. developer.and..

😶 Navigation 개요 화면(Activity)전환을 할 때 항상 Activity 를 앱 내의 여러 콘텐츠를 탐색할 때(ex. 여러 fragment 를 탐색) 사용할 수 있는 Navigation Component가 있다. Navigation 에는 NavigationGraph , NavHost, NavController를 구성요소로 가지고 있다. Navigation Graph(탐색 그래프) 탐색 그래프는 앱 탐색의 가상 매핑정보가 있어 각 대상(Activity, Fragment 등)이 서로 관련되는 방식을 보여주는 XML 이다. NavHost 탐색 그래프에서 대상을 표시하는 빈 컨데이터로 NavHostFragment가 포함된다. Nav Controller NavController객체를 사용하면 NavH..

😶 Fragment Fragment 는 앱 화면에서 사용자와 상호작용할 수 있는 한 부분으로 ViewGroup 에 속한다. Activity 에 여러 개의 Fragment 가 존재할 수 있고 여러 개의 Activity 에 하나의 Fragment 를 재사용할 수 있다. 항상 Activity 내에서 호스팅 되어야 한다. 자체 생명 주기를 가지고 자체 입력 이벤트를 수신하며 Activity 실행 중 추가 및 삭제가 가능하다. Activity 가 관리하는 백 스택에도 Fragment 를 추가할 수 있다. (ex. 뒤로 가기 버튼을 누르면 액티비티가 종료하는 것이 아닌 이전 Fragment 가 나오는 경우) 😶 Fragment 수명주기 프래그먼트의 수명 주기는 왼쪽 그림과 같다. 그 중 최소한 구현해야 하는 수명 ..
😶 findViewById() vs Data binding View에 대한 접근을 얻기 위해 사용하는 함수인 findViewById()를 사용할 수 있다. val textView = findViewById(R.id.name_tv) findViewById() 함수가 작동되는 방식은 런타임 때 뷰 계층구조를 훑으면서 인자로 받은 id 값으로 알맞은 View를 찾아서 리턴해준다. 하나의 View를 연결할 때마다 findViewById() 함수를 사용하기 때문에 접근하려는 View 가 많아질수록 비용이 많이 든다. 또한, View 가 많지 않은 간단한 앱에서는 문제가 없지만 View 의 개수가 많아지고 계층 구조가 더 깊어지면 알맞은 View를 찾는데 시간이 오래 걸려 사용자의 앱 속도가 현저히 느려질 수 있다..

😶 ConstraintLayout ConstraintLayout 은 평면 보기 계층 구조가 있는 크로 복잡한 레이아웃을 만들 수 있는 ViewGroup 에 속한다. 하위 뷰들 간의 연결 또는 정렬(제약 조건) 이 존재하며, 뷰마다 하나 이상의 수평, 수직 제약 조건을 정의해야 한다. 😶 기본 ConstraintLayout 을 ViewGroup 으로 갖는 모든 View 는 수평, 수직 제약 조건을 하나씩 정의해야 한다. 제약 조건을 부여하는 방법은 app:layout_constraint[방향]_to[방향]Of 속성으로 값은 "parent" 혹은 같은 하위 요소의 id 값으로 한다. "parent" 는 부모 ConstraintLayout 를 의미한다.(즉, 오른쪽 끝, 왼쪽 끝, 맨 상단, 맨 하단) [방향..
View 에는 포커스(Focus) 를 가질 수 있는데 입력 포커스가 수정 가능한 텍스트 필드(EditText)로 이동하거나 이 필드에서 나가면 Android 에서는 이에 따라 입력 방법(ex. 터치 키보드)를 표시하거나 숨긴다. 사용자가 EditText 를 클릭하면 포커스가 옮겨가고 커서가 생기면서 키보드가 올라오는 것이 예시가 될 수 있다. 키보드를 올리고 내리거나 포커스를 조절하는 것을 코드로 제어하고 싶을 때가 있다. 주의해야 할 점은 강제로 키보드를 올리더라도 입력할 수 있는 뷰(ex. EditText)가 포커스를 가지지 않으면 사용자가 키보드로 입력하더라도 뷰(ex. EditText)에 적용되지 않는다. 따라서 키보드를 올리고 싶다면 입력 가능한 뷰에 포커스를 먼저 적용하고 키보드를 올려야 한다..

😶 EditText EditText 는 TextView 를 상속받고 있는 사용자의 입력을 받을 수 있는 View 이다. 기본적으로 TextView 를 상속받고 있어 텍스트 관련 스타일을 textSize, textColor, textStyle 등으로 지정할 수 있다. 😶 힌트가 설정된 경우 android:hint , android:textColorHint 속성으로 사용자에게 입력받기 전 힌트 텍스트를 보여줄 수 있다. android:hint 는 힌트 텍스트를, android:textColorHint 는 힌트 텍스트 색상을 결정한다. 😶 배경 설정 editText 의 배경은 android:background 속성으로 설정할 수 있다. 값이 "@null" 일 경우 배경이 없고, "#FF4f4f4f" 같이 단일..