목록Programming/Kotlin - Android (39)
외로운 Nova의 작업실
- permission 퍼미션이란앱의 특정 기능에 부여하는 접근 권한을 말합니다. 내가 개발하는 앱이 다른 앱이나 안드로이드 시스템에서 보호하는 특정 기능을 이용할때 퍼미션(uses-permission) 사용을 설정해야합니다. 또한 내가 개발한 앱의 기능을 다른 사람과 공유할려면 퍼미션(permission) 기능을 허용해야합니다. - 안드로이드 시스템 특정 권한 사용하기 minifast 파일이란 앱의 설정관련한 파일로 안드로이드 시스템의 특정 기능을 이용하려면 해당 파일에 해당 기능을 사용하겠다고 선언해줘야합니다. 카메라 사용을 예시로 들어보겠습니다. 아래는 manifest 파일입니다. 하단에 을 선언해줘야합니다. name의 경우에는 퍼미션을 구별하는 식별자로 android의 권한중 CAMERA 권한을 ..
- 리소스 앱에서 사용하는 리소스는 크게 앱 리소스와 플랫폼 리소스로 구분됩니다. - 앱리소스 앱을 개발하기위해 모듈을 만들면 자동으로 res라는 디렉터리가 생기고 그아래에 drawable, layout, mimmap, values라는 3개의 디렉터리가 생성됩니다. 이는 기본적으로 만들어지지만 사실 리소스파일의 종류는 더 많습니다. 다양한 리소스 디렉터리를 res 아래에 만들어 쓸 수 있지만 이름들은 임의로 정할 수 없고 고정되어 있습니다. 아래는 그에따른 자료입니다. 디렉터리명 리소스종류 animator 속성 애니메이션 XML anim 트윈 애니메이션 XML color 색상 상태 목록 정의 XML drawable 이미지 리소스 mipmap 앱 실행 아이콘 리소스 layout 레이아웃 XML menu 메..
- 키 이벤트 키 이벤트에서는 네비게이션 바의 뒤로가기 버튼과 음량버튼이 눌렸을때 함수를 호출할 수 있습니다. onKeyDown : 키를 누른 순간의 이벤트 onKeyUp : 키를 떼는 순간의 이벤트 onKeyLongPress : 키를 오래 누르는 순간의 이벤트 package com.example.myapplication import android.os.Bundle import android.util.Log import android.view.KeyEvent import android.widget.Toast import androidx.appcompat.app.AppCompatActivity class kakotalk : AppCompatActivity() { override fun onCreate(sa..
- LinearLayout LineartLayout은 선형적으로 배치합니다. 제일 중요한 속성은 orientation 속성이며 horizontal 이나 vertical 값으로 방향을 지정합니다. 화면에 뷰를 배치하다보면 가로나 세로 방향에 여백이 생길 수 있는데 이 역백을 layout_weight로 채울 수 있습니다. gravity의 정렬대상은 콘텐츠이고 layout_gravity의 정렬대상은 뷰 자체입니다.
- 뷰 클래스 액티비티는 화면을 표시하는데, 뷰 클래스의 하위 클래스들을 실행시켜서 화면을 구성합니다. 뷰 클래스의 하위 클래스들의 종류는 아래와 같습니다. TextView : 화면에 글자를 출력합니다. ImageView : 화면에 사진을 출력합니다. EditText : 화면에 글을 쓸 수 있는 상자를 출력합니다. Button : 화면에 버튼을 출력합니다. ListBiew : 화면에 리스트를 출력합니다. View : 구분선을 출력합니다. - View Group 뷰 클래스의 하위 클래스로 실제 화면을 출력하는 클래스들을 묶어서 제어할 클래스들의 모임입니다. 일조의 그릇 역할, html의 와 비슷합니다. 아래는 종류입니다. LinearLayout : 레이아웃 안에 있는 뷰 클래스들을 하나의 줄에 배치합니다...
- 람다 함수 //람다함수 선언 val sum = {no1: Int, no2: Int -> no1 + no2} //람다함수 호출문 sum(10, 20) //람다함수 선언과 호출 val sum = {no1: Int, no2: Int -> no1 + no2}(10, 20) //매개변수 없는 람다함수 {println("function call")} //매개변수가 1개인 람다함수에 unit, i 키워드 사용 val some: (Int) -> Unit = {println(it)} //람다 함수의 반환 val som = {no1: Int, no2: Int) -> println("function") no1 * no2 //얘가 반환됨 } //함수 타입 선언 및 람다함수 선언 fun some: (Int, Int) -> ..
- 변수와 상수 val data1 = 10 //상수 var date2 = 10 //변수 fun main(){ date1 = 20 //오류 date2 = 20 //성공 } var date1 : Int = 10 최상위 변수나 클래스의 맴버 변수는 선언과 동시에 초깃값을 할당해야합니다. 하지만 함수 내부에 선언한 변수는 선언과 동시에 초깃값을 할당하지 않아도 됩니다. 변수를 선언할때 값을 이후에 할당하려면 컴파일러에게 알려줘야합니다. 이에 lateinit 이나 lazy 키워드를 사용합니다. lateinit var date : String lateinit 키워드를 사용할"때는 다음 2가지 규칙을 따라야합니다. lateinit은 var 키워드로 선언한 변수에만 사용할 수 있습니다. Int, Long, Short,..
- 안드로이드 컴포넌트 안드로이드의 내장 클래스 즉, 컴포넌트는 4가지로 다음과 같습니다. 액티비티(Activity) : 화면을 구성하는 컴포넌트로 앱의 화면을 안드로이드폰에 출력하려면 액티비티를 만들어야하며, 앱이 실행되면 액티비티에서 출력한 내용이 안드로이드폰에 나옵니다. 서비스(service) : 백그라운드 작업을 하는 컴포넌트로 화면 출력 기능이 없으므로 서비스가 실행되더라도 화면에는 출력되지않습니다. 서비스 컴포넌트는 화면과 상관없이 백그라운드에서 장시간 실행해야할 업무를 담당합니다. 콘텐츠 프로바이더(ContentProvider) : 앱의 데이터를 공유하는 컴포넌트로 앱간에 데이터를 공유할 수 있습니다. 하나의 앱이 자신의 데이터를 다른 앱에 공유하려면 콘텐츠 프로바이더를 만들어야하며 다른앱에..
- 책소개 안녕하세요. 이번 프로그래밍은 안드로이드 앱 프로그래밍을 배워볼 생각입니다. 책은 깡샘의 안드로이드 앱 프로그래밍 with 코틀린 으로 진행할 예정입니다. - 애뮬레이터 안드로이드 스튜디오에서는 앱의 실행을 컴퓨터가 아닌 가상의 핸드폰 또는 컴퓨터와 연결된 스마트폰으로 실행이 가능합니다. 애뮬레이터는 안드로이드 스튜디오 안에서 device manager를 통해 실행할 수 있습니다. - 컴퓨터와 핸드폰 연결 컴퓨터와 스마트폰을 연결하기 위해선 usb 드라이버를 컴퓨터에 설치해야합니다. https://www.samsungsvc.co.kr/download 다운로드 자료실 | 스스로해결 | 삼성전자서비스 다운로드 자료실 원하시는 정보를 못 찾으셨다면 아래 서비스를 이용해보세요. 문제해결이 되지 않거나..