Dev/Android

Android (에뮬레이터 세팅, 안드로이드 소개, 안드로이드 컴포넌트 4종류, 안드로이드 코드 작성, 코틀린 코드 작성, 이벤트 발생 시 동작 순서, 연습문제)

Walker_ 2024. 4. 15. 17:13

1. 에뮬레이터 세팅

 

 - 세팅 앱 > 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>

 

 

 

 

 


공부 과정을 정리한 것이라 내용이 부족할 수 있습니다.

부족한 내용은 추가 자료들로 보충해주시면 좋을 것 같습니다.

읽어주셔서 감사합니다 :)