분류 전체보기

Android

[Git] gitignore 설정하기 for Android

.gitignore는 프로젝트가 존재하는 위치(최상단)에 위치합니다. 만일 없다면 추가하도록 합니다.저의 경우 .gitignore를 자동으로 생성해주는 사이트인 www.gitignore.io를 이용했습니다.www.gitignore.io gitignore.ioCreate useful .gitignore files for your projectwww.toptal.com  위 사이트에 접속하여 운영체제와 IDE 등을 입력하여 자동으로 구성합니다.안드로이드 프로젝트를 위해 작성하였기 때문에 다음과 같은 키워드를 사용했습니다. Android, AndroidStudio, Windows, macOS 생성된 텍스트를 프로젝트의 .gitignore에 붙여넣어 완성합니다.만일 .gitignore가 없다면 터미널에서 vi ..

Android

NavBackStackEntry의 Lifecycle은 Activity의 Lifecycle과 다르다

private fun popBackStack() { Log.e("MainNavigator", "popBackStack start") navController.currentBackStack.value.forEach { Log.e( "MainNavigator", "${it}:: " + it.lifecycle.currentState.toString() ) } if (navController.currentBackStackEntry?.lifecycle?.currentState == Lifecycle.State.RESUMED) { navController.popBackStack() } Log.e("M..

Android

모듈 네임스페이스 관리의 중요성: Android 프로젝트를 위한 팁

모듈 네임스페이스 관리의 중요성: Android 프로젝트를 위한 팁 이해의 전제: 네임스페이스의 역할과 중요성 안드로이드 개발이나 어떤 대규모 소프트웨어 프로젝트에서도, 네임스페이스의 설정은 중요한 요소입니다. 네임스페이스란, 간단히 말해 프로젝트 내의 클래스, 함수, 모듈 등이 위치하는 '주소'와 같습니다. 이를 통해 동일한 이름의 클래스나 모듈이 충돌 없이 공존할 수 있으며, 프로젝트의 구조가 명확해집니다. 문제 상황: 네임스페이스의 중복 프로젝트가 커지면서, 비슷한 기능을 하는 모듈들이 다른 섹션에 존재하는 경우가 많습니다. 예를 들어, **:core:data**와 같은 모듈 구조에 **com.bmsk.core.data**와 같은 네임스페이스를 부여하는 것은 일반적입니다. 하지만 문제는 **sect..

Unix

memcpy, strcpy 문자열 복사 차이&사용법

헤더 파일 : string.h #include void* memcpy(void* destination, const void* source, size_t num); strcpy와 memcpy 모두 문자열을 복사하는 데 사용된다. strcpy는 char 하나하나 복사를 하게되고 memcpy는 이름처럼 memory 관점에서 복사이다. memory 단위로 복사하기 때문에 memory 크기를 넣어주어야 한다. strcpy는 NULL 체크를 하게 되는데 이러한 차이로 인해 memcpy보다 약간 느리게 된다. (NULL을 만나면 복사를 중단하기 때문에 char 하나하나 NULL인지 비교한다) 검색해보니 memcpy의 num 인자에 strlen(source)를 넣는 사람도 있던데 그냥 sizeof(destination..

bmsk_kun
'분류 전체보기' 카테고리의 글 목록