반응형

전체 글 30

Android Studio New UI 적용하기

안녕하세요. Jamie입니다. Android Studio Giraffe에서 현재 베타로 사용할 수 있는 New UI를 활성화 할 수 있는데요. 이번 포스팅에서는 New UI를 활성화 할 수 있는 방법에 대해서 알려드리겠습니다. 2023년 8월 기준, Android Studio Giraffe | 2022.3.1를 설치하시게 되면 활성화가 가능합니다. File -> Settings -> Appearance & Behavior 메뉴에 들어가시면 New UI (Beta)라는 항목이 생겼는데요. 이곳에서 Enable new UI를 체크하고 Restart를 선택하면, 재실행 후에 New UI로 변경됩니다. 아래 이미지로 비교해보겠습니다.

Development/Android 2023.08.18

flutter doctor Visual Studio not installed; this is necessary for Windows development 해결방법

안녕하세요. Jamie입니다. android를 flutter로 개발해보기위해 flutter를 설치하려고 합니다. https://docs.flutter.dev/get-started/install/windows 를 따라서 설치를 하고 있는데, 다음과 같은 이슈를 확인했습니다. C:\Users\cpdev>flutter doctor Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Channel stable, 3.10.6, on Microsoft Windows [Version 10.0.19045.3208], locale ko-KR) [√] Windows Version (Installed version of Windows is ver..

Development/Flutter 2023.08.07

다른앱과 통신할때 주의점 (feat. ApplicationId vs namespace)

안녕하세요. Jamie입니다. 최근에 앱 개발중 작은 삽질(?)을 한 부분이 있어, 혹시 같은 문제로 고생하시는 분들이 있을까하여 기록을 남깁니다. 제가 개발중인 앱이 외부 다른 앱의 데이터를 송수신하고, 그 앱에서 제 앱을 호출하는등 기능들이 있습니다. 문제는 다른앱에서 제 앱의 호출은 Intent를 통해 하고 있었는데, 어느날부터 외부앱에서 제 앱의 Activity가 실행되지 않는 증상을 확인합니다. 특별히 실행되는 Activity를 수정하진 않았는데, 문제가 되어 로그를 확인해보니 패키지명이 다음과 같이 찍힙니다. START u0 {act=android.intent.action.MAIN cmp=com.test.launcher/.IntroActivity} from uid 10461 cmp의 패키지명과..

Development/Android 2023.08.06

Class Model does not define a no-argument constructor. If you are using ProGuard, make sure these constructors are not stripped.

안녕하세요. Jamie입니다. 오늘은 제가 Firebase RealtimeDatabase의 데이터를 가져온 과정에서 발생한 에러의 해결 방법을 공유합니다. Firebase RealtimeDatabase에는 아래와 같은 모델 데이터가 있습니다. {a="abc", b="def", c="ghi", d="jkl"} 이것을 data class로 정의하여 파이어베이스에서 얻어오려고 다음과 같은 코드를 작성합니다. data class TestModel( val a: String, val b: String, val c: String, val d: String ) Coroutine + ViewModel을 사용하여 Firebase RealtimeDatabase에서 데이터를 가져옵니다. suspend fun requestD..

Development/Android 2023.06.29

Windows11에서 "알 수 없는 장치"가 뜨지 않을때

안녕하세요. Jamie입니다. 이번 포스팅은 제가 며칠간 고생했던 걸 공유합니다. 제가 현재 작업중인 프로젝트가 외부 기기를 이용하는 부분이 있어서, Laptop과 USB로 연결하여 사용해야 했는데요. 좀 오래 되긴 했지만.. 그래도 기기에는 문제가 없어 연결하는 순간 장치 관리자에 '알 수 없는 장치' 가 뜨지 않습니다. General한 USB 드라이버를 사용하지 않아서 장치가 뜨면 USB 드라이버 파일을 연결해주면 되는것이었는데 장치 관리자부터 뜨지 않습니다. USB 삽입시 분명 무언가를 인식한 소리는 들립니다. 제가 검색을 잘못하는건지 구글이나 여러곳을 찾아도 이런 경우는 없는것 같고요.... 그래서 열심히 삽질해본 결과 다음과 같은 방법을 찾았습니다. 1. Windows 11에서는 ' 알 수 없는..

Software 2023.06.16

