본문 바로가기
반응형

전체 글577

[Kotlin] Activity 에서 Fragment 변경하기 Activity 에서 Fragment 변경하기 Fragment 1 에서 버튼을 클릭하여 상위 Activity 의 method를 호출하고, (이전 글 참고) 그 method 에서 Fragment 1 을 Fragment 2 로 변경하는 것을 해보겠습니다. 이전 글에 이어서 작성하는 것이라서 혹시 따라하기를 원하신다면 이전 포스트를 먼저 보시고 오시면 됩니다~ 우선 Fragment 하나를 더 만들어보겠습니다. 이름은 LogoutFragment 자동으로 생성된 코드는 지우고, viewBinding 으로 사용할것이므로, 다음과 같이 코드를 작성합니다. class LogoutFragment : Fragment() { lateinit var binding: FragmentLogoutBinding override fu.. 2023. 7. 28.
[Kotlin] Fragment 에서 상위 Activity Method 호출하기 Fragment 에서 상위 Activity Method 호출하기 이전 글에 이어서 작성하는 것이라서 혹시 따라하기를 원하신다면 이전 포스트를 먼저 보시고 오시면 됩니다~ 아래 이미지는 현재 테스트 하려는 Activity 와 Fragment 구조입니다. fragment 에서 자신을 포함하고 있는 Activity 의 method 를 호출할 수 있습니다. 우선 상위 Activity 에 method 를 만들겠습니다. fun someMethodInActivity(num: Int){ Log.d("someMethodInActivity", "parameter : $num") } 그리고 위에서 작성한 Fragment 에서 login 버튼을 클릭했을 때, 이 메소드를 호출합니다. 버튼에 id 속성을 확인하고, (없다면 입.. 2023. 7. 28.
[Kotlin] Fragment 사용하기 Fragment Android에서 Fragment는 UI 조각을 나타내는 컴포넌트로, 하나의 화면 내에서 재사용 가능한 UI 요소를 구성하는데 사용됩니다. Fragment는 Activity 내에 포함되어 독립적으로 존재하지만, Activity의 라이프사이클에 의존하여 동작합니다. Fragment를 사용하면 앱의 UI를 더 모듈화하고 재사용성을 높일 수 있음 여러 화면 크기와 디바이스에 대해 더 유연하게 대응 화면을 나누어 여러 작은 조각으로 구성하여 사용자 인터페이스를 관리 각 조각을 독립적으로 관리 Fragment의 라이프사이클은 Activity의 라이프사이클과 밀접한 관련이 있으며, 다양한 메소드를 사용하여 상태 변화를 감지하고 제어할 수 있습니다. Fragment의 주요 라이프사이클 메소드 onA.. 2023. 7. 28.
[Kotlin] Android 에서 Retrofit2 사용하여 API 호출하기 테스트 할 Empty Activity 를 생성합니다. (이제 생성 단계는 생략) 이름은 RestApiActivity 로 하고, Source Language 는 Kotlin class RestApiActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_rest_api) } } 기본적으로 이렇게 코드가 나오는데, 아래와 같이 ViewBinding 으로 변경합니다. class RestApiActivity : AppCompatActivity() { private lateinit var bindi.. 2023. 7. 25.
[Kotlin] apply, with, let, ?: 사용하기 아래와 같이 Person 이라는 class 가 있을 때, data class Car( var model: String? = null, var price: Int? = null, var brand: String? = null ) { override fun toString(): String { return "Car : [$model, $price, $brand]" } } 일반적으로 다음과 같이 초기화 합니다. var car1: Car? = Car() car1?.model = "x" car1?.price = 50000000 car1?.brand = "tesla" print(car1?.toString()) // Car : [x, 50000000, tesla] apply 다음과 같이 사용할 수 있습니다. val .. 2023. 7. 25.
[Kotlin] 리니어 레이아웃(LinearLayout) 예제 리니어 레이아웃은 수평 또는 수직 방향으로 정렬할 수 있는 레이아웃 입니다. 사용하기 쉬워서 간단한 레이아웃은 이것으로 다 만들 수 있습니다. 필수 속성 layouut_width : 가로 사이즈 layout_height : 세로 사이즈 orientation : 방향 (horizontal, vertical) Activity 만들기 - empty activity를 하나 생성합니다. 이름은 LinearTestActivity 기본적으로 생성되는 레이아웃이 ConstraintLayout 이므로, LinearLayout 으로 변경합니다. res/layout/activity_linear_test.xml > Component Tree > ConstraintLayout > Convert view... 클릭 아래와 같은 .. 2023. 7. 25.
[Kotlin] Android Java 와 Kotlin 몇가지 문법 비교 Java Integer.parseInt(someValue) Kotlin someValue.toInt() Java if ( "100".equals(someValue) ) { } Kotlin if( someValue == "100" ) { } Java Object someValue = new String("hello"); if ( someValue instanceof String ) { // OK } Kotlin var someValue: Any = "hello" if ( someValue is String ){ // OK } Java class MainActivity : AppCompatActivity() { Kotlin class MainActivity : AppCompatActivity() { Java.. 2023. 7. 24.
[Kotlin] class static 변수 사용하기 companion object Java 에서는 public static final .... 로 썼던게 kotlin 에서는 어떻게 사용쓰일지 JAVA // 선언 public class MainActivity { public static final int bonus = 100; } // 사용 MainActivity.bonus Kotlin // 선언 class MainActivity : AppCompatActivity() { companion object { const val bonus: Int = 100 } } // 사용 MainActivity.bonus 2023. 7. 24.
[Kotlin] 개발할때 알아야할 LifeCycle 자세한 내용은 공식 설명을 확인하시고, 여기에서는 간단하게. 어떨때 어떤 함수가 호출되는지 알아보겠습니다. 우선 Activity 를 하나 만들었습니다. package com.example.test01 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import com.example.test01.databinding.ActivityLifeBinding class LifeActivity : AppCompatActivity() { val tag = "LifeActivity" lateinit var binding: ActivityLifeBinding override fun onCreate.. 2023. 7. 24.
[Kotlin] 새로운 화면(Activity) 추가하고 데이터 주고받기 MainActivity 가 있을 때, 버튼을 눌러서 또 다른 Activity를 띄워보고 데이터를 전달하고, 두번째 엑티비티에서 변경한 결과도 받아오는 예제를 해보겠습니다. 안드로이드 스튜디오에서 새 프로젝트를 만들고, EmptyActivity 를 선택 후 생성하면, 기존 화면(MainActivity)이 생성됩니다. 그리고 ViewBinding 으로 소스를 수정합니다. [Kotlin] findViewById 대신에 View binding 참고 새 화면(Activity) 생성 SecondActivity 를 만들어야겠죠. MainActivity 와 같은 Package에서 우클릭 > New > Activity > Empty Activity 생성되는 경로는 달라도 상관없습니다 Activity정보를 입력하고 생성합.. 2023. 7. 23.
728x90
반응형