티스토리 뷰

안드로이드/프로그래밍

기본 설정

에어버스 2022. 5. 14. 13:50

안드로이드 업데이트 하면서 새로운 기능이 추가되고, 이전것이 지원하지 않는 문제가 반복되고 있다.
(10, 11번 단계 참고)

2022.05.15 기준.


1. Android 홈페이지에서 Android Studio 설치
2. Android Studio 실행
3. Android Studio 설정
- Configure 메뉴에서 Settings 클릭 (이미 프로젝트가 열린 창에서는 메뉴 File/Settings 클릭)

윈도우는 기본 EUC-KR 인코딩이 기본인데 리눅스나 맥OS에서는 기본 파일 인코딩이 유니코드를 지원하는 UTF-8 이므로 윈도우에서 작성한 주석이나 한글이 다른 OS에서 깨져보이므로 OS 간의 호환성을 고려해서 파일 인코딩은 UTF-8 로 통일한다.
책에서는 with NO BOM 으로 하라는데 다른 블로그에서는 BOM 이 없으면 한글이 깨진다고 해서 with BOM  선택한다.
4. 자동 import 설정
   코틀린 API를 사용할때 패키지를 import 해야 한다. 기본 설정으로도 자동 import 가 이뤄지나 해당 API를 제거했을때 import 문을 자동 삭제되도록 설정한다.

Java 에서 Optimize imports on the fly 에 체크 한다.
kotlin 에서 Add unambugous inports on the fly 와 Optimize imports on the fly 2곳에 체크 한다.

5. 에뮬레이터를 버전에 맞게 새로 만들고 실행한다.
- 두 손가락을 이용한 확대/축소는 컨트롤키+드래그 로 한다.
- 한국어 추가하기 (기본 영어만 추가됨)

A. Settings 실행하고 아래로 내려가서 System 선택

C. Language & input 선택

D. Language 선택

E. Add a language 선택

F. 한국어 선택

G. 대한민국 선택

H. 한국어가 추가되었고 우측 이동 아이콘(위 그림 녹색) 을 위로 드래그해서 한국어가 1번이 되도록 한다.

그러면 회면이 영어에서 한글로 바뀐다.

6. 에뮬레이터 한글 키보드 설정
한글로 표시되고 있지만 아직 한글 입력이 되지 않으면 구글 플레이 에서 지보드로 검색해서 설치하면 된다.

7. 새 프로젝트를 Empty Activity 로 만든다.

Next 버튼 클릭

Language 에서  Kotlin 선택하고 Finish 버튼 클릭하면 새 프로젝트가 만들어 진다.

8. 프로그램 시작은 AndroidManifest.xml 의 <activity> 안에 <intent-filter> 에서 <action> 과 <catrgory> 를 가진 activity 에서 시작한다. 만약, MainActivity 가 아닌 다른 Activity 에서 시작하고 싶으면 <action> 과 <category> 2개 코드를 시작하고 싶은 Activity 로 이동하면 된다.

9. Layout 에 버튼을 추가하고 id를 button 으로 설정하면 자동 import 설정을 4번에서 설정했기 때문에 위 코드 13행 처럼 button 을 입력하면 관련 코드(import 와 build.gradle 파일에 kotlin-android-extensions) 가 자동 추가된다고 하는데 자동추가 안되고 있다. 직접 추가해봐도 13행 처럼 에러(빨간색)나면 11, 12행 주석을 해제하고 직접 변수를 만들어 사용하면 된다.

10. 자동 추가되도록 하려면 프로젝트에서 build.gradle(Module) 파일에서 4행과 같이 id 'kotlin-android-extensios' 를 입력하고 두 곳 중 하나에서 Sync Now 를 해야 한다.

11. MainActivity.kt 에서 7행을 입력하면 에러 없이 입력이 된다. (만약, Sync Now 하지 않고 입력하면 7행에서 에러난다.) 16행 button 도 에러가 사라진다.

12. 그러나, kotlin-android-extensios 플러그 인 이 문제가 있는건지 찾을 수 없는건지 에러난다.

13. build.gradle 에서 id 'kotlin-android-extensios' 와 MainActivity.kt 에서
import kotlinx.android.synthetic.main.avtivity_main.* 를 제거하고 13, 14행 주석을 해제하고
결국, 나중에 호환성 문제도 있으니 findViewBiId() 를 써야겠다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31