
NavgationDrawer은 화면의 좌측 상단의 아이콘을 클릭했을 때, 바로가기 메뉴 등이 나타나도록 할 수 있는 화면이다. 프로젝트를 생성할 때, 해당 액티비티를 선택하여 생성하는 것 또한 가능하다. 프로젝트를 생성하고나서 activity_main.xml을 열어보면 아래와 같이 app_bar_main.xml 레이아웃 파일이 임포트되어 있고, 그 아래에 NavigationView 태그가 작성이 되어있다. ◎activity_main.xml NavigationView객체를 보면, headerLayout과 menu 속성이 존재하는데 이는 각각 바로가기 메뉴 상단과 그 아래 표시될 메뉴를 나타낸다. ◎app_bar_main.xml app_bar_main.xml 파일이 실질적인 메인화면 역할을 하는 레이아웃 파..

View pager2는 손가락으로 좌우 스크롤하여 넘겨볼 수 있는 기능을 제공한다. (책에서는 View pager를 사용하지만, API 27 기준으로 deprecated됐기 때문에 View pager2를 사용하도록 하겠다) 내부에 프래그먼트를 삽입하면, 뷰페이져는 어뎁터라는 객체와 상호작용하여 이 어뎁터가 삽입한 프래그먼트 중 하나를 사용자에게 보여주는 방식이다. 바로 한번 코드를 확인해보자. ◎activity_main.xml 우선 메인 액티비티에 ViewPager2를 위와 같이 추가한다. 이MainActivity.java 클래스에서는 FragmentStateAdapter 클래스를 상속받는 내부 클래스를 하나 생성하고, 그 생성자 메서드는 FragmentActivity를 받도록 작성한다. 이후에 Frag..

하단 탭은 액션바로 구성했던 상단 탭과는 달리 네비게이션 바를 사용하여 구성하며, BottomNavigationView 위젯으로 만들 수 있다. 바로 예제를 확인해보자. 하단 탭은 res/menu 디렉토리 안에 menu_botton.xml 레이아웃 파일을 새로 생성하여 만든다. ◎ res/menu/menu_botton.xml 다음으로 activity_main.xml 에서 BottomNavigationView 위젯을 FrameLayout 하단에 배치한다. ◎activity_main.xml BottomNavigationView의 menu 속성에 menu/menu_layout.xml 파일을 넣어준다. ◎MainActivity.java package com.example.samplebottomtab; impor..

Android의 탭은 네비게이션 위젯이라고 불리기도 하며, 상답 탭과 하단 탭으로 구분한다. 상단 탭의 경우에는 직전 포스팅에서 다뤘던 액션바에 탭 기능을 넣어 보여주는 방법으로 제공되며, 하단 탭은 별도의 위젯으로 제공된다. 바로 한번 간단한 탭을 만드는 예제를 확인해보자. 우선, 상단바 레이아웃을 구성하기 위해 activity_main.xml의 파레트에서 appBarLayout 을 끌어와야한다. AppBarLayout을 가져오면, 대략적인 xml 소스의 태그 구성은 다음과 같이 구성이 된다. : AppBarLayout을 감싸는 레이아웃 : 상단 액션바 : 탭 주변에 놓이는 툴바 : 각 탭을 나열할 탭 부분 ◎activity_main.xml 각 탭을 클릭하면 아래 쪽에 화면이 변경되도록 구성할 것이기 ..

TCP 프로토콜은 신뢰할 수 있고 정확한 데이터를 전달하기 위해 연결형 통신을 사용하는 프로토콜이다. 또한 데이터를 패킷으로 분할하여 전송하고, 패킷 전송 과정을 연결형 통신 방식으로 제어하며, 수신한 패킷들을 재조립하는 방식으로 데이터 전송의 정확성과 신뢰성을 확보하고 있다. ▶TCP Header ▷ Source/Destination Port # : 각 호스트에 있는 응용 프로그램의 포트 번호 ▷ Sequence # : Segment Stream의 첫번째 Byte 번호, 송신되어지는 data의 순서를 구분하기 위해 사용 ▷ ACK #: 더보기 성공적으로 수신한 마지막 byte 번호 + 1이다. NACK가 없다 -> 누적 ACK를 이용한다. ▷ 헤더 길이 : TCP 헤더의 길이, 옵션부분이 가변이므로 헤..

