Android/Android 더하기
내부(innter)클래스 중첩(nested)클래스 그리고 메모리 누수
java에서는 A클래스 안에 B클래스를 정의하면 안에 정의된 B클래스는 자동으로 내부클래스가 됩니다. java에서 객체가 삭제되는 시점은 객체가 더 이상 사용되지 않을때입니다. 내부클래스에서는 외부클래스를 항상 참조하고있습니다. 따라서 A클래스가 삭제되더라도 내부클래스인 B 클래스는 삭제되지않고 살아있게되어 (원하는 시점에 적절하게 객체가 삭제되지 못함) 메모리 누수가 발생하기됩니다. (그래서 실제 프로젝트에서 내부클래스로 개발되었던 코드들을 모두 수정했습니다.) 더보기 Inner Class Reference 관련 해결방법 1. 내부 클래스의 정적 변수를 만들지 말자 2. 클래스를 정적으로 설정해야 한다. 익명 클래스의 인스턴스는 "static"인 경우 외부 클래스에 대한 암시 적 참조를 보유하지 않습니..
MVVM 패턴
MVVM은 Model + View + View Model를 합친 용어입니다. 특징 및 장점 MVVM 패턴은 Command 패턴과 Data Binding 두 가지 패턴을 사용하여 구현되었습니다. Command 패턴과 Data Binding을 이용하여 View와 View Model 사이의 의존성을 없앴습니다. View Model과 View는 1:n 관계입니다. MVVM 패턴은 View와 Model 사이의 의존성이 없습니다. 또한 Command 패턴과 Data Binding을 사용하여 View와 View Model 사이의 의존성 또한 없앤 디자인패턴입니다. 각각의 부분은 독립적이기 때문에 모듈화 하여 개발할 수 있습니다. 동작 순서 출처 https://beomy.tistory.com/43 ]
[Android Library] OkHttp : Http OK?? OK!!
OkHttp 란? OkHttp는 REST API, HTTP 통신을 간편하게 구현할 수 있도록 다양한 기능을 제공해주는 Square에서 제공하는 Java 오픈소스 라이브러리 입니다. OkHttp 라이브러리는 Retrofit 이라는 라이브러리의 베이스가 된다. OkHttp를 이용하면 간편하게 몇 줄의 코딩으로 REST 호출을 전송, HTTP 기반의 요청, 응답을 처리할 수 있습니다. 공식 사이트 : square.github.io/okhttp/ 깃허브 : github.com/square/okhttp 여기서 http 통신이 궁금하다면 다음 글을 : HTTP 원리 www(world wide web) = web이란 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간 1990년 팀 ..
[Android Library] Gson : Json을 Java 객체로 변환
Gson이란? 먼저 위키 사전을 보면 Json의 자바 오브젝트의 직렬화/역직렬화를 해준다 라고 나와있습니다. 여러워 보이지만 풀어쓰자면 Json 형식을 Java객체로 변환시켜주고, 반대인 java 객체를 Json 형식으로 변환시켜주기도하는 자바 라이브러리입니다. cf) Json은 javaScript에서 객체를 표현하는 방법이지만, 다양한 프로그래밍언어에서 데이터를 주고받기위해(통신) 사용됩니다. 데이터를 표현하는 일종의 데이터의 표준 표현으로, 주로 인터넷상에서 데이터를 주고받을 때 그 자료를 표현하는 방법으로 알려져 있습니다. 객체는 {}로 표현 배열은 []로 표현 각 속성은 key 와 value로 이루어져있으며 : 으로 구분됨 속성이 여러개인 경우 ,로 구별 Gson사용 방법? gson 라이브러리를 ..
REST API : HTTP 모범생
REST API는 HTTP를 이용해서 기계들이 통신을 할 때 HTTP가 가지고 있는 기능을 최대한 활용해서 명확하면서 단순하게 통신할 수 없을까?하는 고민에서 출발한 모범사례라고 할 수 있습니다. API란 무엇인가? 컴퓨터의 기능을 실행시키는 방법을 의미한다 화면에 헬로우 월드를 실행시키는 방법이 파이썬, 자바 마다 다른것처럼.. REST API란 무엇인가? REST API도 컴퓨터의 기능을 실행시키는 명령이긴한데, 내 컴퓨터가 아닌 남의 컴퓨터를 실행시킨다. 사례 예를들어 나의 앱이 000 주소로 접혹하면 구글캘린더에 등록되어있는 나의 캘린더를 구글 캘린더에서 이렇게 출력해준다 { 이고잉 일정 Asia/Seoul } 또한 이 주소로 접속하면 트위터의 글을 가져올 수 있다. 가져올 뿐 아니라 글을 추가하..
HTTP 원리
www(world wide web) = web이란 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간 1990년 팀 버너스 리와 그의 동료들이 웹(web)을 처음 발표했을 때 web은 크게 4가지로 나뉘었습니다. 1. 웹페이지를 만드는 컴퓨터 언어(language)인 html 2. 원하는 웹페이지에 방문할수 있는 주소체계(adress)인 url, uri 3. 웹페이지를 주고받는 소프트웨어(software)인 web browser, web sever 4. 웹브라우저와 웹서버가 통신할때 사용하는 통신 규칙(protocol)인 http HTTP(HyperText Transfer Protocol) 정의 브라우저(client)와 웹서버(server)가 콘텐츠(html, 이미지, ..