728x90
반응형

Android 공부 80

펌) android webview에서 카카오링크 이슈

웹뷰로 SNS공유하기 버튼을 구현하는데 있어서 카카오톡 공유하기 버튼이 작동이 안될 때가 있다. 카카오 데브톡에서는 네이티브 쪽에서 intent 핸들링 하라고 하는데, 사실 실무상에서 네이티브 앱 개발 주체와 웹뷰에서 불러오는 페이지 개발 주체가 달라서 빠르게 대응하기 힘든 부분이 있다. 특히, 빠르게 업데이트를 해야하는 이벤트 페이지 같은 부분은 더 그렇다. 이럴 때는 꼼수라도 써서 문제를 해결해야 하는데, 내가 쓴 꼼수는 a태그에 직접 카카오톡을 실행하는 kakaolink:// 부분을 집어 넣은 것. 일반적으로는 아래와 같이 자바스크립트를 이용해서 이벤트 발생시 링크를 생성해서 연결한다 하지만 오류가 나면서 카카오톡이 실행이 안되는 경우가 있다. 상황1 ) 웹페이지를 표시할 수 없습니다. intent..

MVVM LiveData (1)

velog.io/@jojo_devstory/Android-LiveData...%EB%84%8C-%EB%88%84%EA%B5%AC%EB%83%90 [Android] LiveData...넌 누구냐? 안녕하세요.이번 포스팅의 주제는 LiveData 입니다.안드로이 아키텍쳐 패턴(MVP, MVM, MVVM 등)에서 빠질 수 없는 것들이 몇가지 존재 하는데요.그중의 저번시간에 소개드린 Databinding에 이어서 이번엔 velog.io 를 보고 참고하면서, 나중에 삭제될 것을 염두하여, 복사 했습니다. LiveData 는 Android JetPack 라이브러리의 하나의 기능 중 하나로 MVVM 패턴을 만들어 사용하는데 DataBinding 과 더불어 도움이 되는 라이브러리. 1. LiveData란? LiveDa..

Android AAC : LiveData

developer.android.com/topic/libraries/architecture/livedata?hl=ko LiveData 개요 | Android 개발자 | Android Developers LiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다. developer.android.com LiveData 란? LiveData는 식별 가능한 데이터 홀더 클래스입니다. 식별 가능한 일반 클래스와 달리 LiveData는 수명 주기를 인식합니다. 즉 활동, 프래그먼트 또는 서비스와 같은 다른 앱 구성요소의 수명 주기를 고려합니다. 이러한 수명 주기 인식을 통해 LiveData는 활성 수명 주기 상태에 있는 앱 구성요소 관찰자만 업데이트합니다. * Observer 클래스로 표현되는 ..

Android ACC : Data Binding

데이터 결합을 사용 설정하려면 아래와 같이 모듈의 build.gradle 파일에서 dataBinding 빌드 옵션을 true로 설정합니다. 보통 MVVM 패턴을 구현 할 때 "LiveData"와 함께 거의 필수적으로 사용합니다. android { ... buildFeatures { dataBinding true } } 비교 이전의 TextView선언 당시 데이터 바인딩을 사용하기 위해서는 최상단의 ConstraintLayout을 layout 아래로 둡니다. 그리고 data, variable을 추가합니다. data 내의 user 변수는 이 레이아웃 내에서 사용할 수 있는 속성을 설명합니다. type은 사용할 클래스 User의 패키지 경로이다. 레이아웃 내의 표현식은 '@{}' 구문을 사용하여 특성 속성에 ..

Android ACC : Lifecycles

1. Lifecycles Lifecycles는 라이브러리 이름 답게 생명주기 모니터링을 돕습니다. 크게 2가지로 구성되어 있습니다. (1) Lifecycle Owner - Activity, Fragment에서 생명주기를 분리하여 Lifecycle 객체에 담습니다. Lifecycle 객체를 통해 다른 곳에서 해당 화면의 생명주기를 모니터링 할 수 있습니다. 자신의 생명주기를 담은 Lifecycle 객체가 Lifecycle Owner 입니다. (2) Lifecycle Observer - 생명주기를 Wrapping한 Lifecycle Owner 객체를 통해 화면 밖에서도 모니터링이 가능하지만, 생명주기에 따른 동작은 여전히 화면에서만 정의할 수 있습니다. 화면 밖에서도 생명주기에 따른 동작을 정의하기 위해서는..

Android AAC 란?

서론 Google I/O 2017에서 새로운 라이브러리들을 Android Architecture Components(AAC)로 묶어서 발표하였습니다. Google은 AAC를 안드로이드 앱을 개발하면서 자주 만날 수 있는 문제들을 쉽게 해결할 수 있는 새로운 선택지로 설명하였습니다. 사실 이미 레거시가 많이 포함된 실무 프로젝트에 AAC를 적용하는 것은 어려움이 있습니다. 하지만 AAC에는 안드로이드와 아키텍쳐에 대한 고민이 많이 담겨있기 때문에, 필수로 공부해야 한다고 생각합니다. 저는 앞으로 몇번의 포스팅으로 나누어서 AAC를 만든 이유, AAC 라이브러리들, 그리고 실무에서 많이 사용하는 MVP에서 어떻게 AAC를 응용할 수 있는지 소개하겠습니다. 왜 AAC를 만들었나 ? ( + 구성 ) 안드로이드는..

(스크랩) 코루틴 이란?

2020-04-26 in Studynote 비동기 처리를 하는 데에는 몇 가지 방법이 있다. Rx는 다양한 기능을 제공하지만 진입 장벽이 높아 학습에 오랜 시간이 걸린다. 또 오랜 기간 사용되었던 AsyncTask는 지금은 Deprecated 된데다가 구리다.(내가 본 영상에서는 AsyncTask는 sucks 혹은 shit 로 표현되었다.) 코루틴을 이용하면 비동기스럽지 않게 생긴 코드로, 메모리를 효율적으로 사용하면서 손쉽게 비동기 처리를 할 수 있다. 그래서 간단히 알아보았다. 코루틴, Coroutine? Coroutine은 안드로에드에서 백그라운드 스레드에서 코드를 처리할 때 사용하는 하나의 방법이다. 코틀린 언어의 하위 개념인 줄 알았는데, C# 이나 Python, Go 등 다양한 언어에서 이미 ..

(펌) 안드로이드 개발자 로드맵

안드로이드 개발자로서 잘하는 개발자가 되기 위해선 무엇이 필요할까? 체워도 체워도 언제나 고민이다. 우연히 찾게된 안드로이드 개발자 로드맵 PPT이다. 네이버 테크 콘서트에서 발표한 내용을 담은 PPT였다. 더 검색해보니 영상도 찾을 수 있었다. 영상을 보면서 나오는 내용들 대부분은 접하거나 공부한 내용이다. 하지만 부족한 부분도 있고 공부했다 해도 완벽하게 설명할 수 있는가 하면 아니다. 안드로이드 개발자로서 튼튼한 기본기를 가지고 이를 바탕으로 더 많은 것을 할 수 있는 개발자가 되기를 바란다. 발표한 내용을 바탕으로 포스팅을 정리해보려 한다. PPT https://www.slideshare.net/NaverEngineering/techcon-2019-mobile-android3 [TECHCON 20..

Android 공부 2020.12.19
728x90
반응형