UDP는 TCP와는 달리 비연결 프로토콜로서 상대방이 보낸 응답을 확인하지 않으며, 송신 시스템이 전송하는 데이터에 대한 목적지 시스템의 확인 절차가 생략되므로 네트워크에 부하를 걸지 않는 장점이 있다. 또한 데이터 자체의 신뢰성이 없으므로 수신된 데이터의 무결성을 보장받지 못한다. - UDP의 특징 • 비연결 지향형 • 네트워크 부하 감소 • 비신뢰성 • 전송된 데이터의 일부 손실 가능 ▶UDP Header ▷ Source/Destination Port #: 각 호스트에 있는 응용 프로그램의 포트 번호 ▷ UDP Datagram Length: 헤더와 데이터를 합한 사용자 데이터그램의 전체 길이 ▷ Checksum: 헤더와 데이터를 모두 포함한 사용자 데이터그램 전체에 대해 오류를 탐지하기 위해 사용됩니..

IPv4 프로토콜은 가장 대표적인 네트워크 계층의 프로토콜이며, 하위 계층의 서비스를 이용하여 두 노드 간 데이터 전송 경로를 확립하기 위해 사용한다. ▶IPv4 Header ▷ version: 인터넷 프로토콜 버전으로 IPv4는 4, IPv6은 6 ▷ Header length: 더보기 IP 프로토콜 헤더의 길이 (word 단위) 4bit로 실제 데이터가 시작하는 곳을 결정한다. 32bit (4byte) 단위로 헤더 길이를 표시한다. 이진수 = 십진수 * 4byte= header 전체 길이 0101 = 5 * 4byte = 20byte (옵션 미지정된 일반적인 IPv4 해더 길이) 1111 = 15 * 4byte = 60byte 해더 최대 길이 즉 IPv4에서 대부분 옵션을 사용하지 않으므로 보통 IPv..

ARP는 Address Resolution Protocol의 약자이며, IP 주소와 MAC 주소를 일대일 매칭하여 LAN에서 목적지를 제대로 찾아갈 수 있도록 돕는 프로토콜이다. 이때, IP 주소와 MAC 주소를 일대일 대응하여 테이블로 정리하고 목적지 IP에 맞는 MAC주소를 찾아 정리하는 테이블을 ARP Table이라고 부른다. ARP를 주로 사용하는 곳은 2계층에 있는 Ethernet 환경이다. 이 ARP Table은 cmd에서 arp -a 를 입력하여 확인할 수 있다. ▶ARP Protocol Header ▷ Hardware Type: 사용 중인 물리 주소나 데이터 링크 유형을 정의한다. (이더넷 프로토콜이 대부분이므로 0001) ▷ Protocol Type: 사용중인 프로토콜 주소 유형을 정의한..

Ethernet은 위 그림과 같이 OSI 모델 기준, 데이터 링크 계층이며 물리 계층과 데이터 링크 계층의 통신 회산의 접근 제어를 정의하는 IEEE 표준 프로토콜이다. 표준 Ethernet에서 데이터는 CSMA/CD 방식으로 전송되는데, 이는 트레픽이 회선 상에 존재하면 대기하고, 없다면 전송하는 방식이다. ▶Ethernet Header ▷ Preamble: 동기화에 사용되는 64비트로 구성된 필드이며, 네트워크 장치가 패킷을 받아서 이더넷 프레임의 시작 부분을 결정하고 동기화할 때 사용된다. ▷ DA(Destination Address): 목적지의 MAC 주소 ▷ SA(Source Address): 출발지의 MAC 주소 ▷ Type: 이더넷 프레임 상덴의 데이터의 프로토콜 코드이며, Ethernet ..

직전 포스팅에서 다뤘던 예제에서 조금 더 추가하여, 액션바 타이틀 이미지와 Edit text View를 삽입하려고 한다. 바로 코드와 함께 살펴보자. ◎MainActivity.java package com.example.sampleactionbar1; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.annota..
- 정보보안기사 #실기 #정리
- Promise
- await
- Async
- 맛집
- AsyncStorage
- javascript
- redux-thunk
- react-native
- redux
- 파니노구스토
- 이탈리안 레스토랑
- 인천 구월동 이탈리안 맛집
- 인천 구월동 맛집
- react
- Total
- Today
- Yesterday