본문 바로가기
반응형

전체 글386

Android 에서 Activity로 Object넘겨줄 때엔 Serializable Activity로 데이터를 넘기고 싶을 때, Intent로 PutExtra()메소드를 사용하여 데이터를 넘기는데요. 넘길 데이터가, 스트링 한두개가 아닌 경우도 있습니다. 예를 들면, 데이터 클래스가 다음과 같은 경우죠. 물론, 이런 데이터들 서버에서 받아서, 만능 ArrayList로 만들어서 넘길수도 있고, HashMap같은 게 필요할 때는 그것을 사용할 수도 있겠죠. 하지만, 당연하게도, Object를 넘길 수도 있습니다. 이 때, 데이터 클래스에서 implement하면 되는 것이 바로 Serializable입니다. 1. Serializable 적용 적용은 어떻게 할까요? 네, implements Serializable 요거면 됩니다. 우리말로 직렬화 인데요. 자바객체를 전송할 때, 다시 복원할 수 .. 2016. 12. 26.
RecyclerView 로 listview 정복 Part.2 #리스트 아이템 클릭 이전글에서 RecyclerView로 리스트를 만드는 것에 대해서 정리해보았었는데요. 오늘은 만든 리스트를 유저가 터치할 수 있고, 그에 대해 간단하게 토스트팝업을 띄우는 것에 대해 정리해보겠습니다. 참고로 리스트뷰 만드는 방법에 대해서는 아래 링크에 정리되어 있습니다~. >> RecyclerView 로 listview 정복 Part1 1. 리스트 한줄 클릭시 반응하기 먼저 개발할 시나리오를 정리해보면 다음과 같습니다. 리스트에 있는 여러개의 줄중 하나의 줄 전체를 유저가 클릭하면, 터치한 줄의 데이터를 받아와서, 토스트 팝업을 띄운다. 그럼 아래에서 구현하면서 정리해보겠습니다. 1-1. 유저가 터치하는 것을 누가 알까? 유저가 터치했는지 어떻게 알수있을까요? 유저는 뷰를 터치한 것이고, 뷰는 뷰홀더에 있.. 2016. 12. 25.
안드로이드 에서 쓰는 핫한 DB, Realm Part1 안드로이드에서 쓰는 데이터베이스로 SQLite도 있지만,요즘엔 Realm도 많이들 쓰시는 것 같아서,직접 사용해보면서, 정리해보았습니다. 1. 라이브러리 설정Realm은 설정하는 것이, 일반 다른 라이브러리들하고는 약간 다른데요.아래 보시는 것과 같이, build.gradle은 두가지가 있습니다.Project레벨의 build.gradle과 App레벨의 build.gradle 인데 각각 다르게 설정을 해주어야 합니다.  먼저 Project레벨부터 보시죠.buildscript의 레벨의 dependency에 설정부터 해주겠습니다.>> classpath "io.realm:realm-gradle-plugin:2.2.2"   그리고 나서 App레벨에서도 설정해줍니다.맨 상단에 이렇게 추가하면 됩니다.>> apply.. 2016. 12. 24.
JAVA Interface 안드로이드를 위한 자바 인터페이스 #다중상속 #콜백 오늘은 안드로이드를 위한 자바의 Interface를 정리해볼려고 합니다. 참고로 여기서 말하는 Java의 혹은 android에서 사용하는 Interface는User Interface, 즉 UI의 Interface가 아닙니다.개발자의 코드와 생성한 객체간의 interface의 역할을 의미합니다.음... 추상적이라 잘 않와닿으니,, 쓰임새를 보면서 알아보기로 하겠습니다. 안드로이드와 관련해서 Interface가 필요한 경우가 여러가지가 있겠지만,크게 두가지를 짚고 가려고 합니다.바로, 다중상속이 필요할 때와 콜백으로 사용할 때인데요. 1. 다중 상속이 필요할 때 사실 말이 어패가 좀 있는것이, 정확히는 다중 상속이 아니라, 다중 구현(implements)을 하는 것입니다.특히나 다중 상속이 않되는 자바의 클.. 2016. 12. 21.
Android 라인(수평선, 수직선) 그리기 안드로이드 UI작업을 XML에서 하다보면, 별것아닌데, 필요한 것이 있죠. 바로 1px짜리, 혹은 2px짜리 라인입니다. 이걸 이미지로 한다는 것은 너무나 귀찮은 일이죠. 1. 수평선 그리기 위와 같이 View를 이용해서 쉽게 그려낼 수 있습니다. 2. 수직선 그리기 사실 이건 특별할 게 없습니다. width와 height만 원하시는 길이로 잡아 주시면 되거든요. 별거 아닌 팁중 하나인 라인 그리기 정리해보았습니다. 추후에 코드를 이용해 동적으로 추가하는 것도 정리해볼 생각입니다~ 2016. 12. 20.
RecyclerView 로 listview 정복 안드로이드, 아니 모바일 UI의 작업의 핵심은 역시 ListView인것 같습니다. 앱을 만들면서 ListView를 만들지 않은 적은 없었는데요. 오늘은, 이 RecyclerView를 한번 정리해볼려고 합니다~. 최종적으로 만들려고 하는 형태는 다음과 같습니다. 1. 라이브러리 설정 역시나 Library부터 설정하고 가겠습니다. Dependencies에서 recyclerview로 검색하셔서 파란색 하이라이트된 라이브러리를 선택해 추가하시면 됩니다. Gradle파일에 직접 추가하시려면 하단에 compile 'compile 'com.android.support:recyclerview-v7:24.2.0'' 를 추가해주세요~ 그럼 저희가 구현해야 할 것들이 나옵니다. onCreateViewHolder부터 보겠습니.. 2016. 12. 20.
Gson + Retrofit + RxAndroid이용해 JSON파싱할 때 Nested Array 처리 파싱이란걸 하려고 보면, 저의 작은 희망과는 다르게;;; 중첩된 JSON을 많이 보게 되지요. 구글님이 만들어주신 GSON은 JSON 객체를 Java객체로 만들어줘서 코딩을 편하게 해주는데요. 중첩된 배열의 Json을 어떻게 파싱하는지 정리해보고자 합니다. 참고로 여기서 저는 GSON + RxAndroid + Retrofit 조합으로 사용을 하고 있는데요. 장점이 많은 조합이라고 생각하는데, 구체적인 사용법은 따로 글로 한번 정리하려고 합니다. 1. 파싱할 JSON분석 먼저 서버에서 JSON이 이렇게 내려온다고 가정해볼께요. 배열을 품고 있는 중첩 Json 객체이네요. 이제 시작해봅니다. 2. JSON과 동일한 모델 클래스 생성 우선은 파싱할 JSON 객체의 구조와 동일하게 모델 클래스를 만들어야 겠네요.. 2016. 12. 20.
RxAndroid 이해하기 Part1 RxAndroid는 Retrofit을 사용해보려고 하던차에 이와 궁합이 아주 좋으면서 AsyncTask를 대체할 라이브러리가 있다고 들어서 접하게 되었는데요. 조금씩 써보니 장점이 많은것 같아서 정리해보고자 합니다. 1. 라이브러리 설정 역시나 외부 라이브러리를 불러오는 것이니, Dependency 설정부터 합니다. 참고로, Gradle파일을 직접 수정하시는 분들은 가장 하단에 compile 'io.reactivex:rxjandroid:1.2.1' 만 추가하면 됩니다. 하지만, 요즘엔 이렇게 잘 않하시지요? ;) 2. RXANDROID의 4대 요소 RxAndroid는 크게 4가지로 구성되어 있는데요.ObservableObserverSchedulerSubScription이렇게 4가지 입니다. 2-1. Ob.. 2016. 12. 17.