반응형

kotlin 13

[Kotlin] 웹뷰(WebView) 사용 방법

WebView WebView란? 앱에서 웹페이지 제공하려고 하는 경우 WebView를 사용하게 된다. WebView클래스는 Android의 View 클래스의 확장으로, 웹페이지를 활동 레이아웃의 일부로 표시할 수 있게 해 주고, 탐색 컨트롤이나 주소 표시줄 등 완전히 개발된 웹브라우저의 기능은 전혀 포함되어 있지 않는다. 앱 내에 웹페이지를 넣어준다고 생각하면 된다. 1. 사용 방법 1-1) 인터넷 퍼미션 설정 (AndroidManifest.xml) //권한 주기 manifests > AndroidManifest.xml 수정 1-2) layout에 WebView 추가 1-3) Activity 수정 웹 이랑 앱은 다르기 때문에 세팅이 필요 class webActivity : AppCompatActivity..

Kotlin 2022.12.20

[Kotlin] 스레드(Thread)의 개념 및 runOnUiTread 사용 방법

Thread Thread는 메인 스레드와 백그라운드 스레드로 나누어진다. UI 변경은 메인 스레드(UI 변경 스레드)에서만 가능하고, 백그라운드 스레드는 네트워크 작업, 데이터베이스 작업, 계산량이 많은 작업을 한다. 메인 스레드(UI 스레드) 란? 앱이 처음 시작되면 시스템이 스레드 하나를 생성하는데 이를 메인 스레드라고 한다. 메인 스레드의 역할은 크게 두 가지로 액티비티의 모든 생명 주기 관련 콜백을 실행을 담당하거나, 버튼, 에디트텍스트와 같은 UI 위젯을 사용한 사용자의 이벤트와 UI드로잉 이벤트를 담당한다. 그렇기 때문에 UI 스레드라과 불린다. 백그라운드 스레드 란? 작업량이 큰 연산이나, 네트워크 통신, 데이터베이스 쿼리 등은 처리에 긴 시간이 걸린다. 이 모든 작업을 메인 스레드의 큐에 ..

Kotlin 2022.11.16

[Kotlin] Retrofit 사용한 API 통신 방법

Retrofit Retrofit이란? 안드로이드와 자바를 위한 타입 안전한 HTTP 클라이언트이다. (서버와 통신할 때 거의 필수) API로 정보를 받아오기 때문에 HTTP클라이언트이다. 요청 바디 값(Request Body)과 응답 바디 값(Response Body)을 원하는 타입으로 안전하게 바꾸어주기 때문에 타입 안전이다. 네트워킹 관련 스레딩, 캐싱, 에러 핸들링, 응답 파싱에 필요한 보일러 플레이트를 줄여주고 개발자가 읽기 편한 코드를 작성할 수 있게 도와준다. 보일러 플레이트(BoilerPlate) 코드란 ? 모든 코드를 작성하기 위해 항상 필요한 부분을 의미한다. BoilerPlate는 다음 4가지로 구성되어 있다. - Import : 필요한 코드를 불러들이는 부분 - Component : ..

Kotlin 2022.11.14

[Kotlin] Null 처리 방법(Nullable, NonNull)

빈 값이 들어갈 수가 있으며 이를 null이라고 한다. Java에서는 null이 들어가면서 발생하는 오류(예외)를 NPE(Null PointerException) 이라고 한다. 반면 Kotlin에서는 따로 정해진 null 예외처리가 없으며 기본적으로 변수에는 null 값이 들어갈 수 없다. 1. Nullable / NonNull Nullable : 변수에 null을 넣을 수 있다는 의미 NonNull : 변수에는 기본으로 null이 들어올 수 없으니 해당 변수는 NonNull 1-1) ' ? '를 사용한 null 체크 방법 //기본적으로 코틀린은 NonNull type; var name = "jacob" //"?"를 붙여주면 null 사용 가능 ?을 넣어야하기 때문에 타입을 생략하면 안됨 var null..

Kotlin 2022.11.04

[Kotlin] Fragment Navigation 화면 전환 방법

Fragment Navigation 이란? Android Jetpack의 Navigation Component를 사용하여 페이지 이동을 쉽게 구현하게 해주는 방법이다. * 공식 문서 * https://developer.android.com/guide/navigation/navigation-getting-started 1. Navigation 구성요소 Navigation Graph : 모든 Navigation 관련 정보가 하나의 중심 위치에 모여 있는 XML 리소스입니다. 단순히 말해 사용자가 앱에서 갈 수 있는 모든 플로우를 보여주고 앱 내의 Fragment를 한눈에 확인할 수 있습니다. NavHost : Navigation Graph에서 대상을 표시하는 빈 컨테이너입니다. 대상 구성요소에는 프래그먼트 ..

