비동기: 3개의 글
오늘은 Android와 JAVA에서 JSONObject를 다루는 방법에 대해 포스팅하겠습니다. JSONObject는 데이터를 주고 받을때 유용하며 데이터에 대한 정보가 String형태로 이동될 때도 유용하게 사용할 수 있습니다. 필자는 안드로이드와 웹, DB간의 통신을 하기 위해 주고 받는 데이터를 JSON 객체를 통해 주고받으며 좀 더 일관성있고 기능적이게 데이터를 다루었습니다. 1. 데이터 처리 안드로이드에서는 SQLite라고 불리는 내부 DB를 통해 데이터를 저장하고 불러온다. 하지만 실시간으로 변하는 데이터나 다른 사용자의 데이터를 불러오기 위해서는 서버를 통한 DB통신이 필요하다. 이와 같은 상황에선 SQLite만으로 해결할 수 없고 외부 DB를 사용해야한다. 주로 MySQL에나 Oracle를 ..
1. 안드로이드의 서버 통신 안드로이드는 서버와 통신하기 위한 방법으로는 HTTP통신과 Soket통신이 있다. 오늘 다룰 내용은 HTTP통신으로 URL 접속을 통해 데이터를 읽어오는 방법이다. 우리는 주로 DB에 존재하는 데이터를 가져오기 위해 서버 통신을 한다. 하지만 안드로이드의 특성상 외부 DB에 직접 접근할 수 가 없도록 되어있어 중간 매체인 WEB을 활용해야한다. 이해를 위해 그림으로 쉽게 표현했다. [그림 1] 안드로이드와 WEB, 그리고 DB 통신 과정 안드로이드 통신은 보통 위와 같이 이뤄지며 본 포스팅에서는 'ANDROID-WEB'의 통신 방법에 대해 다룰 것이다. 우선 막연하게 WEB이라고만 하면 정확히 어떤 것을 말하는 것인지 헷갈릴 수 있다. 여기서 말하는 WEB은 HTML, JSP..
1. 메인쓰레드(UI Thread)와 비동기 처리 우리가 사용하는 안드로이드 어플리케이션에서 UI(버튼, 리스트, 텍스트뷰 등등..)는 UI쓰레드라고 불리는 메인쓰레드가 관여하고 처리한다. 그렇다면 우리가 만든 버튼을 통해 어떠한 작업을 수행한다면 메인쓰레드는 어떻게 처리할까? 우선 하나의 상황을 통해 설명하려한다. '777APP'이라는 어플리케이션에 '다운로드'와 '페이지 닫기'라는 두 개의 버튼이 구성되어있다. 그리고 다운로드 버튼을 클릭해 해당 파일을 다운로드 하려한다. 이때 메인쓰레드가 수행하도록 코드를 구성했다면 버튼에 대한 처리는 메인쓰레드가 할 것이며, 다운로드하는 처리도 메인쓰레드가 할 것이다. 또한 다운로드 받는 동안 타 UI와의 교류가 비활성화 될 것이다. 쉽게말해 '다운로드' 버튼과 ..