본문 바로가기

카테고리 없음

AI로 정리해 본 안드로이드 개발

요즘은 ai를 사용하여 공부가 가능하다고 하여 ai에게 물어본 다음에 글로 정리할려고 한다.

 

LinearLayout이란?

Android에서 LinearLayout은 자식 뷰를 선형 방향(수직 또는 수평)으로 배열하는 레이아웃입니다.

LinearLayout의 특징:

  • 방향성: LinearLayout은 android:orientation 속성을 통해 자식 뷰를 수평(horizontal) 또는 수직(vertical)으로 배열할 수 있습니다.
  • 가중치: android:layout_weight 속성을 사용하여 자식 뷰에 가중치를 부여할 수 있습니다. 이를 통해 남은 공간을 특정 비율로 분배하여 자식 뷰들 사이의 공간 배분을 조정할 수 있습니다.
  • 중복: 여러 LinearLayout을 중첩하여 사용할 수 있지만, 성능에 영향을 줄 수 있기 때문에 가능한 한 중첩을 최소화하는 것이 좋습니다.

Learlay의 특징에서 개인적으로 가장 중요한것은 방향성인 것 같다.

 

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"> // 세로 방향

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 1"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 2"
        android:layout_weight="1"/> // 가중치, 비율

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 3"
        android:layout_weight="1"/>
</LinearLayout>

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

var, val이란?

var (Variable)

  • var 키워드로 선언된 변수는 변경 가능(mutable) 변수입니다. 즉, 변수가 한 번 선언된 후에도 그 값을 변경할 수 있습니다.
  • var로 선언된 변수는 초기화 이후에도 다른 값으로 재할당할 수 있습니다.
var name = "홍길동"
name = "이순신" // 가능

val (Value)

  • val 키워드로 선언된 변수는 변경 불가능(immutable) 변수입니다. 한 번 초기화된 후에는 그 값을 변경할 수 없습니다.
  • val로 선언된 변수에 값을 한 번 할당하면, 그 변수는 해당 값을 계속 유지해야 하며, 다른 값으로 재할당할 수 없습니다.
val name = "홍길동"
name = "이순신" // 컴파일 에러
 

var, val 중 무엇을 사용할 지 고민이 된다면 val를 최대한 쓰는 것을 지양해야 되는 것 같다.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

findViewById란게 뭐야?

개발자가 XML 레이아웃 파일에서 정의한 UI 요소(뷰)에 프로그램 코드에서 접근할 수 있게 해줍니다. findViewById를 사용하면, XML에서 정의된 뷰(예: 버튼, 텍스트뷰)의 속성을 읽거나 변경할 수 있으며, 이벤트 핸들러를 설정할 수도 있습니다.

사용 방법:

findViewById 메서드는 제네릭 메서드로, 찾고자 하는 뷰의 타입을 명시할 수 있습니다. 반환타입은 호출 시 지정한 뷰 타입입니다.

val myButton = findViewById<Button>(R.id.my_button)

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

setOnClickListener이란?

사용자가 뷰를 클릭했을 때 실행될 코드를 정의할 수 있습니다.

사용 방법:

예시:

1. 익명 클래스를 사용하는 방법:

val button: Button = findViewById(R.id.my_button)
button.setOnClickListener(object : View.OnClickListener {
    override fun onClick(v: View?) {
        // 클릭 시 실행할 코드
        Toast.makeText(this@MainActivity, "버튼이 클릭되었습니다.", Toast.LENGTH_SHORT).show()
    }
})

2. 람다 표현식을 사용하는 방법 (Kotlin):

val button: Button = findViewById(R.id.my_button)
button.setOnClickListener {
    // 클릭 시 실행할 코드
    Toast.makeText(this, "버튼이 클릭되었습니다.", Toast.LENGTH_SHORT).show()
}

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

여기까지 지난번 정리한 패스트 캠퍼스 기본 안드로이드 앱에 필요한 기능에 대한 내용을 ai에게 물어보고 정리한 것이다. 확실히 ai가 좋아졌다는게 예시도 나오고 주의사항이런것도 나와 활용을 얼마냐 잘하냐에 따라서 유용하게 사용할 수 있을 것 같다