Kotlin코드를 Java코드로 변경하기 (Android Studio)

Android Native앱을 개발하기 위해서는 보통 Java와 Kotlin을 사용합니다. Java와 Kotlin은 같은 JVM 기반 언어이기 때문에 서로 호환이 100% 가능합니다. Java이나 Kotlin을 이용할때 어떻게 동작하는지 서로의 언어를 보고 비교하면 도움이 됩니다. (특히 기존에 Java를 이용해서 개발하신분들은 Kotlin을 새로 접할때) Android Studio에서 변환하는 기능을 제공해주고 있는데요. 바로 소개하겠습니다. ※ Android Studio Dolphin | 2021.3.1 Patch1 버전기준으로 작성되었습니다. Kotlin Code를 Java로 변환하기 Kotlin으로 작성된 kt 파일을 bytecode로 변환한뒤, decompile을 통해 java 파일로 변환합니다..

Development/Android 2023.03.06

Firebase Database가 안잡힐경우 (feat. 데이터베이스 위치)

안녕하세요. 오늘은 간단하게 Firebase Realtime Database가 안잡히는 경우에 대해서 삽질결과를 공유합니다. 저의 경우 개발중인 앱의 속도를 위해서 Realtime Database 생성시 데이터베이스의 위치를 가장 가까운 싱가포르(asia-southeast1) 로 지정했습니다. 이것이 코드에서 Database를 못 불러오는 이유중에 하나였는데요, Realtime Database의 위치가 us-central1이 아닌경우, Firebase를 초기화 하는 과정이 조금 다르다고 합니다. us-central1인경우 다음과 같이 코드를 작성하면 DatabaseReference를 읽을 수 있습니다. val database = Firebase.database() val databaseReference ..

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.

안드로이드 라이브러리 추가중에 다음과 같은 에러 메시지를 만났습니다. 빌드시에는 나타나지 않지만, 디바이스에서 실행을 하려면 에러메시지에 아래와 같이 발생하면서 실행되지 않습니다. Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'. 이곳저곳 찾아본결과 다음과 같이 수정하면 정상적으로 실행됨을 확인했습니다. 1. settings.gradle (Project Settings)로 이동 2. dependencyResolutionMana..

Development/Android 2022.11.17

Android Studio dolphin에서 파이어베이스 추가하기.

이번 포스팅은 글 작성 기준 안드로이드 스튜디오 최신버전에서 파이어베이스 추가하기를 간단하게 소개하겠습니다. 글 작성 기준일 (2022년 9월 26일)에서 안드로이드 스튜디오 최신버전은 돌핀입니다. 파이어베이스를 연동해야할 일이 있어서 Google 개발자 문서를 따라하고 있는데, Gradle 설정이 달라서 열심히 찾아보고 공유합니다. Android앱에 Firebase를 추가하게되면 다음과 같은 웹페이지를 확인할 수 있습니다. 다른 부분은 특별히 이전버전과 다르지 않아 문제 없이 진행되지만, 바로 아래의 부분이 다를 수 있습니다. 루트 수준(프로젝트 수준) Gradle 파일의 형식이 스튜디오 버전과 동기화가 안되어 있는걸 확인할 수 있습니다. 프로젝트를 새로 생성했다면, 루트 수준 안드로이드 스튜디오로 가..

Development/Android 2022.09.25

Android ListView ViewHolder Pattern + DataBinding 적용하기

안녕하세요. 오늘은 Android ListView에 VIewHolder 패턴 적용 및 DataBinding을 적용하는것에 설명하도록 하겠습니다. 최근에 기존에 개발된 자바로 된 코드를 리팩토링하는 작업을 주로 진행하고 있는데, ListView에 ViewHolder 패턴, DataBinding을 적용했는데 잘못된 부분이 있어서 수정하는 작업을 진행했습니다. 혹시 비슷한 어려움을 겪고 계실분들을 위해서 적용한 코드를 설명하려합니다. 우선 기존 코드에서는 getView가 호출될때, 데이터가 늘어나서 스크롤이 생기면, position값에 따라 데이터가 의도하지 않은대로 동작하는 문제가 있었습니다. ViewHolder의 데이터가 position을 잃어버리는것과 같이 이상동작합니다. 문제는 mHolder로 setT..

Development/Android 2022.03.14
반응형