이번 글은 안드로이드 부스트코스 마지막 네트워킹 강의의 내용을 정리해 보려고 한다. 이 강의는 실습이 아닌 네트워킹의 전반적인 내용을 2시간 동안 개괄적으로 훑는 강의였기 때문에 그에 맞게 내가 이해한 이론적인 내용을 주로 다룰 것이다. 강의의 개요는 아래와 같이 세 가지로 구성된다. 1. 일반 데이터 네트워킹 대부분의 업무용 앱과 일반 앱 중 서버와의 통신이 필요한 앱에 적용하는 일반적인 네트워킹 방법 Thread, AsyncTask, Gson 정리 및 Node.js를 이용한 클라우드 서버 구성 방법에 대한 요약 2. 실시간 메시징 카톡 등 실시간 메시징이 필요한 경우에 적용하는 네트워킹 방법 Socket.IO 정리 및 Node.js를 이용한 클라우드 서버 구성 방법에 대한 요약 3. 실시간 방송 동영..
7장에서는 안드로이드에서 카메라로 사진을 찍고, 음악과 동영상을 재생하고, 사진을 보고 음성 녹음을 하는 등의 멀티미디어 기능에 대해 설명한다. 이번 포스팅에서는 이런 멀티미디어 기능 중에 가장 중요한 사진을 찍는 기능에 대해서 알아보려고 한다. [카메라로 사진찍기] 카메라로 사진찍는 방법은 대표적으로 두 가지가 있다. 첫 번째로는 Intent를 이용해 내장되어 있는 카메라 앱을 띄우는 방법으로 이 방법을 사용했을 떄는 별다른 카메라 설정을 해 줄 필요가 없다는 장점이 있다. 두 번째로는 Surface view 라이브러리를 이용해 카메라 미리보기 화면을 자신의 앱 안에 넣는 것이다. 이 방법은 카메라 위에 증강현실을 표현할 아이콘이나 그래픽 등을 보여줄 수 있는 등 마음대로 변형을 할 수 있다는 장점이 ..
6장에서는 안드로이드 단말 내에 데이터베이스를 사용해서 정보를 저장하고 이를 불러와서 사용하는 방법에 대해 나온다. 이번 포스팅에서는 이러한 데이터베이스 기능들을 정리하려고 한다. [SQLite] 안드로이드에서 사용하는 데이터베이스는 SQLite로, RDB이기 때문에 SQL을 이용해 데이터를 다룬다. 단말에서 사용하는 데이터베이스이기 때문에 임베디드 데이터베이스 라고도 부른다. RDB 테이블은 다음과 같은 구조를 가지고 있다. 세로 줄을 속성(Attribute)라고 부르고, 가로 줄을 튜플(Tuple)이라고 부른다. 속성과 튜플로 이루어진 전체를 Relation이라고 부른다. SQLite의 특징은 다음과 같다. SQLite는 다른 RDB와 다르게 하나의 파일로 구성된다. (확장자로 .db를 사용.) 모바..
5장에서는 네트워킹에 대한 내용이 나오는데, 네트워킹은 인터넷에 연결되어 있는 원격지의 서버 또는 단말과 통신해서 데이터를 주고받는 동작들을 포함한다. 이번 포스팅에서는 이런 네트워킹에 대한 내용을 정리하려고 한다. 뒤에 나올 내용을 다루기에 앞서 네트워크 연결 방식에 대해 짚고 넘어가려고 한다. 먼저 원격지의 서버를 연결하는 가장 단순한 방식은 클라이언트와 서버가 일대일로 연결하는 '2-tier C/S(Client/Server)' 방식이다. 이 연결 방식을 가장 많이 사용하며, 대부분 클라이언트가 서버에 연결 되어 데이터를 요청하고 응답받는 단순한 개념으로 이해할 수 있다. 여기서 서버를 응용 서버와 데이터 서버로 구성하면 3-tier C/S 방식이 되는데, 이 연결 방식을 사용하면 데이터베이스를 분리..
5장에서는 서버와 클라이언트 모델로 네트워킹을 통해 서버에서 정보를 받아와서 클라이언트에서 보여주는 내용에 대해 다룬다. 이번 포스팅에서는 이런 네트워킹을 알아보기 전에 반드시 알아야 하는 스레드와 핸들러라는 개념을 먼저 정리해 보려고 한다. [스레드와 핸들러] 스레드 사용하기 어떤 프로그램을 만들 때 작업 동시 수행은 굉장히 중요한 요소이다. 작업이 동시에 수행되지 않는다면 처리 시간이 긴 작업을 끝낼 때 까지 그 다음 작업들이 계속해서 미뤄지면서 전체적인 처리 속도가 느려질 것이다. 작업을 동시에 수행하는 것을 멀티 스레드(Multi Thread) 방식이라고 하고, 동시 수행이 가능한 작업 단위를 스레드(Thread)라고 한다. 멀티 스레드 방식은 같은 프로세스 안에 들어있어 메모리 리소스를 공유하기..
4장에서는 화면을 '액티비티'가 아닌 '프래그먼트'로 다루는 방법에 대해 설명한다. 목차 프래그먼트 개요 프래그먼트 화면에 추가하기 프래그먼트 생명주기 액션바 사용하기 탭 사용하기 뷰페이저 만들기 바로가기 메뉴 만들기 프래그먼트(Fragment) 프래그먼트는 액티비티 위에서 동작하는 부분화면이다. 프래그먼트는 안드로이드 구성요소가 아니라 액티비티가 관리하기 때문에 액티비티보다 가볍다는 특징이 있다. 프래그먼트 대표 사용 예시는 다음과 같다. 1. 다른 화면이지만 전체적이든 부분적이든 동일한 레이아웃을 사용하는 경우 화면 안에 레이아웃이 중복되지 않도록 한 번만 정의해서 필요할 때마다 만들어 사용할 수 있어 편리하다. 2. 하나의 화면을 여러 부분으로 나눠서 보여주거나 각각의 부분 화면 단위로 바꿔서 보여..
3장에서는 애플리케이션 구성요소인 액티비티, 서비스, 브로드캐스트 수신자에 대해 소개를 하면서 화면을 여러 개 만들어서 화면 간 전환하는 방법을 설명하고, 화면을 전환하기 위한 '인텐트' 객체에 대해 나온다. 이번 포스팅에서는 액티비티 위주로 정리를 하고, 서비스와 브로드캐스트 수신자에 대해 간단하게 정리해 보려고 한다. 추가적으로 위험 권한을 설정하는 방법까지 알아볼 것이다. [화면 구성과 화면 간 전환] 애플리케이션 구성요소 안드로이드 애플리케이션 구성요소는 다음과 같이 4가지가 있다. 액티비티(Activity) - 눈에 보이는 화면 서비스(Service) - 눈에 보이지 않는 동작 브로드캐스트 수신자(Broadcast Receiver) - 핸드폰에서 수신한 SMS 문자를 브로드캐스팅 하면 브로드캐스..
2장에서는 안드로이드의 동작을 처리하는 이벤트 처리와, 기본 위젯이지만 사용법이 조금 복잡한 리스트 뷰에 대해 설명한다. 이번 포스팅에서는 여러 이벤트와 이벤트 처리 방법, 리스트 뷰에 대해 정리하려고 한다. 또한 추가적으로 java 파일에서 위젯을 추가할 때 필요한 '인플레이션'의 개념과, 나인패치 이미지와 비트맵 버튼에 대해서도 나온다. [이벤트] 이벤트 처리 방식 버튼을 눌렀을 때 어떤 이벤트를 하게 동작하고 싶을 때, 다음과 같은 패턴을 따른다. 이 패턴은 화면에서 발생하는 이벤트를 버튼 객체에 전달한 후 그 이후의 처리 과정을 버튼에 위임한다고 해서 '위임 모델(Delegation Model)'이라고 부른다. 이 패턴을 사용하면 각각의 뷰마다 하나의 이벤트 처리 루틴을 할당해 주기 때문에 코드가..
- Total
- Today
- Yesterday
- pecs
- SOCKET
- 파이썬
- 안드로이드
- covariance
- personal access token
- AsyncListDiffer
- RuntimeException
- Android
- RecyclerView
- 부스트코스
- gson
- 위험권한
- SQLD
- GitHub
- 알고리즘
- ViewHolder
- DiffUtil
- SQL Server
- 프로그래머스
- Python
- python3
- 내용제공자
- AndroidStudio
- Algorithm
- SQL
- MSSQL
- kotlin
- Java
- SQLiteOpenHelper
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |