본문 바로가기
App hacking

[안드로이드] 앱 개발 환경설정

by m_.9m 2022. 2. 28.

#0 코틀린은?

코들린은 오픈소스로 2012년에 출시 2017년 구글이 안드로이드 앱 개발용으로 추천 하고 급 부상하였다.
코틀린은 자바와 100%로 호환이 가능하다.

원리)
Complication은 C프로그램을 기계어로 컴파일 하는 것이고 Interpretation은 리얼타임으로 기계어 전달
Complication은 inter-보다 빠르지만 플랫폼(운영체제)에 의존적이고 Interpretation는 플랫폼 독립적 = 자동 변환

Java vitual machine은 이것의 호환으로 두 언어모두 Java Byte Code로 컴파일되어(Com-) JVM(Java vitual machine)가 각 플랫폼에 번역(inter-) 전달한다.

장점)
Null Safety / Coroutine

활용)
Java 어플리케이션에서 활용, 안드로이드 앱 개발, 자바스크립트 컴파일 리액트JS, 노드JS 활용, 데이터사이언스 활용 등

#1 안드로이드 앱 개발 환경 설정

자바 다운 - https://www.oracle.com/java/technologies/downloads/#jdk17-windows
안드로이드 스튜디오 다운 - https://developer.android.com/studio


Empty Activity로 새 프로젝트 시작



Device manager로 가상 디바이스를 만들어 앱을 실행시킬 수 있다.
11로는 화면도 켜지기 전에 프로그램이 멈췄고 내 노트북으로는 7버전도 렉이 엄청 걸린다.
실행시 뜰 화면을 보여준다. 이 xml 파일은 정적인 화면을 나타내고 이 xml 파일의 id를 이용해서 kt확장자 파일에서 이걸 불러일으켜 실질적인 앱의 구조를 짠다.



문제의 변수 바인딩을 위해,
bulid.gradle 파일에 viewBinding true 설정을 해주고, 코드를 적용시킨다.
<가이드라인>
https://duckssi.tistory.com/42

 

[Android Kotlin] View Binding ( 뷰 바인딩 )

네 여러분들 안녕하십니까 홍 드로이드 입니다 :) 이번 시간에는 코틀린에서 View Binding ( 뷰 바인딩 )을 하는 방법에 대해서 안내드리도록 하려고 합니다. 우선 뷰 바인딩에 대해서 쉽게 말씀드리

duckssi.tistory.com



글을 따라 수정을 하면 되는데, 문제가 생긴다.



tools:context=".MainActivity"부분에 해당 부분에서 Unresolved class MainActivity 에러가 발생한 것.
import R을 적용해라, 캐시를 지워라, 껐다 켜라 등 수많은 해결방법을 따라해보았지만....
출처: Stackoverflow사이트

왜 안대...ㅜ