본문 바로가기

분류 전체보기239

[안드로이드] Dialog 와 Toast 와 SnackBar 차이 개념 Dialog 앞으로 이용할 정보를 보여주고, 이를 바탕으로 결정을 내리거나 추가 정보 입력을 요구하는 작은 창으로 이뤄진 ui 입니다. Dialog 는 적은 양의 정보와 두 가지 action(버튼) 을 제공할 수 있습니다. 하지만, Dialog 는 방해하는 속성이 있어서 이용자들은 하던 일을 멈추고 Dialog 를 처리해야 합니다. 즉, 이용자가 Dialog 처리하기 전까지는 아무것도 할 수 없으므로 Dialog 사용에 대해 매우 신중해야 합니다. Toast 간단한 피드백을 텍스트 형태로 제공하는 작은 popup 형태의 ui 입니다. Toast 는 Dialog 와 달리 이용자를 방해하지 않고, 메시지를 표시하고 시간이 지나면 자동으로 사라집니다. 그리고 Toast 는 사용하기 쉽지만, 할 수 있는 .. 2022. 12. 3.
[안드로이드] Merge 와 Include 차이 개념 Include include 태그를 사용하면, 여러 파일로 나눌수 있다. 복잡하거나 아주 긴 GUI 를 구현하는데 도움이 됩니다. Merge merge 태그를 사용하면, include 와 같습니다. 다만, 부모 Layout 이 없어서, 중첩된 Layout 이 아니게 됩니다. 레이아웃을 그릴 때, depth 가 깊어 질수록 성능은 저하됩니다. 이를, merge 태그를 사용해 성능 개선을 할수 있습니다. 깃허브 코드 https://github.com/CHRIS-AN/android-framework/blob/main/layout/merge_include_diff/app/src/main/res/layout/activity_include.xml GitHub - CHRIS-AN/android-framewor.. 2022. 12. 3.
[안드로이드] FragmentArgs, FragmentDirections 가 인식 안됨 문제 발생 구글 예제코드로 공부를 했을 때, FragmentArgs 가 인식이 안돼서 코드를 작업할 수 없었습니다. FragmentArgs 와 FragmentDirections 가 인식이 안돼서 빨간 글씨가 되는 경우 해결 방법 다른 블로그를 찾아보면, 필요한 의존성 주입을 하고, 데이터를 받는 Fragment 쪽에 태그를 생성하면 됩니다. 보통 이렇게만 하면 됩니다. 저는 구글에서 제공한 코드라 builde 쪽 코드를 믿고 필요한 부분이 있는지만 체크한 게 실책이였습니다. navigation version 도 확인이 필요했습니다. 안되는 알파버전에서 되는 공개버전으로 버전을 변경하니, 정상적으로 인식이 됐습니다. classpath "android.arch.navigation:navigation-safe.. 2022. 12. 3.
[안드로이드 에러] The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 문제 발생 안드로이드 스튜디오 SDK API 30 -> 32 로 변경한 뒤에, 발생한 에러입니다. 해결 방법 안드로이드 12 미만은 android:export 를 명시하지 않아도 기본값 true 로 설정됩니다. 따라서, 안드로이드 12 이상을 타겟팅하는 경우, android:export 설정을 꼭 해줘야 설치가 가능합니다. 결론은, android:export 을 기본값 true 로 설정하세요. 2022. 12. 3.
[안드로이드 에러] Execution failed for task ':app:kaptDebugKotlin' 문제 발생 구글 docs 에서 Room 예제 코드를 연습하는 와중에 발생한 이슈였습니다. 해결방법 여러가지 방법 중에 제가 해결한 한 가지 방법을 소개하겠습니다. 맥북 M1 오류해결 dependencies { kapt "org.xerial:sqlite-jdbc:3.34.0" } Room 4.1.0 버전 기준으로, 그 윗 버전은 M1 칩을 지원하도록 버그가 수정되었습니다. (고로, 윗 해결 방법은 안 먹힐 가능성이 높습니다) 하지만, 4.1.0 이하 버전을 사용하는 사람들에게는 위와 같은 의존성 추가로 문제를 해결할 수 있습니다. 2022. 12. 3.
[디자인 패턴] 팩토리 메소드 패턴 개념 팩토리 메소드는 말 그대로 공장을 뜻한다. 객체를 생성하는 공장을 만듬으로 써, 어떤 객체를 만드는 지는 자식 클래스 결정하게 하는 디자인 패턴이다. 다시 말하자면, 팩토리 메소드 패턴은 객체를 생성하기 위해 필요한 인터페이스를 만든 후, 인터페이스를 구현하는 클래스에서 어떤 객체를 만들지 결정하는 패턴인다. 어떤 때에 사용하게 되나? 객체 간의 결합도를 낮추고, 유지보수를 용이하게 하기 위해서이다. ex. 테스트 코드를 작성할 때 힘든 경우가 있다. 그럴 경우, 팩토리 메소드 패턴을 이용해서 프로덕트 코드를 작성하면 결합도가 낮아져 테스트 코드를 작성하기 용이하다. 어떤 식으로 동작하나? 객체만 생성하는 공장을 통해서 간접적으로 객체를 생성하게 하며 인터페이스를 정의하되, 실제 구현 내용은 자식클.. 2022. 12. 1.
[안드로이드 스튜디오] 마크 다운 파일 미리보기 안보일 때 Mac 유저 입니다. Window 안드로이드 스튜디오는 해봐야 알 것 같습니다. 맥북 유저는 바로 될 것입니다. 1. Help 클릭 (오른쪽 끝에 있습니다.) 2. Find Action 클릭 3. Choose Boot Java Runtime for the IDE 입력. 복사해서 붙여 넣으세요. 4. JCEF 클릭 하고, 확인 버튼 클릭. 5. Restart 진행 만약 안될 시? https://stackoverflow.com/questions/53903641/where-is-android-studio-markdown-support-plugin-preview-preference Where is Android Studio Markdown support plugin preview preference? I wan.. 2022. 11. 30.
[프로그래머스 *Java] - 다음 큰 숫자 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 20분이내 이 문제는 그렇게 어렵지 않다. 진법 변환하는 것만 잘 생각하면 될 거 같다. 아래 코드는 어떤 진법이든 원하는 갯수를 셀 수 있게끔 로직을 구현했지만, 문제에서 원하는 요구사항에 더 적합한 메서드는 Integer.bitCount(n); 다. 이진법 내에서 1의 갯수를 찾아 return 시켜주는 메서드다. class Solution { // 2진수 변환 public S.. 2022. 9. 6.