Kotlin 2022.11.02

[Kotlin] RecyclerView 사용 방법

RecyclerView RecyclerView 란? 아이템 뷰를 계속해서 재활용하는 방법이다. findViewById(R.id.이름) 와 같이 xml 리소스에 접근하는 비용이 큰 함수를 사용한다면 성능 저하를 야기할 수 있습니다. 대신에 뷰 홀더 클래스를 만들고 안에 변수를 선언하면 뷰에 즉시 액세스가 가능해진다. 뷰 홀더 내부에서는태그를 이용해 findViewId를 대체한다. (변수 선언 외에 딱히 해줄 것이 없다) 1. 사용 방법 1-1) Item View 생성 List 하나에 대한 아이템 뷰를 생성한다. res > layout 마우스 우측 > NEW > Layout Resource File 생성 (list_item.xml) item에 대한 height, width 설정 (width는 match_pa..

Kotlin 2022.10.31

[Kotlin] Observer Pattern(옵저버 패턴) 사용 방법

Observer Pattern 이벤트가 발생할 때마다 ‘즉각적으로 처리’할 수 있도록 만드는 프로그래밍 패턴으로 이벤트가 일어나는 것을 감시하는 감시자의 역할을 만든다고 하여 옵저버라고 한다. ex) 키의 입력, 터치의 발생, 데이터의 수신 등 이벤트란? 함수로 요청하지 않았지만 시스템이나, 루틴에 의해서 발생하게 되는 동작들을 이벤트라고 부른다. 1. 기본 개념 B에서는 자신의 이벤트를 받을 수 있는 인터페이스를 만들어 공개하고 A는 이를 구현하여 B에 넘겨주면 인터페이스만 알아도 이벤트를 넘겨줄 수 있다. 이때 이 인터페이스를 ‘Observer’ 또는 코틀린에서는 ‘Listener’라고 부르며 이렇게 이벤트를 넘겨주는 행위를 ‘Callback’이라고 합니다. 2. 옵저버 패턴 구현 fun main()..

Kotlin 2022.10.05

[Kotlin] 뷰 바인딩(ViewBinding) 사용 방법

뷰 바인딩이란? 각 XML 레이아웃 파일의 루트 뷰 및 ID가 있는 모든 뷰의 참조를 포함한 클래스를 자동으로 생성합니다. 이 클래스의 이름은 XML 파일의 이름을 카멜 표기법으로 변환하고 끝에 ‘Binding’을 추가하여 생성된다. activity_main.xml → ActivityMainBinding 1. gradle 설정 andriod { ... /* 안드로이드 스튜디오의 버전이 4.0 이상 */ buildFeatures{ viewBinding true } /* 안드로이드 스튜디오의 버전이 4.0 이하 */ viewBinding{ enabled = true } } Sync now눌러 설정 반영 2. 설정 추가 후 프로젝트 빌드 일정 시간이 지나면 빌드가 완료 Run과 Build의 차이 - Build..

Kotlin 2022.09.28

[Kotlin] 범위형(for) / 조건형(while) 반복분

1. 범위형 반복문 1-1) for in 반복문 val stundent = arrayListof("joyce","java","jacob") for(name in student) { pirntln(${name}) } //인덱스도 같이 반복 for((index, name ) in student.withIndex()){ pirntln("${index+1} 번째 학생 : ${name}") } 1-2) for 범위 반복문 var sum = 0 for( i in 1..10){ sum += i } //steb 반복 2칸씩 1, 3, 5, 7, 9 for( i in 1..10 step 2){ sum += i } // 감소 9에서 0까지 1씩 감소하며 반복 뒤에 step 가능 for(i in 9 downTo 0){ pr..

Kotlin 2022.09.27

[Kotlin] 안드로이드 스튜디오 Guideline (반응형 UI) 사용 방법

Guideline을 사용하여 반응형 UI를 만들 수 있다. 1. 레이아웃의 툴바로 생성 Vertical Guideline : 수직방향 가이드라인 생성 Horizontal Guideline : 수평 방향 가이드라인 생성 1-1) 코드는 자동 생성된다. 자동 생성 가이드라인 ID는 @+id/guideline[숫자] 형식 숫자는 생성할 때마다 증가한다. 수직 방향 가이드라인을 추가 시 android:orientation값은 vertical이다. app:layout_constraintGuide_begin 부모 레이아웃의 시점에서 20dp 떨어진 곳에 위치, 이 속성을 포함해서 가이드라인은 3가지 종류의 제약을 줄 수 있다. app:layout_constraintGuide_begin = “xdp” → 부모 레이아..

Kotlin 2022.09.26
반응형