2019. 5. 9. 13:17ㆍEngineer/안드로이드 앱 프로그래밍
Chapter 08. 스레드와 애니메이션
08-1 네트워킹이란?
인터넷 방에 연결되어 있는 원격지의 서버 또는 원격지의 단말과 통신을 통해 데이터를 주고 받는 일반적인 일들
원격지의 서버를 연결하는 방식
- 클라이언트와 서버가 1대1로 연결하는 '2-tier Client/Server' (예, FTP, HTTP, POP3 등)
- 3-tier 방식. 서버측의 트래픽 증가 등의 문제로 트래픽 분산이나 관리등의 목적으로 좀더 유연한 방식
- N-tier 방식
08-2 소켓 사용하기
08-3 웹으로 요청하기
08-4 뉴스 정보 가져오기
RSS는 보통 'Really Simple Syndication'으 약자로, 자주 바뀌는 내용을 제공하기 위해 사용되는 표준 웹 피드(Feed) 포멧. 예를 들어 최신 연예 뉴스나 스포츠 뉴스를 사용자에게 보여주고 싶을 때 애플리케이션에서 간단하게 연동하여 사용할 수 있는 것.
RSS로 된 내용을 가져와 안드로이드에 보여주려면 RSS서비스 URL을 알아야 하는데 보통 이런 URL을 요약해서 알려주는 RSS 통합 사이트들이 있음.
앱에서는 RSS 문서소스를 파싱하여 화면에 보여주면 되는데, 이때 대표적인 파싱 방법으로는 DOM(Document Object Model)과 SAX(Simple API for XML) 파서가 있음
- DOM : XML문서 전체를 읽어 들인 후 각각의 태그 정보를 사용하는 방식. 직관적임
- SAX: 읽어들인 태그정보가 있으면 필요한 만큼 부분적으로 처리할 수 있는 방식. 문서의 양이 많거나 내용이 순차적인 경우 SAM를 선호
Chapter 09. 데이터베이스
09-1 모바일 데이터베이스
안드로이드가 포함하고 있는 것은 SQLite 라는 데이터베이스로 작은 임베디드 데이터베이스로 개발된 경량급 관계형 데이터베이스 제품이다. 파일로 만들어진 하위 수준의 구조를 가짖면서도 데이터베이스의 기능을 그대로 사용할 수 있다. 저장할때는 파일로 저장되므로 데이터베이스의 복사 이동 삭제가 쉽다. 그리고 가장큰 특징은 속도가 데이터 조회 속도가 빠르다는 것과 표준 SQL을 지원한다는 점이다.
09-2 데이터베이스와 테이블 만들기
데이터베이스는 여러개의 테이블을 담고 있는 하나의 그릇 역할. 따라서 사용하라면 그릇을 만들거나, 기존에 만들어진 것을 열고 닫을 수 있어야 함
Activity는 Context를 상속한 것이므로 Context에 정의된 openOrCreateDatebase( )를 사용하여 데이터 베이스를 만들거나 열수 있음
데이터베이스를 만든 후에는 execSQL( )메소드를 이용해서 테이블을 만들 수 있음 그리고테이블을 마든 후에는 레코드를 추가할 수 있음
JAVA 코드로 데이터베이스와 케이블을 만들 수도 있지만 SQLite의 관리도구인 'DB Browser for SQLiete'를 다운 받아서 GUI 기반으로 데이터 베이스를 생성및 수정할 수도 있음 (http://sqlitebrowser.org)
앱에서 만든 데이터베이스는 /data/data/$package_name/databases/ 폴더 밑에 저장됨. 데이터베이스 파일이 /data/폴더 안에 만들어지게 되면 실제 단말에서는 보안 때문에 이 폴더를 볼 수 없다. 파일이 생성되는 위치에 따라 제약이 있을 수 있으므로 SD카드에 저장하는것을 추천.
09-3 헬퍼 클래스를 이용해 업그레이드 지원하기
테이블의 정의가 바뀌거나 하여 구조를 업그레이드할 필요가 있을 때는 API에서 제공하는 헬퍼(Helper) 클래스를 사용하면 된다
SQLiteOpenHelper 클래스는 데이터베이스를 만들거나 열기 위해 필요한 일들을 도와준다. 하지만 SQLiteOpenHelper를 만들었다고 해서 데이터베이스 파일이 바로 만들어지는 것은 아니며, 파일이 만들어지도록 하려면 getReadableDatabase( ) 또는 getWritableDatabase( )메소드를 호출 해야 한다. 이 클래스를 이용할 때의 장점은 데이터베이스가 만들어지거나 업그레이드가 필요할 때 콜백 메소드가 호출된다는 점이다.
09-4 데이터 조회하기
헬퍼 클래스를 이용하여 메인 액티비티에서 데이터베이스를 상요할 경우 코드가 간단해지는 장점이 있다. SQLite를 사용하기 위해서 어느정도 문법을 숙지하고 있어야 한다.
09-5 SQL을 메소드 호출로 실행하기
SQLiteDatabase 객체를 보면 데이터베이스 조작과 조회를 위한 각각의 기능이 메소드로 정의 되어 있음
안드로이드 단말에서 데이터베이스를 사용할 때는
- 데이터베이스 만들기 : openOrCreateDatabase( )
- 테이블 만들기 : execSQL( )
- 레코드 추가하기 : execSQL( )
- 데이터 조회하기 : rawQuery( )
'Engineer > 안드로이드 앱 프로그래밍' 카테고리의 다른 글
Do it! 안드로이드 앱프로그래밍 12일차 (19.05.23) (0) | 2019.05.24 |
---|---|
Do it! 안드로이드 앱프로그래밍 11일차 (19.05.16) (0) | 2019.05.10 |
Do it! 안드로이드 앱프로그래밍 9일차 (19.04.17) (0) | 2019.04.17 |
Do it! 안드로이드 앱프로그래밍 8일차 (19.04.16) (0) | 2019.04.16 |
Do it! 안드로이드 앱프로그래밍 7일차 (19.04.15) (0) | 2019.04.15 |