Android/Study

Android/Study

[Android] onNewIntent()에 대해서 알아보자.

onNewIntent()란 onNewIntent는 안드로이드 액티비티(Activity) 생명주기(LifeCycle)에 속하는 콜백 메소드 중 하나이다. 이 메소드는 현재 액티비티가 이미 생성되어 있고, singleTop, singleTask 또는 singleInstance와 같은 특정 launch mode를 가지고 있을 때, 새로운 인텐트로 인해 액티비티가 다시 시작할때 호출된다. 즉 onNewIntent()는 매니페스트에서 액티비티의 launchMode를 singleTop으로 설정하거나, FLAG_ACTIVITY_SINGLE_TOP 플래그를 썼을 경우, 액티비티 스택의 최상위 액티비티가 새로운 인텐트를 통해 재시작될 때 호출되는 메서드다. 왜 사용하는가? 인텐트 업데이트 : 실행 중이던 액티비티가 새 ..

Android/Study

[Android] OkHttp에 대해서 공부해보자. (feat. Refrofit)

Retrofit에 대한 간단 정리 https://superohinsung.tistory.com/151 [Android] Retrofit Retrofit이란 Retrofit은 안드로이드 앱에서 RESTful API와 통신할 때 사용되는 라이브러리 중 하나입니다. Retrofit은 Square Inc.에서 개발된 오픈 소스 라이브러리로, 안드로이드 앱 개발을 위한 RESTful API superohinsung.tistory.com OkHttp란 OkHttp는 안드로이드 개발에서 인터넷을 통한 데이터 교환을 위해 널리 사용되는 오픈소스 HTTP 클라이언트 라이브러리이다.Square Inc.에 의해 개발되었으며, HTTP 요청을 보내고 받는 것을 간소화하고, 네트워크 속도가 느린 환경에서도 효율적으로 동작하도록..

Android/Study

[Android] JUnit4으로 테스트 코드 작성하기

오늘은 테스트에 대해서 공부를 해보자. Junit4란 JUnit은 Java 프로그래밍 언어용 단위 테스트 프레임워크 중 하나이며, 안드로이드 앱의 테스트에도 널리 사용된다. 안드로이드에서는 JUnit 4가 주로 사용되며, 이를 활용하여 단위 테스트 및 통합 테스트를 작성할 수 있다. 테스트 코드를 작성하는 이유 자동화된 테스트 실행: JUnit4를 사용하면 테스트를 자동으로 실행할 수 있다. 안드로이드 스튜디오나 빌드 도구를 통해 테스트를 쉽게 실행하고 결과를 확인할 수 있다. 이는 반복적인 테스트를 통해 개발자가 신속하게 피드백을 받을 수 있게 해주며, 코드 변경 사항에 대한 신뢰성을 높일 수 있다. 안정성 및 신뢰성 확보: JUnit4를 사용하면 안드로이드 앱의 여러 부분에 대한 단위 테스트를 작성할..

Android/Study

[Android] Room이란

오늘은 Room에 대해서 공부를 해보자. Room이란 Android에서 Room은 SQLite 데이터베이스를 쉽게 다룰 수 있도록 도와주는 지원 라이브러리이다. 안드로이드에서 앱의 데이터를 저장하는 방법은 크게 파일, 데이터베이스, 프리퍼런스로 나뉜다. 그 중 데이터 베이스 프로그래밍을 이용하여 안드로이드 폰에서 DB를 관리하는 오픈소스 SQLite 가 있다. Room은 SQLite를 완벽히 활용하면서 원활한 데이터베이스 액세스가 가능하도록 SQLite에 추상화 계층을 제공한다. Realm에 비해서 낮은 용량(약 64KB)을 가지면서 꽤 괜찮은 성능과 쉽게 사용할 수 있다는 장점이 있다. Room의 구성요소 Entity(엔터티): 엔터티는 데이터베이스의 테이블을 나타내는 클래스이다. 각 엔터티는 데이터베..

Android/Study

[Android] abstract class를 이용하여 ViewBinding을 쉽게 사용하기

지난 프로젝트에 대한 회상 겸 정리할 겸 작성을 해보았다. (물론 너무 오랜 시간이 지나긴했지만...) 프로젝트를 진행하였을 때 ViewBinding을 일일히 Activity마다 혹은 Fragment마다 설정하는 것이 너무나도 귀찮았다. 그래서 추상화 클래스를 이용하여 ViewBindingActivity 그리고 ViewBindingFragment을 개발하였다. 결과적으로 효율적으로 ViewBinding을 사용할 수 있었으며, 문제가 생긴다면 위 2 클래스를 확인하면 되는 효율적임이 생겼다. 우선 ViewBinding이란 아래 포스팅 링크를 남기겠다. https://superohinsung.tistory.com/239 [Android] ViewBinding(뷰 바인딩) 정리 ViewBinding(뷰 바인딩..

Android/Study

[Android] ListAdapter에서 DiffCallBack 정리

블로그에 지난 졸업프로젝트에서 했던 주요 기능부분을 기록으로 남기려고한다. 조금? 오랜 시간이 지났지만 기억을 되살려서 기록을 해보자 저번에 RecyclerView에 대해서 포스팅을 하였을 때 https://superohinsung.tistory.com/314 [Bong#] RecyclerView에서 onCreateViewHolder와 onBindViewHolder의 차이 블로그에 지난 졸업프로젝트에서 했던 주요 기능부분을 기록으로 남기려고한다. 조금? 오랜 시간이 지났지만 기억을 되살려서 기록을 해보자. 졸업 프로젝트에서는 다른 여타 프로젝트와 달리 superohinsung.tistory.com 아래와 같은 코드를 본 적이 있을 것이다. companion object { private val diffC..

Android/Study

[Android] RecyclerView에서 onCreateViewHolder와 onBindViewHolder의 차이

블로그에 지난 졸업프로젝트에서 했던 주요 기능부분을 기록으로 남기려고한다. 조금? 오랜 시간이 지났지만 기억을 되살려서 기록을 해보자. 졸업 프로젝트에서는 다른 여타 프로젝트와 달리 RecyclerView에 대해서 사용할 일이 많았다. 그렇다면 RecyclerView에서 자주 사용하는 메서드 onCreateViewHolder와 onBindViewHolder의 차이에 대해서 알아보자. onCreateViewHolder와 onBindViewHolder class CommentAdapter( private val onClickMenu: (CommentItemUiState) -> Unit ) : ListAdapter(diffCallback) { override fun onCreateViewHolder(paren..

Android/Study

[Android] ComposeUi 도입기

지난 프로젝트에 대한 회상 겸 정리할 겸 작성을 해보았다. (물론 너무 오랜 시간이 지나긴했지만...) 우리가 ComposeUi를 도입한 이유 선언형 프로그래밍: Compose는 선언적인 구문을 사용하므로 UI의 현재 상태를 더 직관적으로 표현할 수 있습니다. XML의 경우 계층적인 구조를 가지기 때문에 UI 구조를 이해하기 어려울 수 있지만, Compose는 코드의 순서대로 UI를 정의하여 가독성을 높입니다. 간편한 실시간 미리보기: Compose는 실시간 미리 보기(Real-time Preview)를 제공하여 UI 변경 사항을 즉시 확인할 수 있습니다. 이는 빠른 반복 및 디자인 작업을 도와줍니다. (XML또한 볼 수는 있지만....) 상태 관리의 편의성: Compose는 내부적으로 상태를 자동으로 ..

Tenacity_Dev
'Android/Study' 카테고리의 글 목록