728x90 반응형 프로그램 개발해서 돈벌기/Android16 android studio refactor를 이용해서 패키지명을 바꾸었을 때 R 인식을 못하는 이유는? 해결 방법은? Android Studio에서 패키지 이름을 바꿀 때 R 클래스를 인식하지 못하는 이유는 주로 두 가지입니다. 빌드 오류: 패키지 이름을 변경하면 기존에 생성된 R 클래스의 경로가 변경되어 빌드 시 R 클래스를 찾을 수 없는 오류가 발생할 수 있습니다. Import 문제: 패키지 이름을 변경하면 기존에 사용되던 import 문이 잘못된 패키지 경로를 가리키게 되어 R 클래스를 찾을 수 없는 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 따라서 진행할 수 있습니다. Build → Clean Project를 실행하여 빌드 캐시를 제거합니다. 이렇게 하면 이전에 생성된 R 클래스가 제거됩니다. Refactor 기능을 사용하여 패키지 이름을 변경합니다. 이를 통해 모든 클래스 파일과 패키지 .. 2023. 6. 26. android에서 포그라운드 서비스(Forground Service) 동작 확인 방법 아래 샘플 코드는 내 앱에 동작 중 인 포그라운드 서비스 목록을 근거로 실행 중일 경우, 실행 안할 경우에 취할 동작을 정의할 수 있습니다. private void checkForgroundService() { ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); List runningServices = manager.getRunningServices(Integer.MAX_VALUE); if(runningServices.size() == 0) { // 실행 중 인 foreground service가 없음 } else { // 실행 중인 foreground service의 클래스 이름 String myS.. 2023. 6. 23. 안드로이드 소스 코드로 앱 해쉬 키 값 알아 오기 카카오 다음 지도 같은 오픈 API를 사용하려면 앱 해쉬 키 값을 등록하는 경우가 많습니다. //해시 키 값 구하기 private void getAppKeyHash() { try { PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md; md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String strHKey = new String(Base64.encode(md.digest().. 2023. 6. 12. android version 13(API Level 33) 업데이트 후 onResume 연속 호출 문제(읽기 권한 세분화 문제) 안드로이드 버전 12로 배포 중이던 앱을 안드로이드 13으로 업그레이드해서 배포를 했습니다. 그런데 갤럭시 23 계열 (안드로이드 버전 13)에서 앱이 시작은 하는데 화면이 터치도 안되고 멈추어 있다는 고객 이슈가 들어왔습니다. 그래서 해당 기기를 수배해서 디버깅을 해 보니 onResume이 연속해서 호출이 되고 있었습니다. onResume이 연속 호출되는 현상은 읽기 권한 문제로 파악되었습니다. 기존에는 READ_EXTERNAL_STORAGE만 선언해서 사용했으나 안드로이드 버전 13부터는 권한이 세분화되었습니다. AndroidManifest.xml에 위 권한을 추가해 주면 됩니다. 권한 요청 확인 및 다이얼로그 호출은 아래와 같이 진행했습니다. if(Build.VERSION.SDK_INT>= Buil.. 2023. 6. 8. 안드로이드 롤리팝 웹뷰에서 페이지 로딩이 안되고 화면이 하얗게 나오는 현상 원인 JavaScript가 꺼져 있거나 지원되지 않는 버전일 경우: 웹뷰에서 JavaScript가 꺼져 있거나, 지원되지 않는 버전으로 설정되어 있으면 페이지가 로드되지 않을 수 있습니다. 이 경우 설정을 변경하여 JavaScript를 활성화하거나, 더 높은 버전의 JavaScript를 지원하는 WebView를 사용해 보는 것이 좋습니다. 네트워크 연결 문제: 웹뷰에서 페이지가 로드되지 않을 경우, 인터넷 연결 상태를 확인해보세요. 안드로이드 디바이스의 Wi-Fi나 데이터 연결이 원활하지 않을 경우 페이지가 로드되지 않을 수 있습니다. 캐시 및 쿠키 문제: 웹뷰에서 캐시 및 쿠키 문제로 페이지가 로드되지 않을 수 있습니다. 캐시 및 쿠키를 삭제하고 다시 시도해 보는 것이 좋습니다. SSL 인증서 문제: .. 2023. 5. 2. 안드로이드 코틀린에서 싱글톤과 gc 메모리 사용 단점 안드로이드 코틀린에서 싱글톤 패턴(Singleton Pattern)을 사용하면 객체를 전역적으로 사용할 수 있기 때문에 코드의 재사용성과 유지보수성이 높아질 수 있습니다. 하지만 싱글톤 패턴은 메모리 누수(Memory Leak)를 발생시킬 수 있는 단점이 있습니다. 싱글톤 객체가 생성된 후에는 앱이 종료될 때까지 메모리를 점유하고 있기 때문에, 객체가 사용되지 않더라도 메모리를 계속 점유하고 있을 수 있습니다. 이로 인해 메모리 사용량이 증가하여 앱의 성능에 영향을 미칠 수 있습니다. 또한, 가비지 컬렉션(Garbage Collection) 메모리 사용에 대한 단점도 있습니다. 안드로이드에서는 가비지 컬렉션을 통해 더 이상 사용되지 않는 객체를 메모리에서 제거합니다. 그러나 싱글톤 객체는 앱이 종료될 때.. 2023. 3. 23. 이전 1 2 3 다음 728x90 반응형