본문 바로가기

TIL/Android17

[Android] UI, View, View클래스, id, 크기 단위, margin, padding, visibility, rotation 사용자 인터페이스(UI) 사용자 인터페이스(UI, User Interace)의 요소는 크게 뷰(View)와 뷰 그룹(ViewGroup)으로 나눌 수 있다. 뷰는 화면을 구성하는 요소인 위젯이고, 뷰 그룹은 위젯들을 담는 컨테이너이다. 뷰 그룹은 레이아웃이라고 부른다. 안드로이드의 모든 위젯은 View 클래스를 상속하여 만들어진다. 레이아웃은 ViewGroup 클래스를 상속받는다. 상속의 계층은 아래 사진을 참고하면 된다. UI 작성 절차 1. 레이아웃인 뷰 그룹을 생성 2. 뷰 그룹에 필요한 뷰들을 추가 3. setContentView( )를 호출해 작성된 UI를 액티비티의 화면으로 설정 setContentView( )은 액티비티의 화면을 설정하는 메소드이다. UI를 작성하는 방법 1. XML 을 이용하.. 2022. 10. 2.
[Android] Gradle(그레이들), res(리소스), layout(레이아웃), manifest(매니페스트) 정리 bulid.gradle (:app) 그레이들(Gradle)이란? 그레이들은 안드로이드 앱의 빌드(build)도구이다. 빌드 도구란 실행파일을 만드는 데 사용되는 도구로, 앱을 빌드하는 데 필요한 라이브러리 버전도 자동으로 파악해서 필요한 경우 다운로드까지 한다. 그래이들의 설정 파일은 build.gradle이다. build.gradle(Project)는 전체 프로젝트에 대한 빌드 설정이며, build.gradle(Module)은 앱을 빌드하는 데 중요한 설정이 저장되어 있다. compileSdk 32 안드로이드 SDK 31 버전을 이용해서 컴파일 하라는 의미 defaultConfig { applicationId "ex.app.hello" minSdk 21 targetSdk 32 versionCode 1 .. 2022. 10. 2.
[Android] 안드로이드 스튜디오 프로젝트 폴더와 파일 구성, MainActivity.java 구조 프로젝트 뷰 구성 [ java ] 폴더 자바 소스 파일들이 들어있는 폴더로, 하위에는 패키지(package) 이름의 하위 폴더가 있다. 이는 프로젝트를 생성할 때 입력한 패키지 이름과 동일하다. - 패키지 폴더 안에는 MainActivity.java로 메인 Java 소스가 들어가 있다. 주로 액티비티(화면, activity_main.xml)에 어떤 일을 할 지 프로그래밍 하는 파일이다. [ java (generated) 폴더 ] Android Studio 3.2부터 제공되는 폴더이며 시스템 내부적으로 사용되기 때문에 신경 쓸 필요 없다. [ res ] 폴더 각종 리소스들이 저장되는 폴더로, 앱 개발에 사용되는 이미지, 레이아웃, 문자열 등을 넣는다. - drawable 폴더는 이미지 파일을 넣는 폴더이다.. 2022. 10. 2.
[Android] 안드로이드 애플리케이션 구성 - 컴포넌트, 액티비티, 서비스, 방송 수신자, 컨텐트 제공자, 인텐트 컴포넌트(Component) 안드로이드 애플리케이션은 컴포넌트들로 구성된다. 컴포넌트들은 하나의 독립된 entity로 존재하고, 정해진 역할을 수행한다. 각 컴포넌트는 애플리케이션을 시작하는 진입점을 가질 수 있으며 4가지 종류의 컴포넌트가 있다. 1. Activity ( 액티비티 ) 2. Service ( 서비스 ) 3. Broadcast receiver ( 방송 수신자 ) 4. Content provider ( 컨텐트 제공자 ) 액티비티(activity)란? 액티비티는 사용자 인터페이스 화면을 가지고 하나의 작업을 담당하는 컴포넌트이다. 하나의 애플리케이션은 여러 개의 액티비티를 가지고 있으며, 앱에서 화나의 화면은 하나의 액티비티이다. 모든 액티비티는 Activity 클래스를 상속 받는다. 서비스(.. 2022. 10. 1.
[Android] 안드로이드란? 안드로이드(Android)란 안드로이드(Android)란 구글에 의하여 개발되고 배포되는 운영체제로 리눅스 커널을 이용한다. 리눅스 커널 위에서 자바 코드르 해석해주는 가상 머신이 탑재되어 있어, 모든 자바 라이브러리가 지원된다. 안드로이드는 자바 or 코틀린 언어로 작성된다. 또한 요새 자바의 표준 JVM을 사용하지 않는 이유는 스마트폰이 데스크탑에 비하여 처리 속도와 메모리 측면에서 한참 뒤쳐지기 때문에 자체적인 자바 가상 머신인 'ART 가상 머신'을 사용한다. 안드로이드의 플랫폼 아키텍처(구조) 안드로이드는 단순히 운영체제만을 제공하는 것이 아니라 운영체제, 미들웨어, 핵심 애플리케이션을 모두 포함하는 모바일 플랫폼이다. 구글에서는 안드로이드를 '소프트웨어 스택(Software stack)'이라 .. 2022. 10. 1.
[안드로이드스튜디오] XML 파일 자동완성 기능 안 될 때 해결책 모음 / 자동완성 오류 해결방법 오류. MainActivity.java 파일에서 코드를 작성할 때는 자동완성이 되었으나 activity_main.xml 파일에서 코드를 작성할 때 어느순간부터 자동완성 기능을 사용할 수 없게 되었다. XML 파일에서 자동완성 기능이 안 되는 문제를 해결하기 위한 방법을 소개하겠다. 방법 1. InvalidateCaches / Restart 안드로이드 스튜디오 기능 활용 안드로이드 스튜디오 왼쪽 상단에 File -> InvalidateCaches / Restart 를 클릭해 안드로이드 스튜디오를 재부팅시킨다. 방법 2. 캐시 파일 삭제하기 1. C:\Users\사용자이름\.android 켜져 있는 안드로이드 스튜디오를 끈다. 위의 주소를 경로에 복붙하여 cache 파일을 찾아준다. 찾은 cache 파일을 .. 2022. 9. 23.
코틀린(Kotlin)/ Hello world, 클릭 이벤트, 사람 수 체크하기 Hello world import에 적힌 부분은 라이브러리 또는 네임 스페이스 savedInstanceState: Bundle? 이 main activity에서 사용되기 때문에 Bundle을 import 한다. class MainActivity : AppCompatActivity()는 클래스이며 코드 컨테이너 역할을 한다. 콜론은 AppCompat로 부터 상속 받는다는 의미 override fun onCreate() ’fun’은 기능을 의미하며 onCreate()에 오버라이딩된 기능을 의미한다. ‘compat’ 액티비티 안에 ‘onCreate’ 메서드가 있고, 그것을 코드로 오버라이딩 하는 것을 뜻한다. setContentView(R.layout.activity_main) 뷰의 컨텐츠를 설정, 레이아웃 .. 2022. 8. 26.
[Android] 새로운 프로젝트 생성 및 애뮬레이터 설치 프로젝트 생성 Name : 프로젝트 이름, 구글 플레이에 등록하는 경우 이 이름으로 지정된다. Package name : 앱을 배포하기 위한 고유한 패키지명 작성해야 한다. 그렇지 않으면 플레이 스토어에서 승인이 안 되고, 앱을 배포할 수 없게 된다. Save location : 컴퓨터 저장 위치 Language : 구글이 자바 소유주인 오라클과 문제가 생겨, 코틀린으로만 개발이 진행될 예정이니 코틀린을 학습하며 코틀린을 사용하도록 한다. SDK : Software Development Kit의 약자로, SDK는 소프트웨어 개발 도구와 설치 패키지를 모은 것으로 이는 컴파일러, 디버거, 소프트웨어 프레임워크로 앱을 구현하게 해준다. SDK는 하드웨어 플랫폼과 운영 체제에 연결되어 있다. Minimum S.. 2022. 8. 23.