Android

    [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 라이브러리를 ..

    [View]: Widget, layout

    매일 써왓던 기초적인 안드로이드 UI이지만 코틀린기반 안드로이드를 배우는김에 (조금은 지루하더라도) 전체적으로 다시 정리해보기로했습니다. ^^ Views = Widget(View) + Layout(Viewgroup) 안드로이드에서 눈에 보이는 모든 요소를 View라고 부르고, 개발자가 배치하는 모든 View 들은 Class로 제공되는데 모두 View라는 클래스를 상속받고 있습니다. ViewView 클래스는 모든 UI 요소들의 부모 클래스로써 Widget과 Layout으로 나뉩니다. View(android.view.View) 클래스는 화면의 사각형 영역에 있는 콘텐츠나 화면 레이아웃을 담당합니다. 즉 화면영역에 오브젝트들을 배치하고, 위치를 재고, 그리고, 포커싱을 바꾸고, 스크롤을 하는 등의 일을 합니다..

    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, 이미지, ..

    의존성 주입(DependencyInjection) - Koin/Dagger2 /Hilt

    의존성주입이란 생성자 또는 메서드 등을 통해 외부로부터 생성된 객체를 전달받는것입니다. 의존성주입의 특징 클래스간 결합도를 느슨하게 합니다. 인터페이스 기반으로 설계되며, 코드를 유연하게 합니다. Stub 또는 Mock 객체를 상용하여 단위테스트를 하기가 더욱 쉽게하는데 그 목적이 있습니다. 예제 의존성주입이 없는 코드 class JSRepository{ private val db = SQLiteDatabase() fun load(id:String){ //... } } fun main(){ val repositoy = JSRepository() repository.load("8092"); } 의존성주입이 있는 코드 class JSRepository(private val db:Databse){ fun lo..