Android
-
Android Architecture Component가 뭐야?Android/AAC 2019. 7. 23. 22:00
먼저 안드로이드를 이야기하면 안드로이드는 컴포넌트 기반이다. CBD 방법론 ( Component Based Dev ) : 컴포넌트 여러 개를 조합하여 하나의 앱을 개발 우리가 흔히 보는 디자인 패턴에 대해서 한번 이야기를 해보자 MVC 패턴 ( Model + View + Controller ) 초기에는 클라이언트 사이드에서 사용하였다. 웹에서 서버에 데어터가 들어오면 어쩄든 화면에 출력시키는 것이 목적이기에 MVC를 사용 하였다 안드로이드에서 이를 적용 시키면 DB에 접근하는 클래스가 Model Class! 화면에 출력을 담당하고 이벤트를 받아오는 것이 Activity Class! 실행 순서 1. Controller를 통해 입력을 함 2. Controller가 Model과 View에게 입력을 보냄 3. ..
-
Volley를 이용한 HTTP 통신Android/Network 2019. 7. 23. 00:31
HttpURLConnection은 통신이 많은 소스들과 불편함을 겪어야 했지만 이번 시간에는 Volley를 사용하여서 좀더 쾌적한 HTTP 통신을 해보로독 하겠다. Volley는 2013년 Google I/O 에서 발표한 라이브러리이다. http 통신을 위한 다양한 기능을 제공해주고 1.0.0 버전에서는 내부적으로 apache http 라이브러리를 이용 했었지만 1.1.1 버전에서는 apache http 종속성이 제거된 라이브러리이다. 간단하게 사용할 것을 소개 하자면 아래와 같다. RequestQueue : 서버 요청자 StringRequest : 문자열을 결과로 받아 오는 정보 ImageRequest : 이미지를 결과로 받아 오는 정보 JsonObjectRequest : JSONObject 를 결과로..
-
HttpURLConnection을 이용한 HTTP 통신Android/Network 2019. 7. 22. 23:59
HttpURLConnection은 앞 포스팅에서 말했듯이 Java 표준 라이브러리에 포함되어 있지만 버그가 있어서 Apache Http 라이브러리인 HttpClient에 의해 뭍혀 졌고 버그가 수정되었지만 기존 Apache의 지속적인 사용과 좀더 좋은 라이브러리가 나오면서 뭍혀버린 클래스이다. 먼저 앞으로 나올 Volley와 Retrofit 또한 동일 UI와 동일 기능을 선보이는 앱을 구현할 것이다. 단순하게 타이틀 텍스트와 이미지 한장을 출력시키고 끝내보도록 하겠다.. 1. AndroidMenifest.xml 과 Gradle Dependency 설정하기 HTTP 통신에 있어서 가장 중요한 것은 Internet이다 까먹지 않고 펄미션을 등록해주도록 하자 Gradle Dependency는 리스트 출력을 위..
-
안드로이드 네트워크 프로그래밍 HTTP 통신Android/Network 2019. 7. 18. 22:42
흔히 우리가 안드로이드 네트워크 프로그래밍을 하면 소켓 통신, HTTP 통신 두가지를 떠올리고는 한다 ( FCM )? 그 중 HTTP 통신은 REST API을 통해서 데이터를 서버와 클라우드가 주고 받는다. HTTP 통신을 하는 방법에는 여러가지가 있다 - HttpURLConnection - HttpClient - Volley - Retrofit HttpURLConnection 와 HttpClient 안드로이드 네트워킹 프로그래밍 관련된 게시글 들을 보면 HttpClient관련해서 HttpURLConnection이 아닌 HttpClient를 사용한 예제들이 많이 보이는데 HttpClient는 ApacheHttp 라이브러리 이다. 안드로이드의 초기 HttpURLConnection 부분에서 내부적인 문제가 ..
-
RxKotlin과 RxAndroid 알아보기Android/RxJava 2019. 6. 18. 16:07
RxJava와 어떤 차이점이 있을까..? 뭣도 모르고 그냥 아 Rx니깐 같이 쓰겠구나~ 싶어서 사용하고 있었지만 그래도 뭐가 추가되었고 내가 쓰고 있는가? 싶어서 한번 알아보았다. RxKotlin 기본적으로 Kotlin의 Extension을 이용하여 좀더 편리한 Rx 사용을 권장하기 위해서 생긴 라이브러리 이며 RxJava 1.x와 RxJava 2.x를 모두 지원한다. 먼저 변경된 점은 github에서 보면 다 알 수 있고 여기서는 일부만 건들여 보도록 하겠다. 1. Observable 생성 Observable.fromArray(arrayOf(1, 2, 3, 4, 5)) arrayOf(1, 2, 3, 4, 5).toObservable() 바로 자료형 뒤에 toObservable을 하면 알아서 Observ..
-
ReactiveX와 Retrofit 같이 쓰기!Android/RxJava 2019. 6. 18. 15:24
Retofit의 Call 부분을 다시 되집어 보면 onFailure와 OnResponse가 있다 어디선가 많이 본 형식인데 맞다 ReactiveX와 비슷하게 생겼다! 즉슨! 그말은 RxJav와 Retrofit을 함께 쓸 수 있지 않을까..? 오늘은 두가지 방법으로 구현을 해볼 것이다 1. 직접 코딩 2. 라이브러리 사용 Gradle Dependency // reactive implementation 'io.reactivex.rxjava2:rxjava:2.2.6' // retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0' implemen..
-
JSON 라이브러리 Gson과 Jackson - Gson편Android/Json 2019. 6. 18. 13:38
앞서 jackson을 어떻게 사용해야 하는가에 대해서 탐구해 보았는데 이번은 gson에 대해서 탐구를 해보겠다 Gson Site : https://github.com/google/gson Gson은 Java Object를 JSON 표현으로 변환하는 데 사용할 수있는 Java 라이브러리 또한 JSON 문자열을 동등한 Java 객체로 변환하는 데 사용할 수 있다. Gson은 소스 코드가없는 기존 오브젝트를 포함하여 임의의 Java 오브젝트에 대해 작업 할 수 있다. Gradle Dependency implementation 'com.google.code.gson:gson:2.8.5' 1. POJO ( Plain Old Java Object ) 생성 enum class Gender { Male, Female;..
-
ReactiveX - Schdulers 도대체 뭘 사용해야 할까?Android/RxJava 2019. 6. 18. 10:17
Rx에서 Observer와 Subscribe의 스케쥴 즉, 동작하는 Thread를 정해줄 수 있다. Android의 View을 건들이는 부분이면 AndroidSchedulers.mainThread()를 사용하면 된다지만 Observer는? 아무것도 지정해주지 않았을때는 뭐가 작동되는데? 이러한 궁금증이 생겨 포스팅을 시작한다. 먼저 RxJava2의 Schedulers을 디컴해보면 아래와 같이 나온다. static final Scheduler SINGLE; static final Scheduler COMPUTATION; static final Scheduler IO; static final Scheduler TRAMPOLINE; static final Scheduler NEW_THREAD; 총 5가지의 S..