앱 버전 설정하는 방법 build.gradle에 아래와 같이 versionCode와 versionName을 적어줍니다. android { ... defaultConfig { ... versionCode 1 versionName "1.0.0" } ... } 항상 두 가지 설정에 대한 값을 모두 정의해야 합니다. versionCode와 versionName에 값을 채워넣기전에 각 변수가 어떤 용도로 쓰이는지 알아보겠습니다. versionCode 정수이며, 내부 버전 번호로 사용됩니다. 이 번호는 하나의 버전이 다른 버전보다 최신인지 여부를 판단하는 데만 사용되며, 번호가 높을수록 최신 버전입니다. 이 값은 원하는 정수로 설정할 수 있지만 각 후속 앱 릴리스 시에 더 큰 값을 사용해야 합니다. 사용자에게 표시..
AppBar에는 Menu icon, Search icon 등도 들어가지만 앱을 만들다 보면 추가하고 싶은 버튼이나 텍스트뷰등이 많이 생길 수 있습니다.그래서 천편일률적인 AppBar에서 벗어나 Custom Layout을 AppBar 안에 넣어보겠습니다. XML 작성 xml은 아래와 같이 작성하시면 됩니다. XML 자체는 심플합니다.중요한 것은 저기 아래 주석 부분에 Custom Layout을 추가해주면 된다는 것입니다. 위와 같이 xml을 작성하고 소스는 setSupportActionBar만 불러주시면 됩니다.저 같은 경우는 AppBar를 스크롤 동작에 따라 show, hide 시켜주기 위해 AppBar를 멤버 변수로 가지고 있었습니다.@Override protected void onCreate(Bund..
build.gradle에 설정하는 각 버전들의 의미와 현재 안드로이드의 버전별 점유율을 알아보겠습니다. compileSdkVersion compileSdkVersion은 프로젝트가 컴파일 될 때 사용되는 버전입니다. 런타임 동작에는 영향을 주지 않으며, 컴파일 타임에만 영향을 줍니다. minSdkVersion minSdkVersion은 구글 플레이에서 어떤 디바이스까지 다운로드가 가능한지 사용되는 로우바운드라고 생각하면 됩니다. 런타임에 영향을 주며, lint를 통해서 개발자들에게 앱에 미칠 수 있는 영향에 대해서 알려줍니다. targetSdkVersion targetSdkVersion은 어느 버전까지 테스트가 완료되었는지 Android OS에게 알려주는 값입니다. 이곳에서 정의된 수치로 Android ..
안드로이드 개발자를 위한 코드 스타일 가이드라인 2편입니다. 메소드를 짧게 유지하라 가능한 한도 내에서 메소드는 한 주제에 맞게 짧게 작성되어야 합니다. 어떤 경우에는 긴 메소드를 작성하는 것이 옳기 때문에 메소드 길이에 정확히 정해진 제한은 없습니다. 한 메소드의 길이가 40줄을 넘어가게 되면 전체 프로그램의 구조를 해치지 않는 선에서 코드를 나눌 수 있는지 생각해야 합니다. 정해진 위치에 필드를 정의하라 필드는 파일의 상단이나 그 필드를 사용하는 메소드 바로 직전에 정의되어야 합니다. 변수의 스코프(scope)를 제한하라 지역(local) 변수의 스코프는 최소한으로 유지되어야 하는데 그럼으로써 코드의 가독성과 유지보수의 편이성이 높아질 뿐만 아니라 에러의 가능성도 낮출 수 있기 때문입니다. 모든 변수..