노력과 삽질 퇴적물
안드로이드: 기초정리(4) 본문
09. 구글맵과 좌표
Bohemian life :: 구글맵에 마커 표시하기(위치 지정)
구글맵에서 현재위치에 마커 표시하기. :: 네이버 블로그
10. 스레드
1. Thread() Thread(Runnable runnable) | |
-> JAVA: 스레드 참조. |
* 허니컴부터는 메인스레드에 NW연결을 넣으면 에러가 나기때문에
별도로 Runnable를 정의 하고 스레드에 넣어서 실행하거나, AsyncTask를 상속받은 클래스를 만들어서 해당 클래스 객체를 생성 시키면 됩니다.(UsrAsynk synk = new AsyncTask()처럼)
11. 마크업 문서
1. 마크업 문서와 HTML | |
① 마크업 문서란?
-> 내용: 실제 문서내용 -> 구조: 문서 구성 정보(제목, 장, 절 각주, 문단 등) -> 스타일: 문서 표현 정보(글꼴, 글자색, 글자 크기, 여백 등) | |
② HTML(Hyper Text Markup Language) -> 웹에서 정보를 표현할 목적으로 제안된 마크업 언어 -> 장점. 단순한 구조 / 사용의 편리성 / 시스템에 독립적인 웹 브라우저에 의해 해석 -> 단점. 사용할 수 있는 태그가 제한적 / 정보 표현에만 집중된 기능. / 전체 문서 표현만 가능 구조화된 정보를 표현/검색, 문서 유효성 검증 어려움 | |
③ XML -> 미니 데이터 베이스 -> 다른 DBMS에 비해 수월한 데이터 통합 -> 사용환경에 구애되지 않고 사용가능. |
2. XML 개념과 성향 | |
① 기본개념 -> 구조적인 데이터로 표현하여 작성한다. -> HTML과 비슷해 보이지만 다르다. -> 텍스트지만, 읽는 것만 의미하지는 않는다. -> 확장할 수 있다. -> 기술의 집합이다. -> 새로운 기술이 아니라, 발전한 기술이다. -> HTML에서 XHTML로 이끌었다. -> 모듈식이다. -> RDF와 시맨틱 웹의 토대다. -> 라이센스 제약이 없고, 플랫폼 독립적 |
② 설계 목표 -> 인터넷에서 바로 사용할 수 있어야 한다 -> 다양한 종류의 애플리케이션을 지원해야 한다. -> SGML과 호환되어야 한다. -> 문서를 처리하는 프로그램은 사용하기 쉬워야 한다. -> 옵션은 최소여야 한다. -> 문서는 쉬워야 한다. -> 설계는 빠르게 할 수 있어야 한다. -> 설계는 정형적이고 간결해야 한다. -> 문서는 만들기 쉬워야 한다. -> 간결성은 무시될 수 있다. |
3. 구조 | |
<?xml version="1.0" encoding="euc-kr" standalone="yes" ?> <!-- XML문서 선언부 --> <user_profile xmlns="xml_name_space"> <!-- 이 줄부터 사용자 정의 요소, xmlns로 네임스페이스 지정O--> <name>리혜</name> <blog>노력과 삽질 퇴적물</blog> <url>http://analog-green.tistory.com/</url> <m1:memo>XML요소내 내용에는 특수문자가 불가하므로 개체참조/문자참조를 써야 한다.<br> <![CDATA[ CDDATA 명령어 섹션은 해당 범위내에서 특수문자 < > ' " &등을 여러개 쓰기 편하다. ]]> </m1:memo> <m2:memo>해당메모는 접두사를 이용한 예시</m2:memo> <content m3:id="memo_03">해당메모는 XML요소 속성에 ID를 부여</content> </user_profile> |
4. 설계 | |
1단계: 표현하려는 객체를 선택한다. 2단계: 객체 분석과 모델링을 통해 요소(element)를 추출해서 정의/분석한다. 3단계: 분석된 객체 정보로 트리를 만들고 요소에 대한 정형화된 데이터를 작성한다. 4단계: 분석된 정보를 나타내는 요소명과 속성명을 구분해서 정의한다. 5단계: 설계한 트리를 보고 XML로 코딩. |
12. XML파싱
1. DOM파싱 ① XML 문서를 읽음. ② XML 파서로 문서 트리 구조로 변환. ③ DOM API를 사용해서 XML 문서의 요소/속성/텍스트 내용을 추출후 XML 문서를 조작.(XML 문서 추가, 삭제, 수정 등). ④ 조작한 XML 문서를 애플리케이션에 따라서 생성, 수정, 삭제한 후 결과 문서를 만든다. | |
2. 개념 -> DOM은 XML 문서를 하나의 객체 모델로 인식 -> 각 객체를 인터페이스 개념으로 접근 -> 외부 애플리케이션은 객체에 정의된 인터페이스를 통해 해당 객체를 제어 -> 노드 클래스(객체) = 인스턴스1 + 인스턴스2 //인스턴스는 객체 소속 하위클래스 -> 장점과 단점. 장점: DOM은 XML 문서를 객체트리구조로 다루기 때문에 XML 전체문서를 읽어 들여조작하는 경우 편리다. 단점: XML 문서가 커질경우에는 메모리 소모가 커진다. | |
3. 조작 및 I/O ① DOM의 노드들에 대한 인터페이스 속성(타입/이름/값) ② 노드정보에 대한 메소드 ③ XML문서에 대한 메소드 ④ XML문서 요소에 대한 메소드 등등. 2)I/O ① 자바기반 I/O
② DOM API기반 I/O
3) 예제 추천링크. |
2. SAX (Simple API for XML) 파싱 | |
-> 큰 규모의 XML 문서를 분석하기 위해 개발된 파싱법. Serial Access Method로도 불린다. -> 메모리를 적게 사용하면서 대용량의 XML 문서를 처리하기위해 제안된 API -> 이벤트기반 API로써 SAX 파서가 XML 문서를 처음부터 끝까지 차례로 읽어가면서 이벤트를 발생시켜 처리하는 구조 | |
① SAX 파서 종류 Xerces-J 아파치그룹(Apache)에서 만듬 Crimpson 자바(sun) 공식 파서 Oracle Oracle회사의 Parser XP James clerk가 만듬 | |
② 이벤트 소스와 핸들러구조 -> 파서는 XMLReader 인터페이스를 구현하며 이 인터페이스가 제공하는 parse()메소드로 파싱을 시작한다. -> SAX Parser가 XML 문서 해석도중 시작태그를 만나면 startElement이벤트가발생하고 , 문자데이타를 만나면 characters 이벤트가 발생한다. 그리고 끝태그를 만나면 endElement이벤트를 발생시킨다. | |
③ 이벤트 핸들어 작성법 -> ContentHandler, DTDHandler, EntityResolver, ErrorHander 인터페이스를 구현하는 클래스 작성 -> 이벤트 핸들러 클래스 SAX 파서에 등록 -> XMLReader 인터페이스의 메쏘드를 이용하여 SAX Parser에등록. * 참고로 DefaultHandler클래스는ContentHandler, DTDHandler, EntityResolver,ErrorHander 인터페이스의 메쏘드를 모두 오버라이딩(재정의)한 클래스라서 개발자들은 DefaultHandler를 상속받아 필요한 메소드만 구현하면된다. | |
//SAXParser 예시 import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; public class SAXParserTest { public static void main(String[] args)throws Exception { //① . SAX 파서 공장 생성 SAXParserFactory factory = SAXParserFactory.newInstance(); //② . SAX 파서 생성 SAXParser parser = factory.newSAXParser(); System.out.println("SAX 파서 객체 생성 성공"); //③ . 이벤트핸들러생성 SAXParserTestHandler handler =new SAXParserTestHandler(); //④ . 파서에 이벤트핸들러등록 및 파싱 parser.parse("student.xml", handler); } } | |
예제. Android: Simple XML SAX Parser Tutorial » the Open Tutorials Android XML SAX Parser Example |
13. 애니메이션
1. 트위닝 애니메이션 ① xml, 애니메이션 속성정의 ② java코드, 애니메이션 구현/설정 ③ java코드, loadAnimation() ④ java코드, startAnimation() ⑤ java코드, AnimationListener -> 추천자료: [안드로이드] 에니메이션 처리하기 | |
|
|
2. 프레임 애니메이션 | |
|
|
14. 그외
GCM 푸쉬 클라/서버 구현
안드로이드 GCM 이용과 Third party(jsp) 가이드 - 1부
'📂게임개발 note > 모바일 개발' 카테고리의 다른 글
안드로이드: cocos2d-android (2) (0) | 2013.04.09 |
---|---|
안드로이드: cocos2d-android (1) (0) | 2013.04.09 |
안드로이드: 기초정리(3) (0) | 2012.09.17 |
안드로이드: 기초정리(2) (4) | 2012.09.03 |
에러: 안드로이드 gen패키지명 비정상적 생성 (1) | 2012.08.31 |