Android22 No toolchains found in the NDK toolchains, TaskExecutionException, RuntimeException 이번에 NDK 가 Revision r18 로 업데이트 되면서 생각지도 못한 에러가 생겼다. 기존에 잘 해오던 프로젝트들이 다 "No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android" 에러를 내고 있었다. 해당 에러는 내가 전에는 ndk버전이 낮았었는지 잘됬는데 최신 ndk로 업데이트 하게되면서 이런 메세지가 나서 빌드실패가 되었다.해결법을 찾아보니 일정 NDK버전 이후부터는 MIPS형의 CPU를 지원 하지 않게 변경되었고 gradle 버전이 너무 낮으면 mips에 대한 정보를 찾으려고 하다가 에러를 발생시키는 것이다. 결국 gradle 버전을 3.1.4 이상으로 올려라 라는 것이었다. 하지만 .. 2018. 10. 5. 커스텀 콜백 ( 리스너) 만들기 개발하면서 콜백 스타일의 코드들을 많이 보셨을 텐데요. 예를들면 서버의 API 호출 후 Response 데이터를 가져올 경우나, 스마트폰 자체 내에서는 사용자가 어떤 위젯을 터치 하고나서의 이벤트가 발생할 때 클릭 리스너가 동작하게 되어있습니다. 서버사이드에서 많이쓰는 NodeJS 의 경우에도 싱글 스레드의 비동기 방식의 콜백 기반으로 개발을 하게 됩니다. 개발을 하다보면 보통 특정한 함수 또는 이벤트를 발생시키고 어떤 그 뒤에 따르는 리스너? 콜러? 가 필요한 경우가 있습니다. 근데 심지어 다른 클래스에서 어떤 프로세스를 진행하고 끝나는 결과로 콜백을 부르는 경우도 많이 생깁니다. 이럴 때 보통 저는 3가지의 케이스로 개발을 하고있습니다. 1. 다른 액티비티를 실행 후 결과로써 진행해야할 경우. => .. 2018. 6. 18. 안드로이드 개발시 유용한 필수? 라이브러리 추천 (Kotlin 업데이트) 대부분 알고 계시겠지만 앱개발하는데 있어서 유용한? 거의 꼭 필요한? 라이브러리를 소개합니다. 1. Glide -이미지 로딩 라이브러리. 여러 이미지 로딩 라이브러리 들이 존재하지만 속도가 매우 빠르며, 모양의 변형 (원모양, 사각모양 등), 여러 부가기능을 제공해준다. 기타 여러 이미지 로딩 라이브러리는 많음. ( picasso, AUIL, Fresco 등 ) - (참고) https://github.com/bumptech/glide- (참고 - 안드로이드에서 이미지 로딩 라이브러리 순위를 매겨놓은 사이트 )https://ourcodeworld.com/articles/read/929/top-10-best-android-image-loading-and-caching-libraries 2. Retofit -.. 2018. 3. 28. AlertDialog 로 리스트 팝업 만들기 앱을 개발하다보면 어떤 다른 앱 또는 기본 제공 UI 와의 차별점을 두기위해 각 앱에 맞는 위젯을 만들어 쓰곤 합니다. 크게 어려운 것은 아니지만 간단한 팁 아닌 팁을 적어봅니다. 목표 : List형태의 선택 팝업. 그리고 리스트 내부의 각 row item view 를 커스터마이징 할수 있게 한다. 방법 : 1. 기본 위젯인 AlertDialog 를 이용한다. 2. AlertDialog.Builder.setItems() 가 아닌 AlertDialog.Builder.setAdapter() 를 적용한다. setItems 를 사용하게되면 기본 제공해주는 List 팝업이 된다.3. setAdapter 의 매개변수인 ArrayAdapter 를 필요에 맞게 ArrayAdapter를 상속한 customAdapter를.. 2018. 3. 27. EditText 사용시 키보드 보이기 최근 특이한 현상이 발견되었네요. ㅎㅎ 화면에 EditText 를 사용시 기본적으로 커서가 focus되면서 화면이 열리게 됩니다. 근데 제가 원한 것은 커서와 동시에 키보드가 올라오길 바랬습니다. 하지만 아무리 해도 커서는 잡히는데 키보드가 보여지지 않았습니다. StackOverFlow 에 찾아보면 죄다 InputMethodManager 를 이용해서 키보드를 show하는 해결책이 나왔지만 역시 원하는데로 되지 않았습니다. 해결방법 : 부모 레이아웃을 ScrollView로 감싸주어 내부 레이아웃 자식으로 EditText를 두게 되면 자동으로 커서가 잡히면서 키보드가 올라오는 것을 확인 할 수 있음. 추가 Tip)ScrollView 사용하면서 자식 레이아웃에 match_parent 를 주었는데도 화면을 꽉 .. 2018. 3. 26. Memory Leak 에 관하여 앱을 출시 하고나서 관리 하다보니 겪은 일이었습니다. 앱이 버벅대고 느려진다는 이슈였습니다. 굉장히 크리티컬한 이슈였지요. 원인을 찾아보니 OOM(OutOfMemory Exception) 에러였습니다. 허용 가능한 메모리가 꽉 차서 앱이 죽는 현상이 발생하는 것이었습니다. 이 원인을 해결하기위해 엄청나게 많은 시간을 쏟아부었습니다. 앱 내에 이미지를 보여주는 부분이 많았는데, 용량이 큰 이미지를 불러오거나 할 때 제대로 GC (Garbage Collect)가 되지않아서 메모리에 지속적으로 쌓이는 것이었습니다. 하지만 원인자체가 이미지 문제가 아니었습니다. 원인은 객체의 참조로 인해 화면 종료시 GC가 제대로 되지 않으면서 계속적으로 Activity 객체들이 쌓이게되고 큰 이미지를 가지고 있는 Activi.. 2018. 3. 26. 이전 1 2 3 4 다음