위젯 안드로이드에서 화면을 구성하는데 사용하는 요소를 위젯이라고 합니다. 이 중에서 View 클래스를 상속해서 만들어진 위젯을 뷰라고 부르고 ViewGroup 클래스를 상속한 위젯을 뷰그룹이라고 부릅니다. 뷰그룹에 속한 위젯 중에서 뷰를 배치하는 용도로 사용하는 배치 관리자를 '레이아웃'이라고 부르고 나머지는 '뷰 컨테이너' 라고 부릅니다. 위젯은 TextView, Button, EditText, CheckBox 등 많은 종류가 있습니다. 텍스트 뷰 텍스트 뷰는 사용자가 수정할 수 없는 텍스트를 표시하는 뷰입니다. 일반적으로 정보를 표시하기 위한 용도로 사용됩니다. 텍스트 뷰에는 크기, 줄(라인), 색상을 설정할 수 있으며, 웹 주소의 링크나 전화번호 텍스트 뷰에서 사용자가 클릭했을 때 브라우저나 전화앱..
분류 전체보기
액티비티 앱을 실행했을 때 보여지는 화면을 구성할 수 있도록 해주는 구성요소 중 하나입니다. 앱은 한 개의 액티비티만을 가질수도 있고 수십 개 이상을 가질수도 있습니다. 일반적으로 액티비티는 화면 전체를 가득 채우지만, 다른 액티비티 위에 띄울수도 있습니다. 또한 액티비티에서 다른 액티비티를 실행할 수도 있으며, 뒤로가기 버튼으로 이전 액티비티로 돌아갈 수도 있습니다. 액티비티 메소드 액티비티는 기본적으로 다양한 상태를 가질 수 있으며, 상태에 따라 액티비티의 특정 메소드가 호출됩니다. 액티비티의 사앹에 따라 호출되는 메소드를 액티비티의 '생명주기 메소드'라고 부릅니다. 이러한 액티비티는 안드로이드 Activity 클래스를 상속한 클래스를 말합니다. Activity 클래스는 안드로이드가 발전하면서 하휘 ..
로그 로그는 프로그램의 현재 상태나 비정상적인 동작을 추적할 수 있는 기능입니다. 로그를 적재적소에 잘 남기면 향후 발생하는 문제를 빠르게 해결할 수 있습니다. 안드로이드 로그 안드로이드에서는 android.util.Log 클래스를 사용해서 로그를 남길 수 있습니다. 로그 레벨을 Verbose 에서 Error 까지 있으며, 레벨을 구분하여 로그를 제대로 남기면 향후 좋습니다. 각각의 로그레벨별로 안드로이드 스튜디오의 Logcat 에 색상 표시가 되며, 태그로 오류유형을 구분한 후 검색어를 통해 원하는 로그만을 추적할 수도 있습니다. 로그 레벨 설명 Error 가장 심각한 문제가 발생했을 때 남기는 로그 Log.e("Tag", "Message") Warning 심각하지는 않지만 나중에라도 문제의 소지가 있..
안드로이드 동작방법 안드로이드 앱의 기본적인 동작 방식은 사용자가 버튼을 클릭하거나 스크롤하는 등 사용자의 행동을 감지해서 적절한 반응을 하는 것 입니다. 즉 레이아웃 XML 에 배치한 위젯을 사용자가 어떻게 사용하는지에 따라 반응하는 코드를 작성해야 합니다. 레이아웃 XML 하나의 레이아웃에는 텍스트뷰, 버튼 등의 여러 위젯을 선언할 수 있으며 이 위젯들은 ID 로 구분이 됩니다. 하나의 레이아웃 내의 ID 들은 고유해야 하며, 서로다른 레이아웃은 같은 ID 를 가질 수 있습니다. ID 설정하는 방법 이러한 ID 는 XML 에서 android:id 값 혹은 Desine 의 우측 Attributes 의 id 로 설정해 주면 됩니다. 자바에서 레이아웃 XML 의 ID 를 사용하는 방법 setContView..
안드로이드 가상기기 안드로이드 스튜디오에서는 안드로이드 가상기기를 설치하여 앱이 동작하도록 해줍니다. 이를 애뮬레이터라고 칭하며, 에뮬레이터를 생성해서 프로젝트를 실행할 수 있습니다. 다양한 안드로이드 가상기기를 제공해 주며, 이에 맞는 API 버전과 해상도에서 앱이 잘 동작하는지 확인할 수 있습니다. 안드로이드 가상기기 생성방법 1. 노란색 박스표기된 AVD Manager 를 클릭합니다. AVD Manager 를 통해서 가상기기를 생성할 수 있습니다. 2. Create Virtual Device 버튼을 클릭합니다. 3. 가상기기를 선택합니다. 저는 'Nexus 5X' 를 선택했고 각자 필요한 디바이스를 선택해주면 됩니다. 4. 기기를 선택했으면 안드로이드 버전을 다운로드합니다. 저는 Oreo 의 8.1..
안드로이드 프로젝트의 구성요소 안드로이드 프로젝트는 크게 app 과 Gradle Scripts 영역으로 구분됩니다. app 영역에는 앱을 개발하기 위해 필요로 하는 기본적인 파일들이 있고 Gradle Scripts 에는 앱을 컴파일하고 실행하기 위해 필요한 파일들이 있습니다. 이 구조는 실제 디렉터리 구조는 아니며 안드로이그 개발을 좀더 편하게 할 수 있도록 개발에 필요한 디렉터리만 나열되어 있는 구조입니다. 실제 디렉터리 구조를 보고싶다면 app 위의 '보기 모드 설정 메뉴' 인 Android 를 Project 로 변경하면 볼 수 있습니다. 안드로이드 프로젝트의 4가지 구성요소 위 구성요소를 설명하면 다음과 같습니다. 요소 설명 mainfests 앱의 기본 정보를 담고 있는 AndroidManifest..
안드로이드 스튜디오 화면 안드로이드 스튜디오에서 프로젝트를 생성하면 다음과 같이 폴더 구조가 생성됩니다. 여기에서 소스 코드를 작성하는 '개발 화면' 과 앱을 디자인하는 '레이아웃 화면' 으로 구분됩니다. 참고로 상단 중간 부분의 녹색 '>' 버튼을 앱을 실행하겠다는 의미이며, 하단의 Problems, Logcat 은 컴파일과 애뮬레이터를 실행하며 발생하는 로그를 보여주는 영역입니다. 개발화면 안드로이드 스튜디오 왼쪽에 위치한 프로젝트 창에서 java 디렉터리 아래에 있는 화면입니다. 자바 코드를 수정하는 작업을 할 수 있으며, 새로운 자바 파일을 생성할 수도 있습니다. 안드로이드는 자바를 기반으로 되어있기 때문에, 자바 파일을 만드는 방식과 동일합니다. 레이아웃 화면 레이아웃 화면은 res/layout..
안드로이드 스튜디오 프로젝트 생성하기 안드로이드 스튜디오 설치를 완료했으면 프로젝트를 생성해봅니다. 1. 프로젝트를 저장한 디렉터리를 생성합니다. 저의 경우 "D:\02_Document_Folder\Android_Project" 경로에 만들었습니다. 2. Create New Project 를 클릭합니다. 3. Phone and Tablet 에서 Empty Activity 를 선택후 Next 를 클릭합니다. 참고로 안드로이드 스튜디오에서 많은 액티비티를 지원해 주고 있으며 원하는 액티비티를 클릭할 수도 있습니다. 4. 액티비티 값 설정을 해줍니다. 명칭 설명 Name 프로젝트의 이름 Package Name 패키지 이름 Save location 프로젝트가 저장될 경로 Language 안드로이드를 개발할 언어..
안드로이드 개발 환경 안드로이드 앱을 개발하기 위해서는 개발 툴인 안드로이드 스튜디오를 설치해야 합니다. 안드로이드 스튜디오는 코드 편집, 디버깅, 빌드 시스템 등 다양한 기능을 제공할 뿐만 아니라 안드로이드 버전 및 크기에 따른 안드로이드 기기를 에뮬레이터로 제공합니다. 안드로이드 스튜디오가 나오기 전까지는 이클립스가 안드로이드 개발 툴이었으나 지금은 구글에서 공식적으로 제공하는 안드로이드 전문 개발 툴인 안드로이드 스튜디오를 사용하는 것이 좋습니다. 안드로이드 스튜디오 다운로드 https://developer.android.com/studio 사이트로 접속하여 Download 버튼을 클릭합니다.
안드로이드 버전 안드로이드는 2008년 9월 버전 1.0을 출시한 이후로 현재 12버전이 출시되었습니다. 하나의 버전내에서도 기능개발은 계속되어 이렇게 변경된 기능을 기반으로 한 API 버전은 31단계까지 증가합니다. 안드로이드 버전은 디저트 이름을 모티브로 한 영문 알파벳 순으로 지어지고 있습니다. 안드로이드 버전과 API 버전 안드로이드 버전과 API 버전은 동일하지 않습니다. 하나의 안드로이드 버전에서 기능개발로 인해 API 버전이 여러개가 나올 수 있기 때문입니다. 또한 안드로이드 버전이 올라가면서 리눅스 커널 버전도 올라가게 되었습니다. 커널까지는 저희가 알 필요가 크게 없어서 정리하지 않았습니다. 모든 API 를 다 정리하기에는 너무 많기 때문에 최근 릴리즈 날짜에 맞춰 몇개만 정리했습니다. ..