본문 바로가기
반응형

분류 전체보기379

TextView에 글자가 흐르게 하는 marquee 안드로이드 앱을 만들다 보면, 공간에 비해서 텍스트가 많아서 텍스트가 흐르도록 해야하는 경우가 있는데요이 때 어떻게 하면 텍스트가 흐르도록 할 수 있는지 정리해보도록 하겠습니다. 1. TextView 설정 아래와 같이 화면크기보다 글자가 많도록 TextView를 설정해 주었구요.그리고 singleLine을 true로 주어서 1줄로만 나타나도록 해 주었습니다.(MaxLines나 lines = 1로 주는 것은 동작하지 않더군요)이제, 글자가 흐르지 않으면 화면에서 잘려보일 텐데요. 아래와 같이 화면이 잘려보입니다. 이제, 화면에서 글이 흐르도록 옵션을 설정해 보겠습니다. 2017. 7. 6.
com.android.dex.DexIndexOverflowException 대처하기 안드로이드 앱을 만들고 출시준비를 하기 위해서 SignedAPK를 만들려고 하면,DexIndexOverflowException이 나는 경우가 있습니다. 65536개로 메소드 숫자를 제한해 놓았기 때문인데요.라이브러리를 많이 쓰다보면, 라이브러리에 들어있는 많은 메소드들 때문에 생각보다 많은 메소드가 App안에 존재하게 되는 것이지요. 많은 메소드를 제공하는, Google Play Service 가 원인이 되는 경우가 많은데요.오늘은 그 해결 방법을 정리해겠습니다. 1. Google Play Service 에서 필요한 라이브러리만 추가 구글 맵을 사용하여 앱을 만들려고, Google의 개발자 사이트를 참조하다 보면,아래와 같이 play-services 전체 라이브러리를 추가하라고 나오는데요.https://.. 2017. 7. 5.
EditText의 ImeOptions 로 키보드의 Action 설정하기 사용자에게 입력을 받을 때, 키보드 우측 하단에 검색 같은 Action명령어를 본 적이 있으실 텐데요.오늘은 이것을 설정하는 방법에 대해서 정리해 보겠습니다. 1. EditText 우선, 사용자에게 입력을 받을 수 있는 EditText를 설정해 줍니다. 그럼 아래와 같은 키보드를 볼 수 있는데요.화살표가 가르키는 방향에 여러가지 액션들을 정의하고 실행시킬 수 있습니다. 그럼. 이것을 검색으로 바꿔 보도록 하겠습니다.imeOptions의 값을 actionSearch로 해주면 됩니다. 아래와 같이 변경 된 것을 볼 수 있습니다. 참고로 imeActionLabel의 값을 주면, 텍스트로 버튼을 대신할 수 있습니다. 2017. 7. 5.
notifyDataSetChanged 실행시에 깜박이는 현상 해결 안드로이드의 리스트뷰는 전부 RecyclerView로 한다고 해도 될 정도로,RecyclerView는 정말 많이 사용됩니다. RecyclerView를 사용하다가 때로는, intialize된 후에 각 아이템의 데이터가 수정되어서, 다시 notifyDataSetChanged()를 해줘야 하는 경우가 생깁니다. 보통은 한번만 해주면 되는 notifyDataSetChanged()를 두번 혹은 그 이상 해야되는 경우가 있는 것인데요.이렇게 하면 깜박임 현상이 발생하는 것을 볼 수 있습니다. 오늘은, 이 문제를 해결 하려면 어떻게 해야 하는지 정리해보겠습니다. 참고로, 이글에서는 RecyclerView의 구현과 기본적인 내용에 대해서는 생략합니다.RecyclerView의 기본적인 내용은 아래 링크를 참조해 주세요... 2017. 7. 2.
앱 설치시 바로가기 아이콘 설치 구현 안드로이드 앱을 설치하다 보면, 설치가 끝나고 바로가기를 홈에 바로 만들어주는 앱을 볼 수 있습니다.이런것들이 항상 일어나는 것이 아닌 것을 보면, 개발자가 구현을 한 것으로 생각할 수 있는데요.어떻게 한 것일까요? 오늘은 이 방법을 정리해 보도록 하겠습니다. 1. Manifest 설정 역시 안드로이드 기능을 구현하면, permission을 설정하지 않으면 뭔가 허전해지네요.가장 먼저 할일은 Manifest를 아래와 같이 설정해 주는 것입니다. 2. 중복을 방지하기 위해 SharePreference사용 이번 기능은 복잡하지는 않지만, 설치할 때 마다 바로가기를 만들수는 없으니,SharedPreference를 사용해서 한 번 설치되면 더 이상 하지 않도록 설정해 줍니다. 참고로 SharedPreferenc.. 2017. 7. 2.
WeakReference <약한 참조> 에 대해서 정리해보자 앱 개발이 마무리 단계에 들어서서, 테스트하면서 부딪히는 문제가 바로 MemoryLeak입니다.MemoryLeak(메모리 누수)가 나는데는 여러가지 문제가 있습니다만.해결책으로 종종 제시되는 것이 WeakReference(약한 참조)인데요.이것은 StrongReference(강한참조)와 어떻게 다르고, 어떻게 구현하는 것일까요?오늘은 그 방법에 정리해 보겠습니다. 1. WeakReference vs StrongReference WeakReference와 StrongReference에 대해서 간단히 정리해 보도록 하겠습니다.(SoftReference나 Phantom도 있지만 이 부분은 다음에 글로 정리해 보도록 하겠습니다.) 우리말로 하면 약한 참조 vs 강한 참조가 되는데요.무언가가 약하고 강하다는 것인.. 2017. 6. 30.
미리 작성된 Realm 데이터베이스를 앱에 넣어서 사용하기 Realm은 여러가지 API를 제공해주어서 참 편리하다고 생각하는데요.오늘은, 미리 만들어진 데이터베이스 파일을 앱을 출시하면서 넣어서 사용할 때 어떻게 해야 하는지 정리해 보도록 하겠습니다. 이 API를 알기전에는, 최신버전인지 확인해서 assets폴더나 raw폴더에 들어있는 DB파일을 다시 앱내 디렉토리로 저장했었던 적이 있습니다.하지만 assetFIle()메소드만 잘 사용한다면 이런작업도 더 이상 필요없어졌네요.하나하나 보도록 하겠습니다. 1. assetFile() 기존에 RealmConfiguration을 build해 줄 때,name()메소드의 인자로, 해당 RealmDB의 파일명을 아래와 같이 지정해 주었었는데요.(참고로 지정해주지 않으면, default.realm으로 저장이 되지요.) 위와 같.. 2017. 6. 19.
Splash (로딩화면) 화면 만들기 | Android 앱을 만들 때, 스플래쉬 화면이 들어가는 경우가 많은데요. 오늘은 스플래쉬 화면을 만드는 방법에 대해서 정리해 보겠습니다. 1. Google의 SplashScreen 가이드 구글의 SplashScreen 가이드는 아래의 링크를 보면 되는데요. https://material.io/guidelines/patterns/launch-screens.html 로딩시간이 짧은 앱에 적합하다고 되어 있네요. SplashScreen은 다음과 같이 두가지로 나누어 지는데요. 로딩전까지 핵심 UI들을 PlaceHolder로서 미리 보여주는 PlaceHolder UI 브랜드를 홍보하기위한 Branded launch screens 아무래도, 두번째인 Branded launch screen의 경우가 많을 것 같습니다. 그럼 어떻.. 2017. 6. 18.
Keyboard 가 보이는지 알수 있게 해주는 ViewTreeObserver 앱을 만들다 보면, 키보드(softKeyboard)가 화면에 올라가 있는지 아닌지 알아야 할 때 가 있는데요.오늘은 어떻게 하면 화면을 측정해서, 키보드가 올라가는지 내려가 있는지 알 수 있는지에 관해서 정리해 보도록 하겠습니다.(언젠가 구글에서 Keyboard의 show/hide 상태를 얻어올 수 있는 API가 생기면 좋겠다는 바람이 있네요) 1. XML 작업 먼저 EditText를 넣어서 키보드를 올릴경우에 어떻게 되는지 보도록 하겠습니다.EditText를 넣어주고, 추가적으로 최상단 부모View에 id를 아래이미지와 같이 넣어줍니다. 또한 manifest파일에서 keyboard 가 올라갈 경우에 화면에 resize되도록 해주기 위해 adjustResize와, 앱시작후에 키보드가 나타나있지 않도록 s.. 2017. 6. 10.
AdMob 구현 방법 총정리 # Android 앱 배너 광고 안드로이드 앱을 만들어서 배포할 수준이 되었다면, 마지막으로 광고를 붙이는 작업을 추가 할 수 있는데요. 오늘은 Admob를 이용하여서, 광고배너를 앱에 붙이는 방법에 대해서 정리해 보도록 하겠습니다. 참고로 Firebase가 현재 앱과 연결되어 있지 않다면, 먼저 아래 링크를 참조해서 firebase에서 프로젝트를 생성하고 google-services.json 파일을 저장해주어야 합니다. (https://firebase.google.com/docs/android/setup) 1. Admob 모듈 implement 하기 1-1. project level의 build.gradle project 레벨의 build.gradle에 다음과 같이 google-services를 추가해 줍니다. buildscript .. 2017. 6. 9.
ScrollView 에서 하단에 뷰를 붙일 때 필요한 fillViewport 안드로이드 앱을 만들다 보면, 스크롤 뷰 가장 하단에 광고라든가, 확인 취소 버튼을 넣어야 하는 경우가 있습니다.그런데, 디폴트로 스크롤 뷰의 자식뷰가 항상 View의 전체 면적을 차지하지 않고 있기 때문에,가장 하단에 위치해야 하는 광고 혹은 확인 취소 버튼이 위로 올라가 붙어있습니다. 물론, RelativeVIew를 사용해서 하단에 항상 위치시킬 수 도 있지만,원하지 않는 결과가 나올수도 있으므로 항상 Relative로 해결할 수는 없습니다. 이럴 때 어떻게 해야할지 실제로 구현해 보면서 정리하겠습니다. 1. 기본 UI 구현 먼저 스크롤 뷰의 ChildLayout에 LinearLayout을 넣고, 그 안에 주황색 View와 입력을 받을 수 있는 EditText를 위치시킵니다.이 때, layout_we.. 2017. 6. 7.
RetryWhen 으로 다시 시도 (Retry) 구현하기 #RxJava 네트워크를 한다던지, 서버 클라이언트 관계를 만들경우,연결이 되어있지 않거나, 원하는 정보를 아직 받지 못할 경우가 있습니다.이럴 때, RxJava의 Operator인 RetryWhen을 사용하면 한결 쉽게 이러한 처리를 할 수 있는데요. 오늘은 이 retryWhen에 대해서 정리해보도록 하겠습니다. 1. RetryWhen 오퍼레이터 RxJava의 Retry 오퍼레이터는 error가 생기면, 자동으로 다시 subscribe해주는 메소드인데요.이 retry에 조건 when을 붙인것이 retryWhen 입니다. 우선 마블다이어그램 먼저 보시죠.굉장히 복잡하지만, 조금씩 정리해 보겠습니다. 참고로 마블 다이어그램에 대해서는 아래 글을 참조해주세요.>>> RxJava (RxAndroid) 의 마블 다이어그램을 .. 2017. 5. 25.
RxJava (RxAndroid) 의 마블 다이어그램을 이해해보자. RxJava의 공식문서를 보면, 다양한 Operator들을 마블 다이어그램을 중심으로 설명하고 있습니다. 아래의 이미지는 reactivex.io사이트에 나와있는, Observable에 대한 설명인데요.역시 마블 다이어그램으로 설명되어 있네요. 아무것도 모르는 상태에서 보면, "이게 뭐지?" 싶지만, 하나하나 잘 살펴보면, 이해를 도와주는 좋은 툴이 될 수도 있습니다.오늘은 이 마블 다이어그램에 대해서 하나하나 뜯어보면서, 정리해 보도록 하겠습니다. 참고로, RxAndroid의 기본적인 사항에 대한 것은 아래 글을 참조해주세요. >>> RxAndroid 이해하기 Part1 2017. 5. 24.
Wifi / 3G 네트워크 연결 상태를 확인하는 ConnectivityManager 안드로이드 앱을 만들면서, Wifi나 3G를 사용해서 인터넷에 연결되어야 할 경우,사용자의 스마트폰이 연결되어 있는지 체크해야 할 필요가 있습니다. 오늘은 이 경우에 어떻게 해야 하는지 정리해 보도록 하겠습니다. 1. Permission 설정 안드로이드에서 코딩을 하면서, 항상 체크해봐야 할 것이 이 API가 Permission이 필요한 것인가 인데요.네트워크 상태를 알아볼 때에도 역시나 permission이 필요합니다.다행인 것은 동적 permission을 요구하지는 않으므로,Manifest에서 android.permission.ACCESS_NETWORK_STATE 에 대해서 uses-permission태그를 추가해주면 됩니다.(네트워크 사용에 대한 것이므로 internet 사용permission을 요.. 2017. 5. 23.
OKHttp 의 Application Interceptor 와 Network Interceptor 안드로이드 앱을 만들면서 네트워크 라이브러리로 무엇을 쓰시나요? 물론, 구글 개발자사이트에서 코드까지 제공해주는 Volley Library도 있긴하지만, 실제로 구글도 많이는 않쓴다고 하지요. 저와 제 주변에서는 OKHttp가 많이 쓰이는 것 같은데요. 오늘은 이 OKHttp를 사용하면서 쓰게되는 Interceptor라는 것에 대해서 정리해보고자 합니다. Interceptor는 말 그대로 낚아채는 것인데요. 네트워크 통신을 하는 중간에, 무언가를 공통적으로 실어보내거나 받아서 써야 할때 사용합니다. 크게 두가지가 있는데, Application Interceptor와 Network Interceptor가 있습니다. 1. Intercept는 두번 한다. 두가지 Interceptor에 대해서 알아보기 전에, .. 2017. 5. 22.
Activity 화면이 꺼지지 않도록 하려면? 앱을 만들다 보면, 유저의 입력을 받지 않아도 계속 화면이 켜져 있도록 해야 하는 경우가 있는데요.이 경우에는 어떻게 해야할가요?XML에서 설정해주는 방법과, Java코드에서 하는 방법이 있는데요.하나하나 알아보겠습니다. 1. XML에서 설정하는 방법 아래와 같이, android:keepScreenOn="true" 을 해주는 것 만으로, Activity실행이후에 유저가 화면을 끄지 않는 한은 Sleep 모드로 들어가지 않습니다. 2. Java Code에서 설정하는 방법 JavaCode에서 설정하는 방법도 한 줄이면 되는데요.>> getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);이 코드를 추가해주기만 하면됩니다. 참고로, Cpu가 .. 2017. 4. 21.
clipChildren 으로 ViewGroup의 범위를 벗어나는 안드로이드 UI 안드로이드 앱을 만들면서, UI작업을 하다보면 ViewGroup의 범위를 벗어나도록 표현해야 할 경우가 생깁니다.무작정 마이너스 마진을 넣는다고 되지는 않구요. ViewGroup의 clipChildren 옵션을 사용해야 하는데요. 오늘은 이 clipChildren옵션을 사용해서 VIewGroup범위를 벗어나는 UI를 그리는 방법에 대해서,실제로 코드를 작성해보면서 정리해 보겠습니다. 1. ViewGroup에 ClipChildren 적용하기 ViewGroup중 하나인 RelativeLayout에 ClipChildren을 먼저 적용해 보겠습니다.이 옵션은 ViewGroup의 Child가 부모의 범위안에서 그려지도록 제한할지를 정하는 옵션입니다.false를 주지 않으면 기본값인 true로 되어서, 아무리 마이.. 2017. 4. 17.
안드로이드의 Multi Thread, Runnable, Looper 그리고 Handler 오늘은 멀티Thread와 관련된 Runnable과 Looper 그리고 Handler에 대해서 정리해 보겠습니다. 1. 멀티 Thread Java의 JVM에서는, 하나의 Process에서, Thread 라고 하는 코드를 실행시키는 객체를 여러개 가질 수 있도록 허용하고 있습니다.이를 활용하여, 복잡한 계산이라든가, 네트워크 등의 실행을 다른 쓰레드에서 효율적으로 실행할 수 있도록 하고 있는데요.멀티 Thread를 실행하는데 관련된 요소들을 정리해 보도록 하겠습니다. 1-1. Process 와 Thread 먼저 쓰레드가 속해있는 Process에 대해서 정리해 보겠습니다. Process는 실행중인 프로그램의 객체를 의미하는데요.이를 Android를 기준으로 생각해보겟습니다. Android에서 앱을 실행할때, .. 2017. 4. 9.
Math 클래스 의 반올림, 올림, 버림 등 자주 사용하는 메소드 정리 #Java Java 프로그래밍을 하다보면, 반올림이나 올림 혹은 내림등을 해야하는 경우들이 있습니다. 이럴 때는, Math클래스의 메소드인 round나 ceil, floor 등을 사용하면 되는데요. 오늘은 이 Math클래스의 자주 사용하는 메소드들에 대해서 정리해 보겠습니다. 1. 반올림 먼저, 반올림에 대해서 알아보겠습니다. 사용하는 메소드는 round()이구요. 여기서는 0.5324라는 값을 주었는데요. 반올림하면 아래와 같이 1을 반환해줍니다. 2. 내림 이번에는 무조건 값을 버리는 내림을 해볼텐데요.사용하는 메소드는 floor() 입니다.아래와 같이 소수점 아래값을 모두 버리고, 0,0을 반환해 줍니다. 2017. 4. 9.
git-quick-stats 로 보는 다양한 Git 통계 오늘 작업한 코드량이나, 특정 개발자가 작업하여 Git에 커밋한 코드 수는 어떻게 확인할 수 있을까요? 통계를 확인하는 git 명령어들을 터미널에서 입력해줄 수도 있겠지만,좀 더 쉽게 통계를 볼수 있도록 해주는 툴이 있어서 소개해 드리겠습니다~ 이름은 git quick-stats인데요.이름에서도 알 수 있듯이, 빠르게 stat을 볼 수 있도록 해줍니다.그럼, 설치방법과 간단한 사용법들을 간단하게 정리해 보겠습니다. 1. 설치 방법 맥에서는 brew를 이용하면 너무나 쉽습니다.(항상 brew update 하시는 것 아시지요?) 아래와 같이 터미널에 입력하면, 알아서 설치를 마쳐줍니다.>> brew install git-quick-stats Window나 Linux에서의 좀 더 자세한 설치방법은, 아래링크의.. 2017. 4. 5.
BindService 의 생성과 Activity 에서의 Bind 안드로이드 앱을 만들다보면, 백그라운드에서 동작하고 있는 Service와 Activity간에 인터랙션이 필요한 경우가 있습니다. 단순히 Service를 stop하고 start하며, intent로 데이터를 전달하는 것 뿐만이 아니라, 사용자의 터치등에 반응하여, Service의 메소드를 실행하고 결과를 Activity의 UI에 반영해주어야 하는 경우인데요. 오늘은 이를 가능하게 해주는 BindService를 생성하고, Activity에서 Bind하는 방법에 대해서 정리해보겠습니다. 1. Bind 서비스 생성 Bind 서비스를 생성하기 위해서, BinderClass를 상속받아서 사용할 수도 있구요. Messenger를 이용하는 방법도 있는데요. 같은 App이고, 같은 Process에 속해있는 Service와.. 2017. 4. 4.
Google Map 에서 내 위치 지도에 표시하기 이번 글은 Android에서 Google Map API 이용해 지도 화면 만들기에 대해 다루었던 예전 글에서 이어지는 내용입니다.Android Studio를 이용해서, 구글맵 화면을 만드는 것에 대해서는 아래 링크에서 먼저, 제 글을 읽어주세요.>>> Google Map API 이용해 지도 화면 만들기 Android 에서 동적 권한 얻기 2017. 4. 3.
SourceTree 에서 수정하는 gitignore SourceTree를 이용하면 형상관리를 쉽게 할 수 있어서 좋은데요. 하지만, 가끔 관리하지 않아도 될 파일들이 추가되는 경우가 있습니다. 특히, Android Studio를 사용하다 보면, Studio와 관련된 파일들이 많이 생성되는데, 이 파일들이 다 Commit대상으로 올라오게 되는데요. 이 파일들의 설정은 개인들마다 달라지는 부분으로, Commit하면 않되는 파일들이지요. 이럴 경우를 대비해서, Commit하면 않되는 파일들은 .gitIgnore파일에서 설정할 수 있도록 되어있는데요. 오늘은 SourceTree에서 이 gitIgnore파일을 수정하는, 두가지 방법에 대해서 정리해 보겠습니다. 1. GitIgnore파일 수정 먼저 정리해 볼 방법은, gitignore파일을 직접 수정하는 것인데요... 2017. 4. 3.
SparseArray 가 무엇인가요? HashMap의 키값으로 Integer를 사용하면, Android스튜디오가 퍼포먼스 향상을 위해서 SparseArray를 사용하라고 하는 것을 본적이 있으신가요?저도 종종 보게되는데요. 오늘은 이 SparseArray에 대해서 간단히 정리해보도록 하겠습니다. 1. SparseArray SparseArray는 integer값을 Objects에 매핑을 해주는 것인데요.특이한 점은, 각 인덱스 사이에 공간을 만들수 있다는 것입니다.(예를 들면, 1~10번에 아이템들이 있고, 그다음에 11~20번은 비우고, 30~40번에 아이템들을 넣을 수 있다는 것이죠.) 성능향상을 위해서 SparseArray는 데이터가 지워지면, deleted로 표시하고 그 공간을 비워놓습니다.(물론, 지워진 데이터의 키값을 주고 데이터를.. 2017. 3. 29.
Android 에서 wake lock 으로 휴대폰을 깨우자. 알람앱 같이 안드로이드 폰이 잠들어 잠들어 있다가, 일정시간이 되면 앱의 화면이 켜져야 한다면 어떻게 해야할까요?이 때 사용할 수 있는, 안드로이드 시스템에서 제공해주는 기능으로 wake lock 이라는 것이 있는데요.오늘은 이것에 관해서 정리해보겠습니다. 1. Permission 선언 제일 먼저 해야할 것은 permission을 선언하는 것입니다.너무도 다행스러운 것은 동적 permission의 대상은 아니라는 것이네요.아래와 같이 manifest에 선언해주면 됩니다. 2. Cpu 깨어있도록 하기 사용자의 휴대폰이 Sleep모드로 들어가도, 폰의 CPU가 깨어있다면 일정한 시간에 계산을 해서,화면을 켜고 소리를 플레이 하는 등의 과업을 수행할 수 있습니다. 이것은 어떻게 하는 것일까요?Cpu가 깨어있도.. 2017. 3. 23.
Matcher 클래스와 Pattern Class로 정규 표현식을 활용해보자 지난 글에서 정규 표현식(Regular Expression)에 대해서 정리해 보았었는데요.오늘은 Matcher클래스와 Pattern 클래스를 이용해서,정규 표현식을 활용해보는 것에 대해서 정리해 보도록 하겠습니다. 참고로, 정규표현식에 관해서는 아래글을 참조해주세요.>>> 정규 표현식 (Regular Expression) 과 응용 사례를 정리해 보자 2017. 3. 22.
안드로이드 Notification 구현하기 feat. Big View 모바일 앱에서 매우 중요한 스펙중하나가, 유저에게 정보를 알려줄 수 있는 Notification인데요.오늘은 이 기능에대해서 정리해보려고 합니다. 유저에게 정보를 알려줄 때에 사용하는 클래스는 NotificationBuilder 클래스인데요.하위호환성을 위해서, 구글에서 제공해주는 Support라이브러리의 NotificationCompat.Builder클래스를 사용해야합니다. 1. Noti버튼 XML 생성 먼저 아래와 같이, Notification을 생성하는 버튼을 XML파일에서 만들겠습니다. 2. Notification Builder 필수 메소드 구현 제일 먼저 구현해야하는 것은 NotificationCompat.Builder클래스입니다.필수로 구현해야하는 메소드는, 아래에서 구현한 것과 같은데요.아이.. 2017. 3. 21.
RxJava 의 FlatMap, From 그리고 filter 로 For문 에서 벗어나보자 RxJava의 장점중의 하나는 다양한 Operator의 제공인데요.오늘은 FlatMap과 From을 사용하여서,Observable이 흘려보내준 List아이템들을,for문을 돌리지 않고 filter를 하여,원하는 결과만을 얻을 수 있도록 하는 방법에 대해서 정리해보겠습니다. 혹시 RxAndroid 가 무엇인지에 대해서, 보고싶으시다면,아래의 글을 참조해 주세요~.>>> RxAndroid 이해하기 Part1 RxJava (RxAndroid)의 Map 과 FlatMap 메소드를 알아보자 RxJava (RxAndroid) 의 마블 다이어그램을 이해해보자.) 하나의 Collections를 받아서, 각각의 아이템으로 흘려보내준다는 것을 알 수 있습니다. filter는 Operator의 단어만 봐도 아실것 같은데요... 2017. 3. 20.
Java 배열 및 ArrayList 를 Comparable과 Comparator 를 이용해 정렬하기 안드로이드 앱을 만들 때, 자료형으로 배열이나 arrayList를 사용하게 되는 경우가 많은데요. 작업을 하다보면, 자료를 넣은대로 꺼내서 사용하지 않는 경우도 생기고,유저에게 보여줄 때, 순서를 필터링해서 보여줘야 하는 경우도 생깁니다. 오늘은, 배열이나, ArrayList를 이용해서, 자료를 원하는 Data기준으로, 정렬하는 방법에 대해서 정리해 보도록 하겠습니다. 1. 간단한 배열의 오름차순 정렬 먼저 아래와 같은 간단한 형태의 배열을 생성합니다. 순서가 뒤죽박죽인데요.오름차순으로 숫자가 적은 순서대로 정렬해 보도록 하겠습니다. Array.sort() 메소드에 인자로 위에서 생성한 Array를 넣어주기만 하면 되는데요.이것을 정렬해서 리스트로 표현해보겠습니다. 참고로 RecyclerView로 리스트.. 2017. 3. 19.
Hot Observable 과 Cold Observable은 무엇인가요? 오늘은 RxAndroid의 Hot Observable과 Cold Observable에 대해서 정리해 보겠습니다.Hot하고 Cold하다는 것이, 어떤 면에서 차이가 있는지 알아보고,Cold Observable을 사용하는 Operator도 정리해보겠습니다. 참고로, RxAndroid의 기본적인 사항에 대한 것은 아래 글을 참조해주세요. >>> RxAndroid 이해하기 Part1 2017. 3. 19.