본문 바로가기
반응형

분류 전체보기549

[Kotlin] Fragment 와 BottomNavigationView 사용 dependencies 에 다음 추가. (이미 있을수도) implementation 'com.google.android.material:material:1.8.0' 테스트 해볼 새로운 Empty Activity 생성 Layout 파일에서 ConstraintLayout 을 LinearLayout 으로 변경 (이 작업은 필수는 아닙니다. 위에는 pager, 아래는 tabLayout 만 배치하면 됩니다.) root layout 에 android:orientation="vertical" 을 추가합니다. Layout 은 아래와 같은 코드입니다. FrameLayout 에는 Fragment 가 들어갑니다. 그리고 BottomNavigationView 의 menu 는 아래와 같습니다. Fragment 를 3개를 생성해.. 2023. 7. 31.
[Kotlin] FrameLayout 사용해서 Fragment 써보기 androidx.fragment 1.2.0 이상부터 쓸 수 있는 FragmentContainerView 가 있습니다. FragmentContainerView 를 사용하는 방법은 여기에 작성했습니다. Fragment 를 생성합니다. 생성할 위치에서 New > Fragment > Fragment(Blank) 를 클릭해서 만듦니다. 그리고 fragment 의 layout 에 EditText 나 Button 등을 몇개 추가합니다. 그리고 Activity 에 아래와 같은 FrameLayout 을 추가합니다. 그리고 MainActivity.kt 의 onCreate 에 아래 코드를 입력합니다. supportFragmentManager .beginTransaction() .replace(binding.mainFrame.. 2023. 7. 28.
[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.
728x90
반응형