액티비티에서 프래그먼트로, 또는 그 반대로 데이터를 주고 받을 수 있습니다. 액티비티에서 프래그먼트로 데이터를 전달할 때는 argument와 bundle을 이용합니다. 프래그먼트에서 액티비티로 데이터를 전달할 때는 리스너를 직접 구현해서 데이터 전달이 가능합니다. 1. 액티비티 -> 프래그먼트로 데이터 전달하기 우선 다음의 액티비티 XML 코드를 확인합니다. 액티비티 코틀린 파일을 확인합니다. 액티비티 생명주기에서 onCreate 부분에서 arguments와 bundle을 사용해서 데이터 값을 넣어주게 됩니다. bundle의 put 메소드를 이용해 원하는 데이터를 넣은 후, 프래그먼트의 arguments에 데이터가 들어간 bundle을 할당합니다. class FragmentActivity : AppCom..
프래그먼트를 만드는 방법은 두 가지가 있다고 설명했었습니다. XML을 통해서 만들거나 코딩을 통해서 동적으로 만드는 방법이 있었는데, 이번에는 동적으로 만드는 방법을 알아봅니다. 액티비티의 하위 뷰 중에서 버튼을 이용해 프래그먼트를 생성하고 없애는 방법입니다. 바로 코드를 확인해 봅니다. 아래 코드는 액티비티 XML 파일입니다. 버튼 2개를 만들어 주고, ID가 'empty'인 뷰 하나를 추가했습니다. 다음은 액티비티의 코틀린 파일입니다. class FragmentActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(..
프래그먼트에 대해 알아봅니다. 우선 프래그먼트가 등장하게된 배경에 대해 이해해 봅니다. 프래그먼트는 다음의 두 가지 문제로 인해 등장하게 되었습니다. 1. 액티비티가 가지고 있는 한계점 2. 안드로이드 디바이스의 다양성 안드로이드의 한 화면을 의미하는 액티비티는 여러 종류의 뷰를 포함할 경우, 화면이 한 없이 길어지고 복잡하게 됩니다. 단지 이미지나 버튼 한 두개 정도가 아니라, 하나의 액티비티에 정말 많은 종류의 하위 뷰가 존재한다면, 그만큼 관리포인트가 많아지고, 유지보수에 어려움을 겪을 수 있습니다. 안드로이드 디바이스는 모바일뿐만 아니라 태블릿, 안드로이드 TV 등 여러 사이즈가 존재할 수 있습니다. 이렇게 사이즈가 너무 다양하기에 기존 모바일 사이즈의 다양성을 해결하기 위해 DP 단위를 사용해도..
액티비티 여러 개가 불러오면, 스택 형태로 쌓이게 됩니다. 작업 관리, 즉 태스크를 액티비티 한 개로 이해하시면 수월합니다. 따라서 스택 형태로 태스크가 쌓이는데 이를 관리할 수 있습니다. 보통 자동적으로 잘 관리되므로 왠만하면 건드리지 않는 것이 좋습니다. 작업 관리가 꼬이면 화면이 넘어가지 않는 등 앱이 충돌할 수 있기 때문입니다. 작업 관리는 다음의 두 가지 방법으로 관리됩니다. 1. 런치 모드(Launch Mode): 액티비티가 켜지는 것을 자체 속성으로 가지고 있는 경우입니다. 2. 인텐트플래그(IntentFlag): 액티비티가 켜지는 방법을 직접 지시하는 경우입니다. 런치 모드는 다음의 4가지 종류로 나뉘게 됩니다. 1. 스탠다드 모드(Standard) 2. 싱글탑 모드(Single Top) ..
OSI 7계층에서 두 번째 계층인 데이터 링크 계층은 다음의 역할을 수행합니다. 1. 인접한 네트워크 노드들끼리 데이터를 전송하는 역할 2. 물리계층에서 발생하는 오류를 감지하고 수정하는 역할 데이터 링크 계층의 대표적인 프로토콜은 이더넷이며, 대표적인 장비는 스위치가 있습니다. 자주 사용되는 이더넷은 세컨드 버전입니다. 이더넷은 MAC 통신과 프로토콜 형식을 정의합니다. 이더넷 프레임의 구조는 다음과 같습니다. 프레엠블(Preamble): 실제 이더넷에 포함되지는 않으나, 이더넷 프레임의 시작과 동기화를 담당합니다. 목적지 주소: 목적지 MAC 주소입니다. 출발지 주소: 출발지 MAC 주소입니다. 타입: 캡슐화된 패킷의 프로토콜을 정의합니다. 데이터: 상위 계층의 데이터입니다. 46~1500바이트 크기..
인텐트에 대하여 알아봅시다. 인텐트는 '요청'이라고 이해하면 쉽습니다. 인텐트를 보낸다는 의미는 '요청을 보낸다'는 의미로 이해하면 좋습니다. 이러한 요청의 종류에는 두 가지가 있습니다. 1. 전달만 하는 요청 2. 전달한 후에 리턴을 받는 요청 전자는 인텐트A가 인텐트B에게 어떤 값이나 데이터만 전달하는 경우입니다. 후자는 전달과 더불어 처리된 결과 값을 받는 경우를 의미합니다. 인텐트의 종류에는 두 가지가 있습니다. 1. 명시적인 인텐트(Explicit Intent) 2. 묵시적인/암시적인 인텐트(Implicit Intent) 전자는 인텐트A가 인텐트B라는 정확한 대상에게 요청하는 경우입니다. 후자는 인텐트A가 전화거는 기능, 공유 기능, 인터넷 페이지 열기 등의 기능을 사용해서 정해지지 않은 여러 ..
- Total
- Today
- Yesterday
- android adapter
- 메소드 오버라이딩
- addView
- bmi 계산기 만들기
- RecyclerView
- 리스트뷰
- Bmi Calculator
- 자바스크립트 배열
- 미제사건
- 2021년 사건사고
- 선형 레이아웃
- 인텐트
- 안드로이드 프로젝트
- notifyDataSetChanged
- 리사이클러뷰
- 애드뷰
- tabLayout
- 탭레이아웃
- 2007년 사건사고
- 상대적 레이아웃
- view binding
- findViewById
- 안드로이드 스튜디오 에러
- 대한민국 미제사건
- 2019년 사건사고
- 안드로이드 앱 만들기
- lazy init
- 뷰 바인딩
- 안드로이드 어댑터
- ToDo List 앱 만들기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |