본문 바로가기
728x90
반응형

Android1224

[Android] getContext와 requireContext 차이점 오늘은 getContext와 requireContext 차이점에 대해서 알아보겠습니다. android 팀에서 support library 27.1.0.에 NonNull, Nullable를 SDK메서드 일부에 주석을 달았습니다. 왜 주석을 달았을까요? fragment가 attach 되지 않은 상태에서 getContext를 호출하면 null을 반환합니다. 예를 들어 Thread나 Runnable등을 사용시 fragment가 attach된 상태라는 것을 보장할 수 없는 경우가 발생합니다. 이경우 잠정적으로 NullPointerException이 발생할 수 있습니다. 어떻게 수정해야 할까? 1. NonNull일때만 사용하는 경우 getContext에서 requireContext() 로 변경하여 사용해야 한다. .. 2022. 8. 30.
[Android] 면접 질문 - 1 안드로이드 개발자 면접 때 나올만한 질문들을 정리해봤다. 면접 질문 Android 4대 컴포넌트 Activity 안드로이드에서 화면을 관리하고 사용자가 발생시키는 다양한 이벤트를 처리하는 컴포넌트 Service 화면에 존재하지 않고 백그라운드에서 실행되는 컴포넌트 Broadcast Receiver 특정 어플에서 발생하는 특정 브로드캐스트 메시지를 처리하는 컴포넌트 Content Provider 앱 간 데이터 공유를 위한 클래스를 제공하는 컴포넌트 Android Manifest 모든 앱 프로젝트에 반드시 있는 파일이며 애플리케이션의 정보들을 가지고 있다. 앱에 대한 필수적인 정보를 안드로이드 빌드 툴과 Android OS, 그리고 구글 플레이에 제공한다 Activity, Fragment의 차이점 Activ.. 2022. 8. 17.
[Android] Manifest merger failed : Attribute application@usesCleartextTraffic value=(true) 안드로이드 스튜디오 업데이트 후 기존 앱의 빌드 버전을 업하면서 아래와 같은 에러가 발생하였습니다. 원인 https가 아닌 http 주소로 통신하기 위해 선언해놓은 android:usesCleartextTraffic="true"로 발생하는 문제 해결 1 tools:replace="android:usesCleartextTraffic" 해결 2 접근이 필요한 도메인만 정의해서 사용하기 /res/xml/network_security_config.xml 파일을 만들어서 AndroidManifest에 추가 ip-api.com 2022. 8. 14.
[Android] Failed to compile values file. 해결 안드로이드 스튜디오 업데이트 후 기존 앱의 빌드 버전을 업하면서 아래와 같은 에러가 발생하였습니다. 원인 "Failed to compile values file"라는 에러 이유는 에러가 사용자의 strings.xml 파일과 관련이 있다는 것이다. 해결 예를 들어 I\'m here! 아래와 같이 수정해야 한다. I\'m here! 2022. 8. 13.
[Android] Error: android:exported needs to be explicitly specified for element 안드로이드 스튜디오 업데이트 후 기존 앱의 빌드 버전을 업하면서 아래와 같은 에러가 발생하였습니다. 원인 앱의 타켓팅 버전을 Android 12 이상으로 할 경우 AndroidManifest.xml파일에서 activities, services, receivers 등에 android:exported를 설정해야 합니다. 안 하면 위와 같은 오류가 발생한다. 해결 activity에 android:exported를 설정해준다. 2022. 8. 12.
[Android] Manifest merger failed with multiple errors, see logs 해결 안드로이드 스튜디오 업데이트 후 기존 앱의 빌드 버전을 업하면서 아래와 같은 에러가 발생하였습니다. zoom SDK를 업데이트하면서 기존의 gradle을 업데이트 중이었습니다. classpath 'com.android.tools.build:gradle:4.1.2' -> 7.1.2로 변경 에러 메시지 관련 에러 확인 방법 안드로이드 스튜디오에서 AndroidManifest.xml를 연다. 열린 파일 아래쪽에 Merged Manifest 탭을 누른다. 관련 에러를 확인한다. 해결 에러 내용 Error: Attribute application@allowBackup value=(true) from AndroidManifest.xml:53:9-35 is also present at AndroidManifest.x.. 2022. 8. 11.
[ Android ] 액션바 배경 커스텀하기 앱 상단에 위와 같이 action bar를 커스텀 하고 싶다. 아래와 같이 적용하면 된다. 1. 커스텀 뷰 적용 var mActionBarView:View = LayoutInflater.from(this).inflate(R.layout.view_title_bar, null) supportActionBar!!.setDisplayShowCustomEnabled(true) supportActionBar!!.setDisplayHomeAsUpEnabled(false) supportActionBar!!.setDisplayShowTitleEnabled(false) supportActionBar!!.setDisplayShowHomeEnabled(false) supportActionBar!!.setBackgroundDr.. 2022. 7. 25.
[Android] exposed beyond app through clipdata.item.geturi 에러 해결 앱 화면을 캡처하려고 보니 최신 폰에서 위와 같은 에러가 발생하였다. 찾아보니 Android 7.0 이상의 경우 앱 외부에 file://URI의 노출을 금지하기 때문에 FileUriExposedException 이 발생한다. 따라서 파일 공유를 위해서 content://URI 형식을 바꿔주고 권한을 부여해야 한다. 해결방법 1 - FileProvider를 생성 1. AndroidManifest.xml에 추가 2. res 파일 -> xml폴더를 생성 -> file_paths.xml 파일 생성 3. Uri는 FileProvider을 사용 val photoUri = FileProvider.getUriForFile(this, "com.example.myproject.fileprovider", tempFile) .. 2022. 7. 22.
[Android] 릴리즈 keystore 생성하기 앱을 만들고 앱을 배고 하기 위해서는 서명을 해야한다. 인증서 만들기 Build -> Generate Signed Bundle / APK Android App Bundle 또는 APK 선택 Key store path 밑에 Create New 선택 Key store path 설정 password와 confirm 입력 Alias 입력 password와 confirm 입력 나머지는 필요시 입력 OK누르면 생성 완료 앱 서명 파일 만들기 Build -> Generate Signed Bundle / APK Android App Bundle 또는 APK 선택 Choose existing 선택 -> 방금 만든 keystore.jks를 선택 Key store password입력 Key alias 선택 Key passw.. 2022. 7. 15.
728x90
반응형