• RecyclerView에 대한 고찰

    ListView Android 4.4(Kitkat) 까지는 아이템 목록을 보여주기 위해 ListView 위젯이 사용되었다. 그리고 더 좋은 성능(ex. smooth scroll)을 위해 사용 방법이 변해왔다. public class MyAdapter extends BaseAdapter { // override other abstract methods here @Override public View getView(int position, View convertView, ViewGroup parent) { View view = getLayoutInflater().inflate(R.layout.list_itme, parent, false); ((TextView)...


  • 첫 번째 경력에 대한 회고

    지난주 나의 첫 번째 직장에서의 생활이 끝이 났다. 약 1년 1개월 정도 다녔으니까 생각보다 짧은 기간에 퇴사하게 되었다. 이것저것 정리하다 보니 지난번 4개월간의 인턴 생활을 마치며 작성한 글을 오랜만에 읽어보았다. 이런 이야기는 민감한 부분이 있지만 작성해놓으면 당시의 생각을 돌아볼 수 있어서 도움이 되는 것 같다. 그래서 불필요한 내용은 빼고 간단하게...


  • Kotlin 사용하기? unresolved reference error

    기본적인 코틀린 세팅 참고: Getting started with Android and Kotlin [build.gradle] buildscript { dependencies { // ... classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.1' } } [app/build.gradle] apply plugin: 'kotlin-android' android { sourceSets { main.java.srcDirs += 'src/main/kotlin' } } dependencies { // ... compile 'org.jetbrains.kotlin:kotlin-stdlib:1.1.1' // ... } Error: Unresolved reference: Dagger…Component 여기까지 완료하고 빌드를...


  • 개선된 로딩 화면 (Splash Screen)

    예전에 안드로이드 로딩 화면 구현하기에 대해 포스팅한 적이 있다. 같은 내용에 대해 다시 글을 작성하는 이유는 보다 나은 방법을 알게 되었기 때문이다. 기존의 구현 위의 포스팅을 확인해보면 알겠지만, 기존에 사용했던 방법은 핵심은 로딩 화면에서 Handler.postDelayed를 이용하여 일정 시간의 지연을 주는 것이다. 이러한 구현 방법에 대해 사용자의 입장과 개발자의 입장에서 다시...


  • EditText 기능의 확장 TextInputLayout

    디자인 감각이 부족한 개발자들은 material design을 참고하여 더욱 나은 UI를 만들 수 있다. 또한, 구글에서는 이를 쉽게 적용할 수 있도록 ‘Android Design Support Library’를 제공하고 있다. 이번에 라이브러리에서 제공하는 기능 중 TextInputLayout을 사용할 기회가 생겨 간단하게 정리해보려 한다. 라이브러리 세팅 우선 다른 라이브러리들과 마찬가지로 gradle에 dependency를 등록한다. compile 'com.android.support:design:25.1.0' 기본...


  • Google Developers Codelabs 시작?

    스타트업에 다니면서 느끼는 장점 중 하나는 적용해보고 싶은 기술들을 시도할 수 있다는 것이다. 물론 무조건 적인 도입이 아닌, 함께하는 팀원들과의 상의가 필요하지만, 프로세스가 잡힌 일반 기업들보다는 진입장벽(?)이 낮다고 생각한다. 그러기 위해선 기술의 최신 동향을 파악하고 있는 것이 중요하다. 더는 쓰이지 않는 기술을 도입하는 것은 흐름에서 벗어난 판단이고, 검증이 되지 않은...


  • 안드로이드 UI 테스트에서 Idle 상태 기다리기

    안드로이드 UI 테스트를 하던 중 A 화면에서 버튼을 클릭했을 때 B 화면으로 넘어가는 동작이 있었다. 그러고 나서 B 화면에 알맞은 text가 보이는지 체크하는데 아래와 같은 오류가 떴다. android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with ... 넘어가는 과정을 자세히 보면 A 화면 -> animation -> B 화면으로 진행된다. 짐작되는 원인으로는...


  • 안드로이드 UI 테스트에서 Toast 체크하기

    얼마 전에 회사에서 Process 검증을 위한 UI 테스트 코드를 짜게 되었다. Unit 테스트 코드는 짜봤지만, UI 테스트는 처음이라 대부분 새로운 내용이었고 하면서도 올바르게 짜고 있는지 의문이 많이 들었다. 그래도 지난달 다녀온 Google I/O 2016 Extended Seoul에서 정승욱 님의 Advanced Espresso 발표를 듣고 많이 참고할 수 있었다. 물론 봐도 적용을 못...


  • GitHub Pages에 comment 기능 추가하기

    Disqus 설정하기 1. Disqus 가입하기 & Verify email 인증하기 2. Settings > Edit Profile > 기본 정보들 입력하기 > Save Website: 이곳에 자신의 GitHub Pages 주소를 적는다. (중요) 3. Settings > Add Disqus To Site > 맨 아래에 GET STARTED Site name & Disqus URL & Category 를 설정하고 Next 버튼 클릭한다. 설정...


  • GitHub Pages 사용을 위한 세팅하기

    내용이 계속 추가되면 포스팅이 너무 길어질거 같아서… 추가되는 내용들은 링크로 대체한다. Sitemap 제출하기 위 포스트의 주소는 http://dudmy.net/android/2016/02/14/list-item-ripple-effect/ 인데, 보는 것과 같이 사이트가 제대로 크롤링 되지 않는 문제가 있다. 정확한 이유인지는 모르겠지만 Sitemap을 제출하지 않는 것으로 짐작된다. Sitemaps for GitHub Pages 등을 참고하여 진행해보았다. 1. _config.yml 파일에 Automatic sitemap generation을 위해 추가한다....