Android 공부

    Android 2way databiding - bindingAdapter(2)

    -1. 이전글2018/12/11 - [Android 공부] - 안드로이드 2way DataBinding 0. kotlin에서 databinding 사용하기코틀린에서 데이터바인딩 사용하는 것은 예제만 따라하기에도 많은 시간이 사용된다. gralde버전에 따라서 각종 변수가 달라지기도 하고, dataBinding에서 setVariable과 같은 매소드의 사용방법을알려주는 사람이 없다거나, BindingAdapter와 같이 코드 또한 xml로 처리하고 싶을 때,그리고 수많은 오류가 있기에 kotlin에서 databinding 사용하는 것은 나와 같이 초보 개발자들에게는어려운 점이라고 생각한다. .1. 지난 글 지난 글에서는 단순하게 @={변수명}을 통해서 xml을 통해서도 값을 넣을 수 있다는 것을 알 수 있..

    안드로이드 2way DataBinding

    0. 이전 글: 2018/12/04 - [Android 공부] - 안드로이드 DataBinding?? MVVM?? 1. 문제점: 1-1. 코드: 1-2. 문제 : EditText의 text를 뽑아내고 싶었지만, 그럴 수 없었고 차선책으로 Button에서 click시에userVM.updateTextView()라는 매소드에 EditText를 변수로 해서 이동시켜서 getText() 했었습니다. 2-1. 개선사항: 2way databinding을 이용하게 되면 우리가 관리하고 있는 변수에 xml의 값을 넣을 수 있다는 것을 알 수 있었습니다. 2-2. 출처: https://developer.android.com/topic/libraries/data-binding/two-way 2-3. 개선된 코드: 12345..

    LiveData의 간단한 예제

    0. 해당 프로젝트는 이전 글인 2018/11/30 - [Android 공부] - android.arch.lifecycle 의 연장선입니다.목표는 LiveData를 이용해서 값이 변경될 때마다, 자동으로 TextView 또한 변경하는 구조를 만들겠습니다. -0.1 LiveData는 기존의 프로젝트에서도 충분히 유용하게 사용될 것이라고 생각합니다. 조금만 알게 되면 자동으로 값을 변경할 수 있는 코드를 작성할 수 있고, 데이터바인딩과 같이 사용할 경우 쉽게 xml에서 코드를 변경할 것이기 때문입니다. 1. xml 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 Colored by Color Script..

    android.arch.lifecycle

    0. 최근에 종종 컨퍼런스를 다녀왔는데, 제대로 된 예제를 통해서 관중들에게 설명하는 발표자의 모습이 너무 멋있어 보였다. 그래서 블로그의 글을 잠시동안 안 쓰게 됐었는데, 다시 쓰는 이유는 내가 이해한 것을 정리하기 위해서 쓰려고 마음을 먹었기 때문이다. 입사도 안 한, 초보개발자의 생각정리장이다. 1. 안드로이드 lifecycle 아키텍쳐 - 일괄적으로 모든 액티비티에서 특정 lifecycle 이벤트 때, 특정 행동을 한다면 사용하기에 편이할 것이라고 생각을 했습니다. - 예를 들면, Activity가 켜질 때마다 User의 정보를 가져온다고 했을 때, LifecycleObserver를 만들고 onCreate 이벤트를 받아와서 User의 정보를 확인한다. = 해당 경우와 같은 코드를 구성할 때, 가장..

    안드로이드 ConstraintLayout 사용법

    ConstraintLayout 기본예제 입니다. http://www.uwanttolearn.com/android/constraint-layout-hell/에서 많은 도움을 받았습니다. 최종 결과물은 위와 같습니다.이미지뷰, 텍스트뷰, 버튼을 이용해서 기본적인 샘플을 만들 것 입니다. Colored by Color Scriptercs xml 상에서marginEnd가 160dp로 설정되어 있다는 것을기억하고 넘어가야합니다. 이렇게 비교적 편하게 ConstaintLayout은xml을 마우스를 통해서 이끌 수 있고 각종 속성값들이 존재합니다. MainActivity에서는 위에서 속성값으로 지정한 margin 값을 통해서버튼이 움직이는 애니메이션과 같은 역할을 할 수 있도록 하는 예제입니다. 12345678910..

    안드로이드 유튜브 플레이어 예제

    안드로이드 유튜브 플레이어 홈페이지 프로젝트의 gradle 3.1.4에서 진행되고 있고Kotlin과 Retrofit을 기반으로 프로젝트가 진행될 것 입니다. https://developers.google.com/youtube/android/player/?hl=ko 를 접속합니다.해당 홈페이지는 youtube에 관련된 api가 정리된 doc입니다. 들어가게 되면 Orerview 밑에 '다운로드'가 보입니다. 다운로드 현재 버전은 2018년 10월 24일 기준으로 1.2.2 버전을 사용하고 있습니다.zip을 다운로드하고 압축을 한 번 풀어줍니다.저는 압축을 안 풀어줘서 왜 안되나 했습니다ㅜㅜ 압축파일에는 YouTubeAndroidPlayerApi.jar라는 것이 있습니다.해당 파일을 안드로이드 스튜디오의 D..

    안드로이드 gitignore 예제

    Gitignore Github를 통해서 프로젝트를관리하게 되면 불필요하게 올라가지 말아야 할 정보들이 있습니다. 예를 들면String xml의API 정보나 각종 Key 값들이 그럴 수 있겠습니다. 그럴 때,실수로 커밋 되는 일이 없게 해야됩니다. values 저의 values에는 api_information이라는 xml을 통해서 값들을 관리해주고 있습니다. 각종 정보들이 모여있습니당...이렇게 관리하는 것도 안 좋다 생각하지만... gitinore를 통해서 커밋하지 않고 싶은 파일을 명시해줍니다. 결과 그러면 해당 Commit 파일이 보이지 않게 됩니다. 1인 개발자, 감자튀김입니다.어플리케이션을 열심히 성장시켜 나가고 있습니다. 2018/10/21 - [나의 일기] - (리뷰) 시간표 어플리케이션 - ..

    AAPT2 error: check logs for details 해결 방법

    AAPT2 error: check logs for details 검색 해당 오류는 어플리케이션을 개발하다보면 겪게 되는 오류 중 하나라고 생각합니다.그래서 구글링을 통해서 검색을 해본 결과는 1android.enableAapt2=false cs gradle.properties에 해당 내용을 추가해주면 된다는 답변들을 볼 수 있었습니다. 물론 로직상에 특별한 오류가 없다면 해당 오류는 뜨지 않겠지만해당 오류는 어떤 레이아웃이 잘 못 되었다는 오류라는 경험을 얻게 되었습니다.. 해결 방법 해당 문제를 해결하기 위해서는 두 가지를 따르면 됩니다. 1. gradle을 최신버전으로 업그레이드 해준 후, 재빌드 합니다.2. 그렇게 되면 오류가 구체적으로 어디에서 발생했는지, 알려줄 것입니다.그러면 해당 레이아웃에 ..