-
안드로이드 마시멜로우(Android 6.0) 권한요청 - Custom Dialog( 2/2 )Android 2019. 4. 11. 15:16
이번 글에서는 System Dialog에서 거부를 한 이후에 다시한번 사용자에게 권한허용을 요청하는 Custum Dialog를 생성을 해보겠다. 목표는 아래와 같은 다이얼로그를 만드는것이다. 이전글에서 만든 java파일에 몇몇 메소드를 추가하고 Dialog를 커스텀할 파일들을 몇개 만들것이다. 1. PermissionUtil.java - checkPermissions_list() Custum Dialog를 보면 리스트뷰 형식으로 허용이 필요한 권한들이 나열되어있다. 요청한 권한들중에 계속해서 거부된 권한들을 리스트로 리턴한다. Custom Dialog를 생성할때 사용된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //배열로 들어온 권한중에 계속 거부상태인 권한들을 리스트로 리..
-
안드로이드 마시멜로우(Android 6.0) 권한요청 - System Dialog( 1/2 )Android 2019. 4. 10. 17:52
이전에는 앱설치 할때AndroidManifest.xml에 등록해둔 필요권한을 보여주고 설치와 동시에 권한을 얻었지만 안드로이드 targetSDK23이상을 빌드하게되면서 앱에서 해당 권한이 필요할때 마다 사용자로부터 권한을 허가 받도록 해야한다. 모든 권한을 요청을 해야하는것은 아니고 구글에서 정의한 Dangerous Permission에 대해서만 권한을 허가하도록 해주면 된다. 개발소스를 보기전에 어떤 프로세스로 권한을 요청하는지 보자. 첫번째 - 권한 요청 ( System Dialog ) 두번째 - 권한 재요청 ( Custom Dialog ) - 첫번째에서 거절을 했을때 다시한번 사용자에게 권한을 요청한다. 첫번째에서 권한을 얻는 절차를 끝낼 수도 있지만 재요청하는 팝업창을 하나 더 만든 이유가 있다..
-
안드로이드 스튜디오 Failed to maintain projects LRU cache 에러Android 2019. 4. 9. 17:29
프로젝트를 복사해서 스튜디오에서 임포트해서 사용하려는데 아래의 에러가 나면서 EOFException이 발생하였다. Failed to maintain projects LRU cache for dir /Users/justin/Library/Caches/AndroidStudio2.3/resource_folder_cache 해결책 : Select "File" -> "Invalidate Caches/Restart..." -> "Invalidate and Restart" 이후 정상적으로 Clean/Rebuild 되면서 잘 작동된다.
-
Android 64비트 대응하기 - ARM , X86, MIPSAndroid 2019. 4. 8. 15:08
안드로이드를 64비트를 대응을 해야한다는 소식을 보면서 어떻게 대응을 하여야하는 것인지를 찾아보던 중 64비트를 지원해줘야하는 cpu에는 ARM, X86, MIPS 3가지가 있었고 이것들 차이는 무엇일까... 찾아보게 되었다. 이것들은 무엇이고 내가 지원하는 기기들은 무엇일지... 처음에는 X86에 대해서는 Intel cpu라 하여 윈도우 폰들이다. 그래서 지원을 할 필요가 없는건가? 라는 생각도 하였다. 그래도 앱을 서비스하는데 리스크를 안고서 이건 지원안해 라고 할 수 없어서.. 조심스럽게 여러 블로그들을 찾아보게 되었다. 우선 안드로이드 디바이스는 제소사의 사정에 따라서 원하는 CPU를 골라 쓸수 있다. 가장 대표적인 ARM을 비롯하여 X86, MIPS를 지원한다. 1990년 초부터 X86/MIPS..
-
Android 64비트 지원 대응하기Android 2019. 4. 8. 13:34
구글은 64비트 지원에 대한 공지가 생겼다. 2019년 8월 1일 부터는 Google Play에 앱을 게시할때 32비트 버전 이외에 64비트 버전도 함께 제공되어야한다는 내용이다. 2017년 9월 iOS 11부터 32비트 앱은 앱스토어에서 지원 중단하고 64비트 앱만 지원하고 있다. 2019년 8월 1일부터 Google Play에 앱을 게시할 때 32비트 버전 외에 64비트 버전도 함께 지원이 되어야한다. 예외) Unity 5.6 또는 이전버전을 사용하는 기존게임에 대한 32비트 전용 업데이트를 허용 2021년 8월 1일부터 Google Play에서 64비트 지원없는 앱에 대한 서비스를 중단할 예정이다. 이에 따라 64비트 기기에서는 이러한 앱을 사용할 수 없다. 이때부터는 Unity 5.6 또는 이전버..
-
Android 카메라 사진 캐시영역(Cache-path) 저장하기Android 2019. 4. 5. 16:38
앱에 카메라 기능을 넣다보면 File영역에 저장하여 갤러리에 보이게끔 하는 경우도 있지만 카톡의 프로필 사진을 위해 사진을 찍을때는 사진을 찍고 편집하고 업로드 하면나면 찍고 작업한 사진파일은 따로 갤러리에 보이지 않고 처리되는 경우들이 많다. 이럴 경우 내부 저장소중 캐시영역에 파일을 저장하는 형식으로 하면 유용할 듯하여 작성하게 되었다. 캐시영역에는 임시 파일들이 저장되며 Context.getCacheDir()을 통해 내부 저장소의 캐시 디렉토리를 리턴한다. 경로 : /data/data/패키지이름/cache 1. file_paths.xml cache영역에 생성된 임시파일을 나중에 FileProvider.getUriForFile() 을 통해 Uri을 생성할때 사용된다. 이번 게시글의 맨 아래에 링크로 ..
-
티스토리 사이트맵 등록 문제- 링크주소가 이상할때etc 2019. 4. 3. 10:48
티스토리 블로그를 시작하면서 구글서치 콘솔에 등록하기 위해 사이트맵을 등록하는 절차를 진행하는중 사이트맵 링크를 복사하는데 가이드 글을 과는 다른 사이트맵 링크 주소가 나와 당황스러웠습니다. 티스토리 블로그 주소가 아닌 카카오 주소로 표시된 사이트맵 링크로 떠서 사이트맵 등록을 진행할 수가 없었습니다. 사이트맵을 등록하고 게시글을 만들어 다운로드 링크 주소를 복사 했을때. 기대한것은 파란색 네모 박스의 "아이디.tistory.com" 티스토리 주소로된 링크였지만, 실제로는 빨간색 네모박스의 "k.kakaocdn.net" 카카오 주소로된 링크가 나왔습니다. 이런형태의 링크 주소가 나오게 된건 최근 티스토리의 에디터가 업데이트 되면서 이러한 문제가 발생하였습니다. 이전 에디터에서는 티스토리 주소의 링크로 잘..
-
Android FCM 구현하기(GCM에서 전환) - 1/2 FCM콘솔Android 2019. 4. 1. 16:48
GCM이 2019년 4월 11일로 서비스를 종료하기 때문에 GCM에서 FCM으로 전환을 해줘야한다. 배포된 앱이 업그레이드 되기 전까지 동일하게 서비스를 유지해줘야하기 때문에 기존에 사용하고 있는 GCM환경(Sender id/ server key)키를 유지해 줘야한다. 사실 같은 구글계정으로 유지할 것이 아니라 새로운 계정으로 사용하려면 아예 새롭게 FCM으로 새롭게 구성을 해줘도 괜찮다. 대신 GCM사용하던 server Key와 FCM에서 새로 생설될 server Key모두를 관리해줘야한다. 1. 프로젝트 추가 https://console.firebase.google.com/ 해당 페이지로 가서 프로젝트를 추가한다. 2. 프로젝트 이름 및 약관 기존에 GCM프로젝트를 연동하려면 Project name을..