액티비티는 시스템에서 관리하지만 프래그먼트는 액티비티위에 올라가있기때문에 훨씬 가볍게 화면전환 할 수 있다. 프래그먼트 간 통신 프래그먼트는 액티비티 위에서 동작한다. 하나의 액티비티 위에 여러개의 프래그먼트가 존재할때 프래그먼트 끼리 통신을 하고 싶을때는 무조건 액티비티를 거쳐서 통신해야 한다. 직접적으로 프래그먼트들끼리 통신이 불가능하다. 1.액티비티 -> 프래그먼트 통신 간단하다. 액티비티에서 프래그먼트의 참조를 findViewById를 통해서 얻은다음에, 그 프래그먼트의 public 메소드를 호출하면 된다. 2.프래그먼트 -> 액티비티 통신 약간 복잡하다. 마찬가지로, 프래그먼트에서 호스트 액티비티(프래그먼트가 올라가있는)의 메소드를 호출하면 된다. 근데, 프래그먼트 내부에 리스너 인터페이스를 정..
링크 1 링크2우선 위의 링크 2개를 반드시 읽어보고 아래 내용을 읽기를 추천한다. 굉장히 정리가 잘 되어 있다. 위의 블로그의 내용을 좀 더 쉽게 정리를 해보겠다. 먼저, 네비게이션 드로어가 무엇인지는 위의 2개의 블로그에서 상세히 설명했으므로 여기서는 생략한다. DrawerLayout이라는것은 폰 상단에 돼지바를 클릭했을때 옆에서 메뉴가 튀어나오는 안드로이드 머티리얼 디자인중 하나이다. 거의 요즘 이 기능을 사용하지 않는 앱이 없을 정도로 자주 사용 되기때문에 꼭 알아둬야 한다. DrawerLayout을 적용하는 방법에는 2가지가 있다.1. 핸드폰 왼쪽 -> 오른쪽 또는 오른쪽 -> 왼쪽으로 밀었을때 나오게 하는 방법.2. 휴대폰 상단 액션바에있는 돼지바(3개의 줄로 되어 있는 아이콘)를 클릭했을때 ..
DP - Density Indepence Pixel 원래는 DIP의 줄임말이 DP이다. DPI - Dot Per Inch1인치당 몇개의 점이 들어가는가?(해상도의 기준 단위)1인치 정사각형에 점이 많이 들어갈수록 해상도가 높은것이다. 안드로이드는 굉장히 개방적인 시스템이기 때문에, 다양한 디바이스가 존재하며 디바이스 별로 해상도가 모두 다르기 때문에 굉장히 다양한 해상도가 존재한다. 이 모든 기기에서 어떤 뷰의 크기를 일정하게 맞춰주게 하기 위해서 안드로이드에서는 DP = DIP 라는 밀도 독립 픽셀이라는 단위를 사용한다. 이 DP 단위를 사용하게 되면 갤럭시에서 사용하던 이미지뷰의 크기가 넥서스폰에서 사용하던 이미지뷰의 크기와 일치하게 만들어 줄 수 있다. 이미지 뷰의 가로 길이를 10dp라고 해보자...
onPreExecute()onProgressUpdate()onPostExecute()onCancelled()위에 나온 4개의 AsyncTask 콜백함수들은 메인쓰레드에서 실행된다. doInBackground()작업쓰레드가 실행되면 수행되는 이 핵심 콜백 함수는 작업 쓰레드에서 별도로 실행 되며, 중간중간 메인쓰레드에 업데이트된 내용을 화면에 출력하게끔 publishProgress()메소드를 호출한다.그럼 메인쓰레드에서 onProgressUpdate()콜백함수가 호출되어 화면에 현재 몇퍼센트 진행 되었다고 표시를 할 수 있게 된다. 메인쓰레드에서는 사용자 반응성이 중요하기 때문에 오래걸리는 작업을 처리하면 안된다. 오래걸리는 작업은 작업 쓰레드로 따로 분리하여 처리해야 한다. 원래 위의 AsyncTask가..
- Total
- Today
- Yesterday
- await
- typescript
- react
- useEffect
- react hooks
- async
- rendering scope
- mobx
- Action
- props
- return type
- promise
- design system
- state
- javascript
- Polyfill
- es6
- type alias
- computed
- atomic design
- useRef
- hydrate
- reactdom
- Next.js
- reducer
- reflow
- storybook
- webpack
- Babel
- server side rendering
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |