Android(60)
-
Content Provider & File Provider
- Content Provider : 앱간의 데이터 공유를 위해 사용(요청받은 URI로 내부데이터를 검색해 다른 앱에 앱 데이터 제공) - Content Resolver : 다른 앱의 데이터를 사용하기 위해 URI를 통해 Content Provider에게 요청 - Content Provider 1. ContentProvider 클래스(또는 상속받는 클래스) 생성 시, 자동으로 onCreate(), query(), insert(), delete(), update() 함수가 만들어짐(onCreate()에서 데이터베이스를 생성(DBHandler) 하고, query()에서 데이터 조회, insert()에서 데이터 추가, delete()에서 데이터 삭제, update()에서 데이터 수정) 2. URI 구조 - P..
2021.06.03 -
Scoped Storage
- 외부저장소의 보안과 파일 관리의 효율을 위해 기존 형태에서 공용공간이 사진/동영상/음악/다운로드 4개의 분할된 공간으로 제공하며, 개별 앱 공간을 샌드박스 형식으로 타앱에서 접근이 불가하게 만들어 놓음 - 따라서, 공용공간에 앱에서 디렉터리를 생성해 파일을 저장해놓는 형태였다면, 개별 앱공간으로 해당 파일들에 대한 마이그레이션(파일 이동)이 필요함(왜냐하면, 4개의 분할된 공간으로만 제공되기 때문에 접근 통로를 잃어버려 해당 환경의 파일에는 접근이 불가하게 되기 때문에) 이미지 - 사진 및 스크린샷을 포함하며, DCIM/ 및 Pictures/ 디렉터리에 저장됩니다. 시스템은 이러한 파일을 MediaStore.Images 테이블에 추가합니다. 동영상 - DCIM/, Movies/ 및 Pictures/ ..
2021.06.03 -
SDK 30(11, Ros) 동작변경 사항
SDK 29(10, Qos)부터 적용된 범위지정저장소의 사용이 의무화 됨에 따라 해당 내용 적용이 필요 1. AndroidManifest 파일 requestLegacyExternalStorage 설정 무효화 - 로 SDK 29에서 scoped storage 적용 유예 기간을 위해 기존 레거시 외부저장소 사용 옵션을 제공하였으나, SDK 30부터 scoped storage 정책이 의무화되어 옵션 설정이 작동하지 않음 2. AndroidManifest파일 preserveLegacyExternalStorage 설정 제공 - SDK29 사용자들의 SDK30 마이그레이션을 위해 해당 설정 제공, 업데이트하는 경우에만 동작하며 새로 설치하는 경우 설정은 무효화 처리됨 3. File API 허용 - SDK 29에서 ..
2021.06.03 -
FirebaseInstanceIdService deprecated
FirebaseInstanceIdService가 deprecated가 됨에 따라 해당 서비스에서 제공하던 onTokenRefresh() 등의 메소드 사용이 불가 그리고, 기존에 앱 초기등록시 만들어지는 토큰을 FirebaseInstanceId.getInstance().getToken() 형식으로 간단히 받을 수 있었는데. 이또한 deprecated 되었다. 그렇다면 이제는 어떤거를 이용해야 하느냐하면 FirebaseMessagingService 클래스이다. public class MyFirebaseMsgService extends FirebaseMessagingService { /* 토큰이 새로 만들어질때나 refresh 될때 */ @Override public void onNewToken(String ..
2021.04.23 -
[ERROR/EXCEPTION] (WIP) Firebase Messaging Service Error
Error Message 2020-07-10 10:29:34.054 28366-28629/com.hli.dp.tmdb V/FA: Inactivity, disconnecting from the service 2020-07-10 10:29:36.895 28366-28629/com.hli.dp.tmdb D/FA: Event not sent since app measurement is disabled 2020-07-10 10:29:36.902 28366-29428/com.hli.dp.tmdb W/FirebaseMessaging: Notification Channel set in AndroidManifest.xml has not been created by the app. Default value will be ..
2021.04.23 -
[ERROR/EXCEPTION] Mediaplayer 파일 재생 불가(내부저장소 접근 불가) + 내/외부 저장소 접근
Error Message you store your tempfile in the application cache directory and the problem is that the MediaPlayer doesn't have access rights to application directories. Instead you should passing a FileDescriptor to your MediaPlayer with setDataSource(FileDescriptor fd). 원인 prepare failed status 0xFFFFFFFC prepare() 수행중에 해당 에러가 나는 경우가 있다.(IOException의 e.getMessage() 를 출력한 결과) 여러가지 이유때문인 것으로 추정된다...
2021.04.23