반응형

# 1. Language 56

Kotlin # Intent

🎈 Intent Intent - 의도, 의사 - A야 B좀 해줘 - B좀 해줘 - A야 (이 데이터를 사용해서) B좀 해줘 그리고 다하면 알려줘 -> 결과가 필요한 경우 - 의도를 전달할 때 '데이터'를 같이 전달할 수 있다 -> 이 번호로 전화걸어줘 1. 명시적 Explicit Intent * 호출될 대상을 직접 명시하는 경우 - "누구야 뭐좀 해줘" 2. 암시적 Implicit Intent * 호출될 대상을 명시하지 않는 경우 -> 공유하기를 클릭하면 공유할 수 있는 목록을 쫙 보여주는 것 - "뭐좀 해줘" * 인텐트 필터(Intent-filter) - 암시적 인텐트를 보낸 경우, 인텐트가 처리할 수 있는지 확인할 때 사용 * 해달라고 한 기능이 가능한 애들 만으로 리스트를 거를 때 - Manifes..

Kotlin # 계산기 만들기

🎈 xml로 화면 그리기 우선 화면을 아래와 같이 만든다. activity_homework1.xml drawable/number_bg.xml 🎈 Activity로 기능 구현하기 Homework_1.kt package org.techtown.kotlin import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.TextView import org.w3c.dom.Text class Homework_1 : AppCompatActivity() { lateinit var one: TextView lateinit var two: TextView lateinit ..

Kotlin # Activity / ViewControl

🎈 Activity Activity - 화면을 구성하는 가장 기본이 되는 요소 - 자동으로 activity와 매칭되는 xml을 생성해주고 자동으로 manifest(설계도)에 등록된다. - 화면을 그리는 기능 + 화면에서 발생할 수 있는 일을 처리할 수 있는 기능이 내장 - 특수한 activity * 런처 activity, main activity - 앱이 실행될 때 최초로 실행되는 activity - 생명주기가 있다. -> 이해하는 것이 중요 - 안드로이드 OS가 activity를 직접 종료 시키는 일은 없다. - 다만 프로세스 종료는 가능 * onCreate() - 필수적으로 구현해야한다 - 생명주기 중에서 단 한번만 발생한다 * 즉, 단 한번만 실행하면 되는 일들를 여기서 구현. - 화면 그리기(필수..

XML # Shape Drawable 요소 정리

🎈 파일 위치 res/drawable/filename.xml 🎈 구문 🎈 요소 셰이프 드로어블 루트 요소이다. rectangle 포함하는 뷰를 채우는 사각형. 이는 기본 셰이프입니다. oval 포함하는 뷰의 치수에 맞는 타원형 셰이프. line 포함하는 뷰의 너비에 걸쳐 있는 가로선. 이 셰이프를 사용하려면 요소를 통해 선의 너비를 정의해야 합니다. ring 고리형 셰이프. 셰이프에 대해 둥근 모서리를 생성 셰이프가 사각형인 경우에만 적용됨 - android:radius 모든 모서리의 반경 셰이프에 대한 그라데이션 색상을 지정 포함하는 뷰 요소에 적용할 패딩 셰이프의 크기 셰이프를 채울 단색 - android:color 셰이프에 적용할 색상 셰이프에 대한 스트로크 선 - android:color 선의 색..

Kotlin # ConstraintLayout

🎈 ConstraintLayout ConstraintLayout -> 제약을 두는 레이아웃 - 제약을 통해 뷰를 배치하는 컨테이너 뷰 - RelativeLayout에서 할 수 있는 모든 것이 가능하다 - 기능이 엄청나게 많다 - 반대 방향으로 작용하는 두 개의 제약을 동시에 적용하면 두 제약의 가운데에 배치된다 1. 상대적 위치 설정 -> RelativeLayout 기능 * layout_constraint + 제약이름 * layout_constraintLeft_toLeftOf - B Left_toLeftOf A -> Left : 속성이 적용되는 뷰의 left -> toLeftOf : Of에 올 뷰의 left A가 될 수 있는 것들 * 아이디로 설정된 뷰 * parent 예) B Left_toLeftOf ..

Kotlin # LinearLayout/RelativeLayout/Margin&Padding

🎈 LinearLayout LinearLayout -> 수직이나 수평으로 놓는 레이아웃 - 부모가 될 수 있는 뷰(컨테이너 뷰) - 자식의 위치를 설정하는 뷰 * 가로, 세로 설정을 할 수 있다 - 속성 * Orientation : 자식의 뷰의 방향을 설정 * weight : 자식이 차지할 크기의 비율을 설정 크기를 설정하는 특수한 키워드 _ match_parent * 부모 뷰의 크기만큼 설정하겠다 - wrap_content * 내용물의 크기만큼 설정하겠다 🎈 RelativeLayout RelativeLayout -> 상대적으로 뷰를 배치하는 레이아웃 - 부모 뷰가 될 수 있는 컨테이너 뷰 - 자식뷰의 배치를 설정할 수 있다 * 기준점을 중심으로 자식뷰를 배치 - 기준점 : 부모, 자식 뷰 - 기준점을 ..

Kotlin # XML/단위/뷰컴포넌트/뷰속성

🎈 XML General Purpose Language - 범용적인 목적을 가지고있는 언어 - Kotlin, Python, Java, C, C++, Swift ... Domain Specific Language(DSL) - 도메인 특화 언어 -> 특수한 목적을 달성하기 위함 - 문법이 굉장히 간단함 - XML(eXtensible Markup Language) * 안드로이드에서 UI를 그리기위해 채택한 언어 * eXtensible -> 태그안에 태그가 가능 * Markup Language다 -> 태그로 범위를 마크하여 내용을 작성. - 태그 * 자식 태그가 올 수 있는 경우 * 마지막 자식인 경우 🎈 단위 - PX(Pixel) -> 이 단위를 활용하여 UI를 그리게되면 다양한 모바일에서 크기가 다르게 표현..

Kotlin # 접근제한자/상속/형변환/Null Safety 과제

1. Warrior, Knight, Monster는 체력, 공격력, 방어력, 생존여부에 대한 정보가 필요 2. Warrior는 Monster를 특정 마리수 이상 처치하면 Knight로 레벨업이 가능하다. 3. Knight는 hardAttack기능이 있고 이 기능을 사용하려면 energy 3이 필요하다. 4. Warrior가 레벨업을 하는 반복문이 존재해야 한다. Monster 생성 Monster가 아직 살아 있습니다. 체력: 50 Warrior가 공격합니다. Monster가 아직 살아 있습니다. 체력: 41 Monster가 공격합니다. Warrior는 죽었습니다. open class Warrior(hp: Int, var power: Int, var armor: Int) { //hp의 setter를 설정해..

반응형