Android 공부

    감자튀김의 다시 쓰는 Android MVVM(2) - DI

    -1. 이전 글 2019/03/17 - [Android 공부] - 감자튀김의 다시 쓰는 Android MVVM(1) - DI 0. 서론 해당 프로젝트는 Upbit거래 시세를 알아낼 수 있는 앱을 만드는 것이 목표입니다. 이전에 DI를 사용한 구조에서 ViewModel을 종속할 수 없어서 구조를 변경했습니다. 역시, 이해는 잘 안 되지만, 제가 만든 코드를 분석해보는 시간을 갖겠습니다. 1. 구조의 변경 이전에 생각했던 MVVM과 DI의 구조는 이와 같았습니다. 1.1. 초기에 생각했던 구조 AndroidSupportInjection, Application, Activity, ViewModel과 같이 MVVM의 큰 구조에 사용되어지는 Module을 모아주는 구조로 해서 각종 모듈을 관리합니다. 하지만, V..

    Android Motionlayout 삽질기

    0. 서론 모션레이아웃은 앱을 상당히 유연하게 하는 매력적인 기능이라고 생각합니다. 드래그나 클릭에 의해서 ConstraintLayout의 ConstraintSet, TransitionManager등과 같은 기능들을 잘 녹였다고 생각합니다. 물론, 구현을 하기까지 어려움을 많이 겪을 수 있겠지만, 어느 순간 자신의 기술이 되어있을 때, UI를 제공해주는 큰 무기를 얻을 수 있다고 생각합니다. 1. 목표 Lottie와 MotionLayout을 함께 결합해 애니메이션을 구현하면 최고의 효율을 낼 수 있다는 것을 목표로 프로젝트가 진행되겠습니다. 저는 프로젝트내에서 사용자들의 주목을 받기 위해서 MotionLayout을 사용하고 있습니다. 2. MotionLayout 구조 MotionLayout은 Constr..

    감자튀김의 다시 쓰는 Android MVVM(1) - DI

    -1. MVVM 메인 가이드: https://developer.android.com/jetpack/docs/guide 구글의 앱 아키텍처 가이드 개념을 기본으로 해서 프로젝트를 관리해야 한다고 생각합니다. MVVM을 사용하기 이전에 해당 자료를 통해서 왜 MVVM을 사용해야 하는지에 대한 대답을 얻을 수 있을 것이라고 생각합니다. docs에서는 이와 같은 이유로 MVVM을 사용한다고 합니다. - 안드로이드 앱은 액티비티, 서비스, 브로드캐스트, 콘텐트 프로바이더, 프레그먼트 등 다양한 앱 구성요소로 되어있습니다. 특정 앱을 사용하다가 다른 앱으로 넘어가는 경우와 같이 사용환경이 중단될 수 있는데, 이럴 경우에 흐름을 올바르게 제어해야합니다. 그렇기 때문에 운영체제는 앱구성요소를 언제든지 제거할 수 있다는..

    안드로이드 깃허브 연동 & 올리기

    0. 서론 2019년 1월 7일, 깃허브 블로그에 엄청난 소식이 있었습니다.깃허브의 private repos를 3명까지 무료로 사용할 수 있다는 소식입니다.이렇게 되면 혼자서 개발하는 개발자들은클라우드 환경에서 자신의 프로젝트를 안전하게 무료로 관리할 수 있어서 너무행복한 소식이었습니다. 그래서 이번 블로그 글은 안드로이드에서 처음으로 Github를 사용하는 방법을 알아보겠습니다. 1. 본론 1-1. VCS 연결하기 VCS - Enable Version Control Intergration...을 클릭해줍니다. 그리고 자신의 project를 Git으로 하겠다고 선택해줍니다. 1-1-1. Cannot Run Git 해당 오류가 나온다는 것은 두가지의 원인이 있습니다. - 깃허브가 설치되어있지 않거나- 안드..

    안드로이드 시간표 어플리케이션, 시간 측정 어플리케이션, 공부 어플 - 담다

    [안드로이드]시간표 어플리케이션시간 측정 어플리케이션공부 어플리케이션 담다 다운로드 주소 : https://play.google.com/store/apps/details?id=hbs.com.timetablescreen '담다' 어플리케이션은'무엇무엇을 담다'라는 의미를 갖고 있는 어플리케이션입니다. 시간표를 1분까지 나눠서 담을 수 있고,뿐만 아니라 공부를 도와주는 어플리케이션 입니다. 최근에 UI/UX를 크게 변경시켰습니다.1주일 단위의 시간표를 한 눈에 볼 수 있는 것이 장점입니다. 또한 공부 시간을 측정해주는 기능을 갖고 있습니다.현재, 몇 명이 함께 공부하고 있는지 알 수 있으며,추후에는 실시간으로 함께 공부할 수 있는서비스를 제공하려고 합니다. 보시는 바와 같이 자신이 하루에 몇 시간 공부했는 ..

    Firebase Crashlytics 시작하기

    1. Firebase Crashlytics? Firebase를 통해서 오류를 실시간으로 감시하고, 볼 수 있도록 한 기능입니다. 2. 사용 방법 2.1.Firebase Crashlytics로 이동해줍니다. 2.2 자신의 프로젝트를 설정하고, 해당 그림과 같이 솔루션을 지정해줍니다. 2.3 SDK 문서로 이동해봅시다. 2.4. 코드에 각종 종속성을 추가합니다. 2.4.1. 프로젝트 gradle 12345678910111213141516171819202122232425 buildscript { //... repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { //... // Add dependency classpath 'i..

    안드로이드 Room 고군분투

    -1. 읽었으면 하는 글 2018/12/19 - [rxJava 공부] - RxJava 공부 4 - fromCallable, fromFuture 0. Room? 0.1. gradle 추가 123implementation "android.arch.persistence.room:runtime:1.1.1"kapt 'android.arch.persistence.room:compiler:1.1.1'annotationProcessor "android.arch.persistence.room:compiler:1.1.1" // use kapt for Kotlincs 0.2. 잡담 흡사 내가 레트로핏을 처음 사용했을 때의 느낌과 비슷했다.레트로핏을 사용하기 위해서 인터페이스를 만들고, 서비스를 만든 후에, RxJava와 함..

    Retrofit을 통한 Naver 영화 API 사용하기

    0. 서론 아무 의미 없이 코드를 작성할 땐, 단순하게 통신이 됐으면 그저 내 것이라고 생각을 했다.RxJava를 공부하면서 느낀 것이지만 기존에 알고 있던 코드를 분석해보고, 이야기를 해 볼 필요가 있다는 것을 알게 됐다. 1. Retrofit 1-1. Retrofit 각종 클라이언트 통신 라이브러리가 있다면, 해당 라이브러리를 맵핑해서 REST 방식의 호출을 사용할 수있게 하는 유용한 라이브러리이다. 1-2. OkHttp OkHttp 라이브러리는 HTTP 호출시에 각종 값들을 셋팅할 수 있게 도와주는 라이브러리이다.Retrofit과 같이 사용되는 이유는 OkHttp를 통해서 쿠키, timeout, log등 각종 HTTP와 관련된 통신을 도와주기 때문이다.Retrofit은 이처럼 클라이언트를 통해서 얻..