Android Studio
-
[Android Studio] 액티비티의 활동 수명 주기(Activity LifeCycle) 알아보기 - onCreate(), onStart() 등개발 끄적끄적/Android 2020. 10. 6. 00:57
안드로이드 기기의 화면에 보여지는 버튼, 이미지, 텍스트 등을 UI라고 부릅니다. 이때, UI와 밀접한 관련을 가지고 있는 액티비티의 생명 주기(Activity LifeCycle)에 대해 포스팅하겠습니다. 액티비티(Activity)란? 사용자에게 UI가 있는 화면을 제공하는 앱 컴포넌트입니다. 즉, 글을 읽는 화면, 지도 보기 화면, 카메라 촬영 화면 등 사용자와 상호작용을 할 수 있는 화면을 제공하는 것입니다. 앱은 보통 여러 개의 액티비티로 이루어져 있으며 각 액티비티는 화면을 꽉 채우기도 하고, 다른 윈도우 위에 떠 있을 수도 있습니다. 이때 하나의 액티비티(화면)에서 다른 액티비티(화면)로 이동하면 이전의 액티비티는 정지되며, 시스템의 백스텍이란 곳에 저장됩니다. 사용자가 뒤로가기 버튼을 누르면 ..
-
[Android Studio] 안드로이드 개발 환경 구축하기 - Android Studio 사용방법 및 구조 이해하기개발 끄적끄적/Android 2020. 9. 22. 15:39
저번 포스팅에 이어 Android Studio를 구성하는 기본 요소들이 어떤 역할을 하는지, Android Studio의 구조에 대해 심화된 내용으로 포스팅하겠습니다. 이전 포스팅에서 진행한 Android Studio를 켰을 때의 화면입니다. 이제 이를 구성하는 요소를 차례대로 자세히 짚어 보겠습니다. 1. app / manifests manifests라는 Directory안에 있는 AndroidManifest.xml는 app 모듈의 매니페스트 파일입니다. 이 파일에는 안드로이드 시스템이 앱을 실행하기 위해 필요한 정보가 담겨있습니다. 이러한 필수 정보를 시스템에 제공하는 기능을 하는 것입니다. 간단히 말해서 안드로이드 프로젝트는 application 위에 activity가 실행되는 구조입니다. 이때 각..
-
[Android Studio] 안드로이드 개발 환경 구축하기 - Android Studio 설치개발 끄적끄적/Android 2020. 9. 18. 15:49
Window에서 Android Studio를 설치하고 프로젝트를 생성해 안드로이드 개발 환경을 구축하는 방법에 대해 포스팅하겠습니다. 1. Android Studio란? Android Studio는 구글에서 공식으로 지원하는 Android용 앱 개발을 위한 통합 개발 환경 (IDE, Integrated Development Environment)입니다. 구글이 Android Studio를 공식 IDE로 제공하기 전엔 Eclipse를 기반으로 앱 개발을 지원했습니다. 하지만 Eclipse 버전에 따른 호환성 및 Eclipse 자체적인 무거움 등의 단점으로 인해 안드로이드 스튜디오로 변경하게 되었습니다. 이제부터 안드로이드 앱 개발에 필요한 안드로이드 스튜디오를 설치하는 방법에 대해 설명하겠습니다. 2. A..
-
[Android Studio] 간단한 정보 저장 - SharedPreferences 를 파헤쳐보자개발 끄적끄적/Android 2020. 7. 1. 14:18
앱을 개발하면서 데이터를 저장해야 할 일은 무궁무진하게 많습니다. 데이터를 저장하는 방법에는 여러 가지가 있는데, 그 중 하나인 SharedPreferences에 대해 알아보겠습니다. SharedPreferences란? SharedPreferences는 간단한 값을 저장할 때 사용합니다. 어플리케이션의 설정 값, 로그인 여부 등 간단한 값을 위해 DB를 사용하기엔 번거로운데, 이때 사용하기 좋습니다. SharedPreferences는 파일 형태로 저장됩니다. Key, Value 형태로 저장하며 data/data/{패키지명}/shared_prefs 위치에 저장됩니다. SharedPreferences는 해당 어플리케이션이 삭제되기 전까지 보존됩니다. 사용 방법을 알아보겠습니다. val pref = this...
-
[Android Studio] Intent - 전화걸기, 메시지, 웹사이트, 맵개발 끄적끄적/Android 2020. 6. 29. 21:18
어플 내에서 모든 활동을 만족할 수 없을 때 다른 어플로 연결하기도 합니다. 어플 내에서 링크를 타고 웹사이트로 이동하는 것이 가장 대표적인 예겠죠. 이때 사용되는 intent 이동에 대해 알아보겠습니다. intent란 무엇일까? 안드로이드 어플을 구성하는 네가지 기본 요소에는 Activity, Service, Broadcast Receiver, Content Provider가 있습니다. 이런 구성요소(컴포넌트) 간에 정보를 전달하는 역할을 하는 것이 Intent입니다. 무엇을 할건지를 담는 메시지 객체라고 할 수 있습니다. 화면은 하나의 액티비티라고 생각할 수 있습니다. 화면을 이동하는 작업은 각 액티비티를 실행하고, 종료하는 과정인 것입니다. 이때 액티비티 간 이동 시 정보를 공유해야하는 상황이 있는..
-
[Android Studio] MaterialCalendarView 커스텀해서 사용하기개발 끄적끄적/Android 2020. 6. 26. 14:30
안드로이드에서 기본 제공하는 CalendarView가 있습니다. 기본 CalendarView로는 다양한 커스텀을 하기 힘들기 때문에 다른 Calendar를 찾게 되는데요. 그 중 유명한 MaterialCalendarView에 대해 알아보겠습니다. MaterialCalendarView는 안드로이드에서 기본 제공하는 CalendarView보다 많은 기능을 가지고 있기에 많은 사람들이 애용합니다. 이제 그 사용법과 활용방법을 알아보겠습니다. build.gradle (Module:app) 에 추가해줍시다. implementation 'com.prolificinteractive:material-calendarview:1.4.3' 이제 xml에 추가해줍시다. mcv_selectionColor는 CalendarVie..
-
[Android Kotlin] Permission(권한) 얻기개발 끄적끄적/Android 2020. 6. 2. 15:15
개발을 하다 보면 사용자(기기)의 위치 정보, 인터넷 권한, 혹은 내장 메모리에 접근해야하는 등의 작업이 필요할 때가 있습니다. 이때 필요한 permission(권한)의 종류와 방법에 대해 알아보겠습니다. 권한을 요청할 경우 사용자에게 이유를 설명하는 것이 좋습니다. 사용자가 사진앱을 실행할 때 사용자에게 카메라 권한을 요청해도 놀라지 않을 것이지만, 사용자 위치나 내장메모리 등의 권한을 요청한다면 사용자가 의아하겠죠. 따라서 권한을 요청하기 전 사용자에게 권한에 대한 간결한 설명을 고려해야 합니다. 설명이 복잡하고 길어진다면 앱을 제거할 확률이 생기겠죠? 권한을 요청했는데 사용자가 권한 요청을 거절했을 경우 사용할 수 있는 메소드가 있습니다. shouldShowRequestPermissionRation..
-
[Android Kotlin] Navigation Drawer를 이용한 사이드 메뉴 만들기개발 끄적끄적/Android 2020. 6. 1. 20:48
Google Play Store, Gmail 등 많은 앱에서 사용되고 있는 메뉴를 알아보겠습니다. 三 모양의 버튼(일명 햄버거 버튼)으로 왼쪽에서 열리는 사이드 메뉴를 많이 보셨을텐데요. 직접 커스텀할 수 있는 사이드 메뉴를 만들어보겠습니다. DrawerLayout 서랍이라는 의미의 Drawer를 따서 DrawerLayout은 '평소에는 숨어 있다가 사용자의 액션을 받아 나타나는 기능을 도와주는 레이아웃' 입니다. DrawerLayout 자체가 사라지는 것이 아닌 DrawerLayout에 추가된 child layout이 서랍의 기능을 하도록 해주는 것입니다. 하지만 DrawerLayout의 모든 child layout이 서랍의 기능을 수행하는 것은 아닙니다. 보통 DrawerLayout의 자식은 두개의 ..