
오늘부터 안드로이드 강의가 시작되었다.
배웠던 코틀린 잊지말고 안드로이드 배울때마다 계속 배운내용 생각해야겠다.
view단을 xml파일로 만드는걸 알게되었다. 추후에 다른 방법을 알려줄지도 모르지만.
res(리소스폴더)의 layout폴더에서 activity_main.xml의 내용을 수정하여 앱 메인화면에 보여줄 화면을 구성해준다.
안드로이드 스튜디오의 버전업에따라 코드작성뿐만아니라 드래그앤드롭 방식으로도 화면을 구성하게 발전한 것 같다.
예전에 pyqt 한번 접해봤을때 gui툴로 화면구성하면 코드가 매우 지저분하게 작성이 되었던걸로 기억하는데... 아직 처음 단계라 구조가 단순해서 그런진 몰라도 코드가 깔끔하게 구현되는 것 처럼 보인다.
view단에서 만든 요소를 이제 MainActivity.kt에서 findViewById함수로 가져오면 실제 메인화면에서 사용할 수 있게 연결되는 것 같다.
버튼 요소를 가져와 setOnClickListener메서드에서 onClick메서드를 오버라이딩하고 버튼을 클릭하면 텍스트뷰 요소의 내용을 바꾸는 이벤트를 처리할 수 있다.
해당 과정은 실제 현업에서 강사님이 쓰는 과정은 아니고 튜토리얼 느낌으로 받아들이면 될 것 같다.

안드로이드 9.0을 타겟으로 만든 어플리케이션에서
안드로이드 12에서 추가된 기능을 사용할 수 있는가?
이전에는 개발자가 OS버전별로 화면을 다르게 만들어야 함
지금은 안드로이드 어플리케이션 내부에 라이브러리가 포함됨
OS버전에 관계없이 화면을 비슷하게 보여줄 수 있음
그만큼 어플리케이션 용량이 커지고 메모리를 많이 필요하게 됨
안드로이드 9.0을 타겟으로 만들면 9.0 이후에 나온 버전의 기능은 일부가 내부 라이브러리에 포함되어 있어 일부 기능만 쓸 수 있다.
안드로이드 개발 시 기능을 지원하는 OS 파악이 꼭 필요
현재는 7.0 이상이면 무난하게 개발 가능
OS별로 분기하여 코드를 나눠주는 방식이 경우에 따라 필요
매번 Empty Views Activity로 프로젝트 생성할 예정
Minimum SDK 버전 선택 시 help me choose로 현재 OS점유율 파악할 수 있음(2주 텀으로 실시간 업데이트 됨)
선택한 버전에서 출시된 기능들은 이전 버전의 안드로이드 단말에서는 사용 불가
요새는 안드로이드 10버전을 많이 사용한다고 함(인공지능 기능이 10버전부터 추가됨)

Android Emulator
Medium Phone 사이즈 선택
UpsideDownCake API Level 34 Android 14.0 버전 선택
에뮬레이터 실행 후 settings의 언어 설정에서 한국어 추가후 영어보다 순서를 위로 올리면 시스템 언어가 한국어로 바뀜
네비게이션 버튼 화면 아래로 이동 - 디스플레이 -> 탐색모드 -> 3버튼 클릭


// MainActivity.kt
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
// Activity 객체가 생성되고 자동으로 호출되는 메서드
// 이 메서드가 Activity 안에서 코드의 시작점이 된다.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Activity가 관리할 화면을 만든다.
// 매개변수에는 화면을 만들기 위해서 필요한 정보가 담긴
// xml 파일을 설정한다.
// R -> res 폴더
// layout -> res 폴더 안에 있는 layout 폴더
// activity_main -> layout 폴더에 있는 activity_main.xml
setContentView(R.layout.activity_main)
}
}
activity_main.xml

오른쪽 상단에 Design 버튼을 누르면

오른쪽 상단에 Code 버튼을 누르면

※ 출처 : 멋쟁이사자 앱스쿨 2기, 소프트캠퍼스