본문 바로가기

안드로이드

[Android] IAPHelper handleActivityResult 안드로이드 인앱 결제를 하고자 한다면, 누구든지 TrivialDrive (https://github.com/googlesamples/android-play-billing) 샘플 소스를 한번 정도 테스트 해봤을 것이다. 이번 내용에서 인앱 결제 샘플 소스에서 IapHelper에 정의된 값으로 넘어오지 않아 고민하는 분들에게 참고드리고자 올린다.(정말 간단한 내용이라.. 올리기도 그렇지만 자그마한 도움이라도 됐으면 해서...) IapHelper 클래스에 보시면 아래와 같이 정의가 되어 있습니다. // Billing response codes public static final int BILLING_RESPONSE_RESULT_OK = 0; public static final int BILLING_RESPON.. 더보기
[Android] Tmp detached view should be removed from RecyclerView before it can be recycled 혹시 아래와 같은 에러 보신 분들은 참고 하세요. Tmp detached view should be removed from RecyclerView before it can be recycled 이건 RecyclerView가 삭제나 추가등 수정이 이뤄지고 있는 동안에 이벤트 적으로 다른 동작이 이뤄질 때 발생한 에러 입니다. 즉, RecyclerView에 있는 이미지를 클릭하면 확대하는 기능이 있습니다. 이미지를 클릭 하는 동시에 RecyclerView에 새로운 데이터가 추가 되는 현상이 발생 한 것이죠.이미지 확대 애니메이션이 동작 중인데 RecyclerView 해당 리스트가 변경이 되는 것이죠. 아~ 그럼 애니메이션 동작 할 때마다 RecyclerView를 체크 해야 하는 건가?그럴 필요 없습니다.애니.. 더보기
[Android] Cannot call this method while RecyclerView is computing a layout or scrolling Cannot call this method while RecyclerView is computing a layout or scrolling 위 에러는 RecyclerView 에서 notify 관련 함수(notifyDataSetChanged, notifyItemChanged 등등)을 사용할 때 자주 발생 한다.무슨 에러 일까.... RecyclerView 가 레이아웃을 계산 하고 있거나 스크로링 하는 동안 에는 사용 할 수 없다! 라는 문구이다. 그래서 난 UI 쓰레드(runOnUiThread) 를 사용 하면 되나 했더니.. 그것도 안되고 에러를 품어 낸다. 결국 구글링을 열심히 해봤다. 대답은 대부분이 Handler를 만들어 post로 던져라 이다.참고 : http://stackoverflow.com/a.. 더보기
[Andorid][DataBinding] 매개 변수 2개를 이용 하기 데이터 바인딩을 할 때 xml에 매개변수를 2개 이상 넣고 싶을 경우가 있을 겁니다.이럴 경우 어떻게 하나 고민이 많으 실 텐데요. 분명! 아래와 같이 해보신분들 계실듯~ 하지만 위와 같이 하면 데이터 바이딩 에러만 뽑아 냅니다.그럼 어떻게 하는지 알아볼까요? 먼저 바이딩할 함수를 만들어 놓습니다. 이건 통화(돈) 형태를 지정하는 함수 입니다. 참고 : http://gogorchg.tistory.com/entry/AndroidISO-4217-%ED%86%B5%ED%99%94-%ED%98%95%ED%83%9C-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%A7%8C%EB%93%A4%EA%B8%B0 @BindingAdapter({"amount","unit"}) public static void c.. 더보기
[Android][DataBinding] ImageView src에 연동 하기 (함수 연결) DataBinding이 무엇이고 기본적으로 어떻게 쓰이는지는 아래에서 확인 하면 되겠습니다.https://developer.android.com/topic/libraries/data-binding/index.html 이번 내용에서는 ImageView src에 어떻게 이미지를 연동 할 것인가에 대해 공유해보고자 합니다. 우선 ImageView에 이미지 리소스 id를 그냥 연결 하면 되지 않습니다.아래와 같이 생각하시는 분들이 있을 껍니다. 안됩니다. 안되요~~ src에 이미지를 넣기 위해서는 BindAdapter annotation을 이용하여 함수 바인딩이 필요 합니다.전 여기서 거의 몇시간을 테스트 하고 시간을 보냈는데요. 함수 바인딩을 할 때 가장 쉽게 생각 할 것이 annotation으로 연동이 된다.. 더보기
[Android]][DataBinding] String Format 적용하기 요즈음 DataBinding을 이용하면서 참 편리하게 코딩을 하고 있습니다. (기능 조사가 시간이 좀 걸렸지만^^a) xml 에 Data를 바인딩 하는 중 text에 String format은 어떻게 적용하지?? 궁금증이 생겼었습니다. 답은 구글에서 이미 넣어놓았더군요. String LiteralsWhen using single quotes around the attribute value, it is easy to use double quotes in the expression:android:text='@{map["firstName"]}'It is also possible to use double quotes to surround the attribute value. When doing so, Strin.. 더보기
[Android] DataBinding - findViewById 이제 안녕~ 정말 구글은 개발자에게 친절한 듯 하네요.좋은 라이브러리가 있어서 공유 하고자 합니다. DataBinding을 할 수 있는 라이브러리인데요. https://developer.android.com/topic/libraries/data-binding/index.html#studio_support 제가 이 라이브러리로 설명하고자 하는 내용은 아래 입니다. 1. findViewById는 이제 사용하지 않아도 된다.2. 각 View를 전역 변수로 저장해서 사용하지 않아도 된다.3. 각 View를 해당 View에 맞게 캐스트 할 필요가 없다. The Data Binding Library offers both flexibility and broad compatibility — it's a support library.. 더보기
[Android] ImageView를 Width 길이에 맞춰 Height 조절 ImageView에 이미지를 그냥 넣을 경우, 화면 사이즈에 맞게 이미지가 자동으로 늘어나면 좋으려만,그렇지 않습니다. 딱! 이미지 사이즈 만큼만 뿌려주게 되지요. 그럼 어떻게 하면 될까요???아주 간단 합니다. 아래 와 같이 adjustViewBounds를 true로 해주면 됩니다. 이렇게 해주면, 이미지 width는 화면 사이즈 만큼 늘어나고 height 그에 맞게 설정이 됩니다. 참고하세요. 더보기