일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스크롤 탭
- oberve url
- GeometryReader
- DevelopmentRegion
- url 관찰
- Android
- UIViewControllerTransitioningDelegate
- Swift Package Manager
- url 추적
- scrolling tab
- 개발자 면접
- Side Menu
- development language
- Tuist
- notifychanged
- UIPresentationController
- SwiftUI
- transformation.map
- base64 변환
- swift
- 기존 앱
- List
- pod install
- detect url
- 상단 탭바
- swift #swift keychain #keychain 사용법
- convert base64
- DataBinding
- ViewBuilder
- ios
- Today
- Total
목록모던 안드로이드 (15)
버그 잡이
다음과 같은 클래스가 필요하다. - data 클래스 - network api 인터페이스 - viewmodel - fragment 1. data 클래스 - 기본적으로 Article 클래스만 있어면 된다. - 나는 넘어오는 json이 json object가 3번 중첩되는 구조라 이를 처리하기 위해서 class를 추가로 만들었다. data class ResponseData( @Json(name = "tistory") val tistory: Tistory ) data class Tistory( @Json(name="item") val item: Item ) data class Item( @field:Json(name = "posts") val posts: List ) @Parcelize data class Ar..
Bottom Navigation을 사용할때 수직/수평 화면 전환을 하면 activity가 소멸했다 다시 생성되기 때문에 내가 두번째 menu에 있더라도 onCreate에서 setting 한 첫번째 Fragment로 변경된다. ViewModel+ LiveData 를 활용하여 이를 해결할 수 있다. 1. BottomNavigationViewModel - fragment의 상태를 나타내는 LiveData 변수를 만들어준다. - 초기화는 여기서 진행한다 -> ViewModel은 configuration change때 소멸되지 않기 때문에 상태를 유지할 수 있다. - navigation menu 클릭시 updateFragmentStatus() 메서드로 상태만 최신화 해준다. class BottomNavigatio..
기본 리사이클러뷰 만들기는 저번 글 참고 https://jinsangjin.tistory.com/24 [코틀린] Kotlin RecyclerView 각 요소 살펴보기 지금까지는 안드로이드를 공부할때 기능구현에만 중점을 두었다. 이제부터는 각 기능의 요소를 한줄한줄 파헤치며 공부해보고자 한다. (recyclerView 튜토리얼이 아니라 recyclerView 자체에 대한 이해를 높이고자.. jinsangjin.tistory.com LiveData + Room 적용시 Issue 1. LiveData로 감싸진 Room 데이터를 todolist.value처럼 그냥 사용하려면 NPE 발생 viewModel.todoList.let { it.value?.let{ viewAdapter = TodoListAdapter(..
Udacity강의를 들으며 열심히 따라 치고 글로 정리해봤지만 내가 처음부터 직접 만든 것이 아니니 체화가 안 된다. 그래서 간단하게 아래와 같은 todoList를 직접 만들어 보고자 한다. 0. Gradle 추가 //ViewModel implementation "androidx.lifecycle:lifecycle-extensions:$version_lifecycle_extensions" // Room implementation "androidx.room:room-runtime:$version_room" kapt "androidx.room:room-compiler:$version_room" // Coroutines implementation "org.jetbrains.kotlinx:kotlinx-coro..
Room이란? The Room persistence Library provides an abstraction layer over SQLite - SQLite를 편하게 쓸 수 있게 도와주는 라이브러리다. - 일반적으로 내부DB의 개념으로 활용된다. 용어 정리 Room을 이해하기 위해서는 다음 용어를 이해할 필요가 있다. 1. Entity Table row로 table에 저장되는 한 행의 자료이다. ex) 하룻밤 수면 데이터 2. Query "request for data or information from DB table" DB테이블에 대해서 데이터나 정보를 요청하는 행위다. 3. Annotation DB와 연결되는 interface다. ex) @PrimaryKey라는 annotation을 달아주면 해당 ..
오늘은 Android with Kotlin 두번째 강의 Layout편을 들었다. 이번 강의에서 새롭게 알게 된것은 3가지였다. 1. layout Editor의 활용 2. DataBinding 3. Constraint의 다양한 활용 Layout Editor의 활용 강의에서는 레이아웃을 만들때 editor를 적극적으로 사용한다. 이를 보면서 지금까지 코드로만 작성했던 나의 모습이 얼마나 비효율적이었는지 깨달았다. 높이, 넓이와 같은 기본적인 사항에 대한 수정은 코드로 작성하는 것과 크게 차이가 없다. 하지만 다음과 같은 작업으로 효율성을 높일 수 있다. - String, Dimen과 같은 value를 간편하게 추가할 수 있다. - 특정 뷰의 style을 extract해서 공통의 style로 지정할 수 있다...
udacity android with kotlin 강의 수강을 시작했다. 강의의 소개 문구를 보면 다음과 같다. The course gives you hands on experience as you build real Android apps using industry best practices, with modern app architecture. "실제 산업에서 사용되는 방식과 모던 아키텍처를 활용하여 앱을 개발하는 방법을 알려준다." 지금까지는 자바로 앱을 개발했고, 코드도 블로거들의 코드, 설계는 없다시피 했다. 진짜 사용할 수 있는 코드, 모던한 설계의 앱을 만들 수 있도록 강의를 열심히 수강해야겠다. 그 첫번째로 "1. Build your first app" 이다. 말 그대로 andrroid s..