본문 바로가기

Android

[15일차] Proxy, Pasing

HTTP - Parameter 전달 (GET)



URL은 반드시 encoding 해서 써야 한다. 


Base64  


쿼리에 보내는방식 urlencoded, json, xml,form-data,


서로 다른형태는 multipart/form-data 이다.  이런 multipart는 오픈소스를 이용해서 쓴다. 


content type 이 뭐다 이런거다. 


redirect 기본이 알아서 해준다. 


CookieManager cookieManager 등록 해주면 사용할 수 있다. 


쿠키값을 메모리에만 유지하기 때문에 이렇게만 사용해서 껏다 키면 날라간다. 계속 유지하고 싶으면 File에 저장해야한다. PersistentCookieStore(Context), 를 이용하는데 나중에 한다. 

Client에서 강제로 Cookie 추가 할 수있는데 잘 안쓴다. 

ResponseCache는 복잡하다. 

ResoponseCache 자체가 좀 복잡해서 API 15에서는 HTTPResponseCashe 클래스를 제공한다. 

CacheSize = 지정해서 사용한다. onStop이 됬을 때, flush()?를 해줘야한다. 



Button 을 놓고 google의 url을 가져와서 화면에 보여주는 실습.



Parsing

데이터로부터 내가 원하는 형태의 값을 추출하는 작업 .

Parser

 - XML 

</>이 태그안에 키 벨류 형식으로 값을 쓸 수 있다. 
<A a=1, b=2>

여기서 A는 key 값이될 수도 있고, Object가 될 수도 있고, primitiv type 


<Person>

     <name>jeon</name>

     <age>27</age>

     <adress>

<city type=0> 부천</city>

     <adress>

</Person>

이런식으로 ~ 간다간다 간~~다.


 - XMLparsing


DOM,SAX,PULLparser 세가지가 있다. 


xml에서 먼저시작한 태그는 마지막에 바껴야한다. 


DOM 파서는 Object노드트리를 만들어서 방문하면서 그이름을 가지고 원하는데이터를 뽑는거다. 


근데 DOM 파서는 안쓴다. 느리고, 메모리를 많이 잡아먹는다. 한번만들면 재활용성이 좋다. 

전부 다 추출할거면 그런거 쓸 필요는 없다. 

startelement



-JSON

javascript object notation


값은 key, value 그렇게 만들어진 값들의 collection을 제이슨이라고 한다. 


json 으로 나타내기 


{ 'name':"jeon", age';27. "height":1700, "adress":{"city":"bucheon"},"phone":[{"type":"1"},{"type":"1"},{"type":"1"}, {"type":"1"}]}




실습.


버터나이프로 하기 

gradle에 

maveCentral 추가 

dependancy 추가 

모듈 빌드하는데어 apply에 추가 


dependency 에 두개 추가 


자동으로 클래스를 만들어주는 플러그인 

setting 에서 plugins에서 Json2Class를 설치하면 된다. 
restart해주고 

비어있는 패키지파일 만들고 new 하고 classfileload 해주고, json붙여넣기 해주면 된다. 

Gson라이브러리

이거쓰면 진짜 간단하게 몇줄이면 된다. 그래서 Gson을 쓰는거다. 

XML 파싱. 


추가

ButterKnife



XML파싱

아까 얘기한거 처럼 라이브러리 똑같이 생성된거 가지고 할 수 있다. 


'Android' 카테고리의 다른 글

[15일차] 네트워크 매니져, 네트워크 리퀘스트  (0) 2016.08.05
[15일차]구조화  (0) 2016.08.05
[14일차]네트워크 전반적인 용어  (0) 2016.08.04
[14일차]네트워킹  (0) 2016.08.04
[14일차] Drag And Drop  (0) 2016.08.04