Page 830 - 3-2
P. 830
(3) 애플리케이션을 실행하면 안드로이드는 자동적으로 메인 스레드 즉, UI 스레드를 생성
(4) 메인스레드는 사용자와 상호작용하기 위한 이벤트를 책임지기 때문에 매우 중요
→ 사용자와 상호작용 외의 오랜 시간을 필요로 하는 작업을 처리하려면 별도의 스레드 를 사
용하는 것이 바람직
다 스레드) (Thread) 의 필요성
(1) 외부 Thread 가 없이 Main Thread 만으로만 구현하게 된다면 이러한 문제가 생김 어떠한,
버튼을 눌렀을 때 Main Thread 내부적으로 10 초 이상이 걸리는 작업을 한다고 치면 사용,
자는 그 일이 끝날 때까지 멈춰있는 화면만 보고 있어야함
→ 그렇기 때문에 개발자는 오래 걸리는 작업들을 외부 Thread 를 통해 백그라운드 처리하지
않으면 ANR(Android Not Responding) 가 뜸
라 스레드) (Thread) 생성자
(1) public Thread()
(2) public Thread(Runnable runnable)
마 스레드) (Thread) 사용법
(1) Thread 클래스를 상속 받는 하위 스레드 클래스 생성
(2) 하위 스레드 내에 run() 을 오버라이드 함(run() 은 Thread 가 실행되면 수행되는 곳)
(3) Thread 객체를 생성해주고 start() 메소드로 Thread 의 run() 메소드를 실행시켜줌
6) JSON(JavaScript Object Notation)
가) JSON 이란?
(1) 속성(key)- 값(value) 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있
는 텍스트를 사용하는 개방형 표준 포맷
(2) 비동기 브라우저 서버 통신을 위해 넓게는/ XML 을 대체하는 주요 데이터 포맷
(3) 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있음
(4) 자료의 종류에 큰 제한은 없으며 특히 컴퓨터 프로그램의 변수 값을 표현하는데 적합,
나) JSONObject: JSON 형태의 데이터를 관리해 주는 메소드({}, 제일 외각에 중괄호가 있으면
JSONObject 로 선언된 것)
다) JSONArray: JSONObject 가 들어가는 배열([], value 를 JSONArray 로 받음)
라) JSON 값
(1) {JSON: [{"model": "samsung", "price": "1000"}, {"model": "LG", "price": "800"}]}; →
이와 같이 표시
(2) key:value(field), key-value(real value) 쌍으로 표현 위의( 예제에서는 JSON(key) 과
[](value), 각각 model, price(key) 와 그 짝(value))
- 830 -