Feeling down 일상

요즘 뭔가 이상하다.

미래에 대한 고민을 너무 많이한 탓일까.
아무 일도 잡히지 않고,
웃음보다 울상을 짓기 마련이고,
힘조차 나지 않는다.

마무리를 잘 지어야 하는데
이렇게 늘어져서야...

안드로이드 SDK 내장 Tool for Debugging - Lint 안드로이드

안드로이드 SDK 내부에는 다양한 툴이 있다.

디버깅에 쓰이는 툴에 대해서 알아보면..

코드에 구조적인 문제가 있다면, 에러를 발생시킬 수 있고, 어플리케이션이 동작하는데 나쁜 영향을 끼칠 수 있다.
그런 문제를 완벽히 식별하고 고쳐주는 정적 코드 스캐닝 툴인 Lint가 있다.

안드로이드 스튜디오에서는 매번 어플리케이션을 빌드할 때 실행되며, 결과를 스튜디오의 Event log에 띄워준다.

특정 모듈에서 Lint를 실행시킬 수 있는데, 폴더나 파일을 오른쪽 클릭하고

Analyze > Inspect code, (Whole project, Module, or Custom Scope 중 선택)을 클릭하면,
자동으로 새로운 Inspection 탭을 열고, 내부에서 Lint의 결과를 볼 수 있다.

Lint는 발생된 이슈에 대해 설명과 단계별로 보여준다.

되도록이면 어플리케이션을 릴리즈하기 이전에 Lint가 발견한 모든 에러를 수정할 수 있도록 하는 것이 좋다.


출처: Android UI Design by Jessica Thornsby

앱 실행 중에 버전 확인하기 안드로이드

어플리케이션을 만들다보면, 특정 버전 이전에서 지원되지 않는 기능이 쓰이기 마련이다.
그렇다고 최소 지원 API level을 올려버린다면, 많은 사용자를 잃어버리는 셈이다.

굳이 그 기능이 없어도 되는거라면, 코드 내부에서 버전을 확인한 뒤, 지원되지 않는 기능의 코드를
실행하지 않도록 할 수 있다.

예를 들어 Lollipop 또는 그 이상 버전만 지원하는 기능이라면,

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)

이렇게 조건문을 통해, 여러 버전을 지원하는 어플리케이션을 만들 수 있다.

Build의 상수들을 더 알고 싶다면,
https://developer.android.com/reference/android/os/Build.VERSION_CODES.html 에서 확인해볼 수 있다.


출처: Android UI Design by Jessica Thornsby

[안드로이드] 다른 안드로이드 버전 지원하기 안드로이드

새 버전의 안드로이드 플랫폼이 출시되면 바로 어플리케이션에 적용하고 싶겠지만,
최대한 많은 사용자에게 어플리케이션을 제공하려면, 될 수 있으면 최대한
많은 이전 버전의 안드로이드 플랫폼을 지원할 수 있어야 한다.

이전 버전의 안드로이드 플랫폼을 지원하려면 시간과 노력이 필요하다.
더 이전 버전으로 갈수록, 더 힘들다는 점이다.

이전 버전을 지원하도록 애쓴다면, 지금 만든 어플리케이션보다
디자인적으로, 기능적으로, 사용자 경험적으로 떨어진다는 걸 느끼게 될 것이다.
이전 버전의 안드로이드 플랫폼 기기로 사용자가 어플리케이션을 이용하게 되면,
어플리케이션이 조금 느리게 동작할 수 있는데, 이때 유저는 자신의 기기 탓보단
어플리케이션을 탓하게 된다는 점이다.

예를 들어서, 어플 내에서 검색하여 여러 개의 고화질 이미지를 로딩해야 하는 기능이다.
이전 버전을 지원하게 되면, 나쁜 사용자 경험을 제공하게 된다.
그러면 이미지 화질을 줄여야 하는지, 이미지를 줄여야 하는지, 이미지가 꼭 필요하긴 한지
애초에 그 모든 시간과 노력이 필요한지 생각해봐야 할 것이다.

이전 버전을 지원하는 게, 의미있는 일인지는 현재 안드로이드 마켓에 얼마나 많은 사람들이
해당 버전을 사용하고 있는지 확인해봐야 한다.

Google's Dashboard
(https://developer.android.com/about/dashboards/index.html)

이 사이트에서는 각 버전을 이용하는 기기의 상대적인 % 수치를 알 수 있다.


어떤 버전을 지원하도록 할 것인지 정했다면

minimum API level 와 target API level를 명시할 수 있다.

Android Studio는 Module-level build.gradle 파일에서,
Eclipse는 Manifest 파일에서 수정할 수 있다.

파일 내부에 있는 속성 중,

minSdkVersion 에서는 최소한으로 지원할 API level를 지정할 수 있다.
Google Play에서 어플의 minSdkVersion 속성을 이용해, 사용자가 어플을 기기에 설치할 수 있는지 알려준다.

targetSdkVersion 에서는 최대한으로 지원할 API level를 지정할 수 있다.
새 버전이 나오더라도 개발자가 새 버전으로 재설정해주지 않는 이상, 적용되지 않는다.
하지만 최신 기능을 이용하기 위해서라면 항상 최신 버전으로 설정해두는 게 좋다.
최신 버전으로 설정 시, 가장 유의할 사항은 test를 해보는 것이다.
절.대. test해보지 않고 targetSdkVersion를 최신으로 만드지 말 것을 당부한다.

compileSdkVersion 에서는 Gradle에게 어떤 버전의 Android SDK로 컴파일할지를 말해준다.
배포용 APK에는 이 값이 포함이 되지 않고, 오로지 컴파일 시에만 쓰인다.

그래서 targetSdkVersion과 compileSdkVersion 값은 항상 최신 버전을 지향하는 것이 좋다.



출처: Android UI Design by Jessica Thornsby


목표와 달성 일상

단순한 일상 속에서도
목표를 가지고 임한다면 달성할 확률은 높아진다.
목표가 클 필요는 없다.
이 업무는 20분안에 끝내겠어! 도 하나의 목표다.
20분이라는 시간을 정해두고 하는 업무와
그저 끝날때까지 하는 업무와 둘 중 어느 행동이 효율적일까?

단 중요한게 있다면
목표를 머릿속으로만 생각해선 안됀다.
머리로 목표를 세웠다면, 그 다음은 마음으로 목표를 원해야 한다.

마음도 이끌려야 한다는 말이다.

주의할 점이 하나 있다.
마음은, 그리고 자신의 무의식은 스스로가 인지하고 있지 못한 부분까지 알고 있다.
무슨 말인가 하면, 목표를 너무 크게 세워
스스로가 불가능하다고 느낄 정도라면 아무리 마음으로 원할지라도 그것을 부정하는 마음이 일게되고 부정하는 무의식이 자리잡게된다.
이 상태라면 자신을 끌어올리든, 목표를 조정하든 어떠한 조치를 취해 마음이 납득할 수 있게 해야한다. 최소한 도전해볼만한 여지를 둬야한다.

그러면 자연스레 생각과 마음이 움직이면서 몸은 그에 순응하게 된다. 그리고 목표를 달성한다.




1 2 3 4



통계 위젯 (화이트)

03
25
1684