Kotlin 안 드 로 이 드 프로젝트 에서 의 응용 상세 설명

8870 단어 KotlinAndroid
Kotlin 안 드 로 이 드 프로젝트 에서 의 응용
링크
간단 한 소개
KotlinJetBrains 이 디자인 한 오픈 소스 코드 의 프로 그래 밍 언어 로 자바 개발 자 들 사이 에서 점점 유행 하고 있다.Kotlin 은 보통 자바 의 계승자 로 치 켜 세 워 진다.자바 에 비해 Kotlin 은 더욱 풍부 한 개발 경험 을 제공한다.왜냐하면 이것 은 더욱 현대적 이 고 표 현 력 이 있 으 며 더욱 간단 하기 때문이다.
안 드 로 이 드 가 개발 한 대체 프로 그래 밍 언어 를 찾 고 있다 면 Kotlin 을 시도 해 봐 야 합 니 다.Kotlin 을 사용 하면 자바 대신 Android 프로젝트 에서 쉽게 사용 하거나 자바 와 혼합 해서 사용 할 수 있 습 니 다.
이 글 은 안 드 로 이 드 스튜디오 프로젝트 에서 Kotlin 과 Kotlin 플러그 인 을 어떻게 사용 하 는 지 소개 한다.
선행 조건
본문 을 계속 하기 전에 너 는 먼저 다음 과 같은 두 가지 일 을 완성 해 야 한다.
Android Studio 를 최신 버 전 으로 업데이트 하여 Kotlin 의 기본 문법 을 이해 합 니 다.
Kotlin 프로 그래 밍 언어 에 익숙 하지 않다 면 Kotlin 안내서시작 하 다 장 을 먼저 읽 는 것 을 권장 합 니 다.
1.Kotlin 플러그 인 설치
Android Studio 의 빠 른 시작 메뉴 에서 Configure>Plugins 를 선택 하 십시오.

열 린 페이지 에서 아래쪽 에 있 는 Install JetBrains plugin 을 누 르 십시오...:

플러그 인 목록 에서 Kotlin Extensions For Android 를 선택 하거나 검색 하고 오른쪽 창의 Install Plugin 단 추 를 누 르 십시오.

이 확장 플러그 인 은 Kotlin 플러그 인 에 의존 하기 때문에 동시에 다운로드 하 라 는 대화 상자 가 나타 납 니 다.Yes 단 추 를 누 르 면 플러그 인 다운 로드 를 시작 합 니 다.

다운로드 설치 가 완료 되면 Android Studio 를 다시 시작 하면 플러그 인 을 활성화 할 수 있 습 니 다.
2.Kotlin 활동 만 들 기
Android Studio 에서 오른쪽 단 추 를 누 르 면 프로젝트 패키지 이름 이 팝 업 메뉴 에서 New>Kotlin File 을 선택 합 니 다.

팝 업 대화 상자 에 Activity 이름 을 입력 하고 형식 드 롭 다운 목록 에서 Class 를 선택 하 십시오.우 리 는 이름 을 MainActivity 라 고 명명 합 니 다.

클래스 가 생 성 되면 Kotlin 을 지원 하기 위해 app 모듈 을 설정 하 라 는 경 고 를 볼 수 있 습 니 다.

경고 표시 줄 링크 를 누 르 고 팝 업 대화 상자 에서 OK 단 추 를 누 르 면 기본 Kotlin 플러그 인 버 전 을 선택 하면 됩 니 다.

프로젝트 지원 Kotlin 을 설정 하기 위해 Kotlin 플러그 인 은 build.gradle 파일 을 수 정 했 습 니 다.Sync Now 버튼 을 누 르 면 변경 사항 을 적용 할 수 있 습 니 다.

여기까지 공사 의 배치 가 완료 되 었 습 니 다.방금 만 든 Kotlin 클래스 로 돌아 가서 Kotlin 프로 그래 밍 을 시작 합 시다.
3.Kotlin 사용
예 를 간단하게 유지 하기 위해 서,String 문자열 을 표시 하 는 TextView 를 포함 하 는 Activity 를 만 드 는 방법 을 보 여 줍 니 다.
클래스 가 Activity 에서 계승 되 는 지 확인 하고 onCreate 함 수 를 다시 쓰 십시오.물론 Kotlin 방식 으로 이 루어 져 야 합 니 다.Kotlin 에 익숙 하지 않다 면 단축 키 Control+O 를 통 해 Android Studio 의 코드 생 성 기능 을 활성화 하여 정확 한 함수 서명 을 받 는 것 을 권장 합 니 다.

생 성 된 후에 우리 의 종 류 는 다음 과 같 아야 한다.

package com.hathy.kotlinsample

import android.app.Activity
import android.os.Bundle

public class MainActivity: Activity() {
 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
 }
}

val 키 워드 를 사용 하여 TextView 의 읽 기 전용 인 스 턴 스 를 만 듭 니 다:

val myMessage = TextView(this)
TextView 의 setText 함 수 를 호출 하여 표시 할 문자열 을 설정 하고,이어서 setContentView 를 호출 하여 TextView 를 설정 합 니 다.

myMessage.setText("Hello")
setContentView(myMessage)
자바 Activity 에서 처럼 Android 시스템 이 인식 할 수 있 도록 AndroidManifest.xml 파일 에 Kotlin Activity 를 설명 해 야 합 니 다.이것 이 프로젝트 의 유일한 Activity 라면 manifest 파일 은 다음 과 같 습 니 다.

