개발을 파헤치다(101)
-
안드로이드 R(11)에서 전체화면 구현하기
안드로이드 R(11)에서는 더 이상 SystemUiVisibility를 사용할 수 없는데요. 이렇게 Deprecated(사라질 운명이라는 의미...)될 때마다 그에 맞는 대응을 해야 하는 안드로이드 개발자는 참 행복합니다^^ 쉴 새 없이 공부하고 그만큼 더 똑똑해질테니까요. 쉽게 생각하고 금방 되겠거니 했는데 생각보다 자료가 없고 맘처럼 되지 않아서 꽤 삽질을 했습니다. 아래 내용을 끝까지 보고 그냥 가져다 쓰기만 하셔도 제가 삽질한 시간은 버시는 겁니다 :) 하지만 제대로 이해하고 넘어가시길 추천드립니다. 자세한 내용은 코드에 주석으로 달아놓았으니깐요! class MainActivity: AppCompatActivity(){ override fun onCreate(savedInstanceState: B..
2021.06.03 -
Firebase로 안드로이드 앱 테스트용으로 배포하는 방법
앱 개발을 하면 막바지에 반드시 해야 할 것이 있는데 뭔지 짐작이 가시나요? 바로 배포입니다. 정성들여 만든 앱을 실제 제품으로 내보내는 과정을 의미하는데요. 보통 배포를 하게 되면 Play Store에 올리게 되는데 그 이전에 내부적으로 테스트를 거치게 됩니다. 오늘은 정식 배포 전에 내부 구성원들끼리 효과적으로 테스트용으로 앱을 배포하는 꿀팁을 알려드릴 거예요. 바로 Firebase에서 제공하는 App Distribution을 활용해 서말이죠. 굉장히 상세하게 알려드릴 예정이라 그냥 보시면서 따라만 오시면 됩니다. 1. Firebase 프로젝트 생성 가장 먼저 Firebase 프로젝트 생성을 해야 합니다. 프로젝트 만들기를 눌러서 진행해주세요. 프로젝트 이름을 적어주고 약관에도 동의 체크 잊지 말아 ..
2021.06.01 -
Android FullScreen을 Kotlin으로 구현하는 꿀팁
Android 앱 개발을 하면 FullScreen을 한 번쯤은 만들게 되는데요. 가장 흔하게는 처음 서비스 로고가 뜨는 스플래쉬 화면이 될 수 있고 게임 개발 시에도 사용하게 됩니다. Java로 Android FullScreen을 구현한 예제는 참 많이 찾아볼 수 있는데 Kotlin으로 적용한 예제가 상대적으로 없더군요. 또, Android 11(R)에 대응하는 예제가 거의 없었어요. 곧 SYSTEM_UI_FLAG_FULLSCREEN이 사라질 예정이거든요(API Level 30부터 Deprecated). 진정한 Android 개발자라면 새로운 업데이트에 대응할 수 있어야겠죠? 오늘은 이 두 가지를 모두 만족하는 예제를 알려드리겠습니다. 예상보다 더 힘겹게, 여러 문서를 보고 찾은거라 분명히 도움되시리라 ..
2021.04.27 -
안드로이드 APK 초보자도 3분이면 가능한 방법
안드로이드 개발을 하면 한 번쯤은 반드시 하게 되는 것이 있는데요. 안드로이드 APK(Android Application Package) 추출이죠. 플레이 스토어에 앱을 올리기 위해서도 당연히 해야 하고, 개발팀에서 내부적으로 테스트를 하기 위해 배포할 때도 하게 됩니다. 이번 포스팅에서는 한번도 안드로이드 APK를 만들어보지 못한 초보자를 대상으로 정말로 알기 쉽게! 따라만 하면 3분 만에 작업이 끝날 수 있는 방법을 알려드리겠습니다. 일단 Android Studio에서 Build > Generate Signed Bundle / APK를 선택해줍니다. Next를 누르면 Signing Key를 설정하는 화면이 나타납니다. 기존에 생성한 Key가 있다면 사용해도 됩니다. 하지만 처음 해보는거라 가정하고 K..
2021.04.10 -
[ Android Studio AlertDialog example ] 안드로이드 스튜디오 AlertDialog 핵심 예제
안드로이드 앱 개발을 하면서 상당히 자주 접하게 되는 것 중 하나가 바로 Alert Dialog입니다. 오늘은 안드로이드 개발할 때 간단한 Alert Dialog를 어떻게 구현하는지 살펴보도록 할게요. * Kotlin으로 구현되었습니다. fun showDialog(){ val builder = AlertDialog.Builder(this) // this는 Activity를 의미한다 builder.setPositiveButton(R.string.update_ok){ dialogInterface, i -> // 업데이트 다운로드를 위해 스토어로 이동한다 goUpdate() } builder.setNegativeButton(R.string.update_no){ dialogInterface, i -> // Pr..
2021.02.10 -
Adobe XD 디자인을 Zeplin으로 Export하는 방법
Adobe XD에서 앱 디자인과 프로토타이핑까지 마쳤다면 이제 디자인 요소들을 준비해야죠! 디자인에 필요한 요소들을 안드로이드 프로젝트에 다 갖추고 개발을 시작하는 것이 편하고 좋거든요. 개인적으로 개발을 마치고 후에 디자인을 입혀본 적이 있는데 원하는 모양도 안 나오고 Activity 쪽 코드도 수정해야 하는 불상사가 발생했었습니다. (이건 물론 아키텍처나 구현 방식에 따라 얘기가 달라지지만요) 오늘은 이 디자인 요소들을 클라이언트 개발자가 정말 개발하기 편하게 도와주는 도구를 알려드릴 거예요. 그리고 XD로 만든 앱 디자인을 이 도구에 옮겨볼 예정입니다. 바로 Zeplin이라는 도구인데요. 이 도구 덕분에 디자이너와 개발자 사이의 거리가 많이 가까워졌다고 얘기들 많이 하더라고요. 일단 Zeplin 프..
2021.01.20