전체 글

Never stop acting like the new one on the team
Android/미분류

EventBus , RxJava로 대체 해보자!

필자는 Fragment 끼리간의 통신에 있어 Flagment -> Acitivity - > Flagment가 너무 불편해서 이벤트버스를 이용하여 해결한 적이 있다. Rx를 사용한다면 이벤트 버스를 사용하지 않아도 된다. RxJava Class Observable : 이벤트를 발생시키는 주체Subscriber : 이벤트를 전달 받는 객체PublishSubject : 구독한 시점으로부터 발생되는 이벤트를 계속 전달 받는다.

Kotlin & Java

What is CALL BACK? 콜백

콜백의 정의는 호출자가 피호출자를 호출하는 것이 아니라피호출자가 호출자를 호출하는 것을 말한다. 콜백의 장점은 어떤 특정 조건이 만족 되었을 때 지정한 기능을 수행할수 있어 비동기로 효율적으로 기능을 수행할 수 있습니다.(안드로이드에서 워낙 많이 사용해본 기억.) 일단 구현해보자! 저만의 방식으로 구현해봤습니다. 언제나 날카로운 지적 부탁드립니다. package algo;public class callback implements CallBackInterface { public void test(){ TestClass testClass = new TestClass(); testClass.setCallBack(this); testClass.callWork(); } @Override public void ca..

Daily & Thinking

스타트업(B사) 대면 면접 후기!

결론부터 말하자면 코딩테스트에서 정말 몇 줄도 코딩하지 못했다. 기존의 했던 테스트에서 요구사항에는 얼추 부합해보이지만, 세부 요구사항을 만족하지 못하는 요구사항이 있어 그 부분에 있어 다시 코딩을 하게 되었다. 여러가지 ROW를 리스트뷰에서 보여주는 일이였는데, 리싸이클로뷰로 만들껄.. 이라고 마음속으로 10번은 생각했던것 같다. 머리속에 혼란이 오니 처음 시작부터 삐딱선을 타기 시작했고, 추상클래스를 이용하여 ROW 리스트 타입 반환하는 함수를 만들어 내지 못했다. 이론으로만 배웠던 자바의 OOP 특성들을 잘 살리지 못했다. 기존의 방식을 살리려고 생각하다보니 더 어렵게 생각한거 같다.(지금 생각해보니 한개의 레이아웃에 두개의 레이아웃을 인클루드 시켜서 visiablitiy로 하면 인플레이트의 비용을..

Android

인텐트 및 인텐트 필터에 대해 알아보자.

빙글 면접이 다음주 월요일로 다가왔다. 그래서 안하던 공부를 좀 해보려구 한다! 누군가 Intent에 대해 설명해주세요. 라고 물어봐서 안드로이드 4가지 컨포넌트간에 작업 수행을 위해 정보를 전달하는 역할을 하고있습니다. 암시적, 명시적 인텐트로 구분되며, 일반적으로 앱 내에서 컴포넌트 간의 호출은 명시적 인텐트를 많이 사용합니다. 그 이유는 클래스명을 알수 있어 지정된 클래스명의 액티비티에서만 실행되기 때문입니다. 라고 대답한적이 있다. 다소 여러모로 아쉬운 대답이다. 인텐트는 액티비티 시작, 서비스 시작, 브로드캐스트 전달등 많은 상황에서 사용된다. 안드로이드에서 A액티비티에서 B액티비티를 시작할때 아마 한번쯤은 왜 인텐트를 사용하는지 고민을 해봤을 것이다 Intent는 일종의 메시지 객체이다. 여러..

Android

Apk는 어떻게 만들어지는 걸까?

APK파일은 프로젝트 -> app -> build ->outputs->apk 에서 확인 할수있다. 그럼 이런 APK파일은 어떻게 만들어지는 것일까-? 앞에 그림을 보면 상당히 복잡한 구조로 APK 파일이 만들어지는 것을 확인할 수 있다. 천천히 단계별로 살펴보자. 맨처음은 컴파일 단계로 앱 내의 리소스 관련 파일과 AIDL(android interface description language의 약어로 안드로이드에서 프로세스 사이에 통신이 필요한 경우 필요한 인터페이스를 정의하는 언어 일반적으로 서로 다른 앱에서 통신이 필요한경우 자주 사용 한다.) 파일들이 .java로 각각 aapt 툴과 aidl 툴에 의해서 변환되어 Application Source Code에 해당되는 .java 파일들과 함께 자바 컴..

Android

초보 개발자의 아주 간단한 커스텀 뷰 개발기

몇 일전 스타트업 빙글의 테스트를 보았다. 어찌어찌 요구사항은 모두 만족하였지만, 맘 한구석이 무거웠다. 역시나 역시나 열정만큼 따라오지 않는 실력이 아쉬웠다. 그래서 안드로이드 개발력(?)에 대해 피드백도 받고싶고, 한걸음 성숙한 개발자가 되고 싶어 기술 블로그를 시작 하게 되었다. 오늘은 첫 포스팅 다운 포스팅을 하려고 한다.(세상에서 제일 못하는 것들 중 하나가 글쓰기다... 아아 물론 개발도 포함된다^ㅠ^ 쓰다보면 늘지 않을까 싶다) 필자는 주말마다 한남동에 가서 안드로이드 개발을 배우고 있다.(사실 프로젝트지만 배움의 느낌이 더크다.)개발자는 모두 5명으로 3명은 안드로이드, 2명은 서버이다.안드로이드 진영은 네이버 웹툰 개발자, 카카오 개발자, 그리고 백수인 나(눈물이 흐른다.) 서버 진영은 ..

Kotlin & Java

자바 객체 비교

자바 객체를 비교할때 equals 뿐만 아니라 hashode도 오버라이드 해줘야 하는 이유 public class Student { private int student_id; private String name; private String major; public int getStudent_id() { return student_id; } public void setStudent_id(int student_id) { this.student_id = student_id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMajor() { return m..

Android/미분류

RxJava를 이용한 Reactive Programming

What is RxJava?생명주기와 동시성 프로그래밍기존의 AsyncTask는 많은 성능저하를 가지고 온다. 또한 생명주기에 따라 인스턴스를 해제해주지 않으면 memory leak에 대한 주의가 필요합니다. 이러한 문제점을 해결하고자한 프로그래밍 패러다임이 Reactive 프로그래밍입니다. 예로 Reactive 프로그래밍을 간단하게 말하면 각 항목을 관찰(Observe)하다가 항목에 변화가 있으면 등록된 Observer에 따라 갱신해주는 구성입니다.Reactive 프로그래밍의 대표적인 예는 엑셀차트입니다.Observable -> 관측 가능한 값의 흐름을 나타내는 객체 (생산자) 버튼 클릭 subscribe 함수를 통해 구독이 가능하며 , 구독자에게 값의 흐름을 알려준다.Observer - > 값의 흐름..

Nanamare
TEAM > SELF