<activity android:name=".MainActivity">
 <intent-filter>
  <action android:name="android.intent.action.MAIN"/>
  <category android:name="android.intent.category.LAUNCHER"/>
 </intent-filter>
</activity>
이제 안 드 로 이 드 장치 나 시 뮬 레이 터 에서 이 앱 을 실행 할 수 있 습 니 다.Kotlin 컴 파일 러 는 자바 컴 파일 러 보다 조금 느 리 지만 컴 파일 시간의 현저 한 변 화 를 감지 하지 못 할 수도 있 습 니 다.
4.Kotlin 의 Android 확장 플러그 인 사용
Kotlin 의 Android 확장 플러그 인 은 개발 자가 Activity 속성 처럼 Activity 에 정 의 된 XML 레이아웃 파일 의 구성 요 소 를 다 룰 수 있 도록 합 니 다.이 플러그 인 을 사용 하면 findViewById 를 호출 할 필요 가 없다 는 것 이다.이 속성 들 은 이 로 인해 합성 속성(synthetic properties)이 라 고 불 린 다.
프로젝트 에서 이 기능 을 사용 하려 면 app 모듈 의 build.gradle 파일 에 org.jetbrains.kotlin:kotlin-android-extensions 를 구축 스 크 립 트 로 의존 해 야 합 니 다.Sync Now 단 추 를 누 르 면 이 변경 사항 을 프로젝트 로 동기 화 하 는 것 을 잊 지 마 세 요:

buildscript {
 dependencies {
  classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
 }
}
현재 이전 단계 와 유사 한 Activity 를 만 들 지만 레이아웃 XML 파일 로 TextView 를 정의 합 니 다.레이아웃 XML 파일 을 만 들 고 another 라 고 명명 합 니 다.activity.xml。이 파일 에서 TextView,id 를 my Message 로 정의 합 니 다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="match_parent"
 android:layout_height="match_parent">

 <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textAppearance="?android:attr/textAppearanceLarge"
  android:text="Large Text"
  android:id="@+id/myMessage" />
</LinearLayout>

다른 Kotlin 클래스 AnotherActivity 를 새로 만 듭 니 다.Activity 를 계승 하고 onCreate 함 수 를 다시 쓰 면 다음 과 같 습 니 다.

package com.hathy.kotlinsample

import android.app.Activity
import android.os.Bundle

public class AnotherActivity: Activity() {

 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
 }
}

onCreate 함수 에서 setContentView 를 호출 하고 방금 만 든 레이아웃 XML 파일 을 설정 합 니 다.

setContentView(R.layout.another_activity)
이제 findViewById 대신 아래 코드 세 션 을 사용 하여 TextView 를 가 져 올 수 있 습 니 다.

import kotlinx.android.synthetic.another_activity.myMessage
레이아웃 파일 에 다른 구성 요소 가 존재 한다 면 다음 문 구 를 사용 하여 모두 가 져 올 수 있 습 니 다.

import kotlinx.android.synthetic.another_activity.*
이 TextView 가 Activity 류 의 속성 인 것 처럼 id 를 사용 하여 TextView 에 접근 할 수 있 습 니 다.예 를 들 어 TextView 에 표 시 된 문자열 을 수정 합 니 다.

myMessage.setText("Hello")
5.자바 클래스 를 Kotlin 으로 변환
우 리 는 Kotlin 플러그 인 을 사용 하여 기 존의 자바 류 를 Kotlin 류 로 변환 할 수 있 습 니 다.이 기능 을 시도 하기 위해 서 먼저 다음 과 같은 자바 류 를 만 듭 니 다.이것 은 두 정수 의 합 을 인쇄 하 는 간단 한 Activity 입 니 다.

public class YetAnotherActivity extends Activity {

 private int a,b;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  a=10;
  b=20;
  Log.d("MESSAGE", "The sum is "+(a+b));
 }
}

단축 키 Control+Alt+Shift+J 를 사용 하거나 메뉴 코드>Java 파일 을 Kotlin 파일 로 변환:

변 환 된 Kotlin 클래스 는 다음 과 같 습 니 다.

public class YetAnotherActivity : Activity() {

 private var a: Int = 0
 private var b: Int = 0

 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  a = 10
  b = 20
  Log.d("MESSAGE", "The sum is " + (a + b))
 }
}

파일 내용 변경 을 제외 하고 파일 의 확장자 도 자바 에서 kt 로 바 뀌 었 습 니 다.
총결산
본 고 는 Android Studio 에 Kotlin 플러그 인과 Kotlin Android 확장 플러그 인 을 설치 함으로써 Android 프로젝트 에서 Kotlin 을 사용 하 는 방법 을 배 웠 습 니 다.Kotlin 과 자바 가 어느 정도 상호작용 을 할 수 있 기 때문에 Kotlin 을 배우 고 있다 면 안 드 로 이 드 프로젝트 에 점차적으로 적용 하 는 것 이 좋 습 니 다.
더 많은 Kotlin 관련 지식 을 배우 기 위해 서 저 는 Kotlin 안내서 을 방문 하 는 것 을 권장 합 니 다.시작 하 다 장 은 이 새로운 언어 를 빨리 익히 는 데 도움 이 될 것 이다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기