Learn & Record
Android (에뮬레이터 세팅, 안드로이드 소개, 안드로이드 컴포넌트 4종류, 안드로이드 코드 작성, 코틀린 코드 작성, 이벤트 발생 시 동작 순서, 연습문제) 본문
Android (에뮬레이터 세팅, 안드로이드 소개, 안드로이드 컴포넌트 4종류, 안드로이드 코드 작성, 코틀린 코드 작성, 이벤트 발생 시 동작 순서, 연습문제)
Walker_ 2024. 4. 15. 17:131. 에뮬레이터 세팅
- 세팅 앱 > System > Languages > 한국어 추가 > 한국어 위로 정렬 이동
- 고급 > 맞춤법 검사기 비활성화
- 설정 > 디스플레이 > 화면 자동 잠금 시간 > 30분 설정
2. 안드로이드 소개
- 안드로이드는 리눅스 커널을 기반으로 구글에서 제작한 모바일 운영체제
- 안드로이드 앱은 구글의 플레이 스토어 뿐 아니라 다른 곳에서도 배포 가능
- 포트폴리오 기재 시 통신사 스토어에서 배포하면 경제적으로 이득
3. 안드로이드 컴포넌트 4종류
- 1) 액티비티
- 화면을 구성하는 컴포넌트
- 2) 서비스
- 백그라운드 작업을 하는 컴포넌트
- 화면 출력 기능이 없으므로 서비스가 실행되더라도 화면에는 출력되지 않음
- 3) 콘텐츠 프로바이더
- 앱의 데이터를 공유하는 컴포넌트
- 4) 브로드캐스트 리시버
- 시스템이벤트가 발생할 때 실행되게 하는 컴포넌트
---------------------------------------------------------------------------------------------------이론 내용은 실습 충분히 하고 다시 보면 좋음
4. 안드로이드 코드 작성
- 프로젝트 생성 후 > 노션의 코드 build-gradel에 붙여넣기 > XML LinearLayout으로 수정 > Button 태그 작성 후 코드 기입
- vlues > strings.xml에 id값이 일치하는 string 코드 추가
- 빨간 줄이 사라지고, strBtn1 id값의 텍스트 값이 출력
5. 코틀린 코드 작성
package kr.jeongmo.baseapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
class MainActivity : AppCompatActivity() {
lateinit var button1 : Button
// 멤버변수(전역변수)는 선언하면 초기화 해야 함
// 만약 값을 나중에 대입하려면 앞에 lateinit을 붙임
// 즉 초기화하지 않은 멤버변수 앞에는 항상 lateinit을 붙임
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
- button1.setOnClick.. 메서드 선택 시 중괄호 선택
button1 = findViewById(R.id.button1)
button1.setOnClickListener {
Toast.makeText(applicationContext, "버튼을 눌렀어요.", Toast.LENGTH_LONG).show()
}
- 코드 기입
6. 이벤트 발생 시 동작 순서
- 1) 위젯 변수 선언
- 2) 변수에 activity_main.xml 파일의 위젯 id 대입
- 3) 이벤트 발생 시 동작하는 클래스를 위젯에 정의
7. 연습문제
- 체크박스 만들고, 체크박스 클릭 시 체크박스 입니다. 메세지 나오게 하기
class MainActivity : AppCompatActivity() {
lateinit var button1 : Button
lateinit var checkBox1 : CheckBox
// 멤버변수(전역변수)는 선언하면 초기화 해야 함
// 만약 값을 나중에 대입하려면 앞에 lateinit을 붙임
// 즉 초기화하지 않은 멤버변수 앞에는 항상 lateinit을 붙임
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
checkBox1 = findViewById(R.id.check1)
checkBox1.setOnClickListener {
Toast.makeText(applicationContext, "체크박스입니다,", Toast.LENGTH_SHORT).show()
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/check1"
>
</CheckBox>
</LinearLayout>
공부 과정을 정리한 것이라 내용이 부족할 수 있습니다.
부족한 내용은 추가 자료들로 보충해주시면 좋을 것 같습니다.
읽어주셔서 감사합니다 :)