마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 앱에 pdf파일저장 질문

0 추천

안녕하세요 지금 안드로이드 공부를하고 있는 대학생입니다.

요즘 클론코딩을하면 뭔가 공부가 많이 될 것 같아서 하려고하는데 지금 

2주째 알아보고 공부해도 모르겠어서 여기 질문을 합니다. 우선 아래가 그 클론코딩할 앱의 초기화면 입니다.

질문들을 나열해보면

1.  절대경로를 아는방법 (미디어는 방법이있지만 문서파일은 찾아도 안나오네요 ㅠㅠ)

일단은 sd카드인 외부저장소 말고 내부(document)에 저장된 pdf의 content uri까지 불러왔지만 절대경로를 알지 못하겠습니다. 제가 알기로 실제로 내 앱에 저장을 할라면 contentProvider가 제공하는 content:// 이런식의 경로로는 문서파일을 저장하지 못해서 절대경로를 알려고하는데 제 능력으로는 그 방법을 모르겠습니다..

2. 앱에 저장소 관련 질문

-  제가 공부한 바로는 앱에는 캐시와 내부 저장소 2가지 에 저장되고 이외에는 조금 어렵다고 알고 있는데

 혹시 안드로이드 Assets폴더가 캐시저장소인지 궁금합니다.

- 내부저장소에 저장되면 data/data/ 패키지이름/ files 에 저장이된다고 알려고 있는데 문서 파일을 저장하고 자 할때의 방법을 알고 싶습니다. 제가알기로 File 객체를 이용할때 uri를 인자로 받아야 하는데 이또한 절대경로를 알아야 한다고 알아서 다른방법이 있다면 알고 싶습니다.

3. 저장된 파일들을 위 사진처럼 한데 모아 보여주기위해 모든 파일을 다불러오는 그런 메소드가 있는지. 

 ( 제가 찾아봤을때 미디어 자료같은것만 모아주는거 밖에 못찾아서..) 

 

전반적으로 File, 저장소(Table), uri 의 개념을 잘 몰라서 이런 질문을 드리는 것 같은데 혹시 이런 개념을 공부 할 수 있게 잘 정리된 곳이 있다면 알려주시면 정말 감사하겠습니다 ㅠㅜ

+ 그리고 제가 구글링을 너무 못해서 이런 기본적인 것들도 잘 찾지 못하는거 같아서 너무 자괴감이 드는데 이런 혼자 공부할때도 오류나 방법을 찾는 꿀팁같은거 알려주시면 너무 감사하겠습니다 ㅠㅠ

저는 코틀린으로 개발중입니다.

여띵 (120 포인트) 님이 2021년 1월 9일 질문
여띵님이 2021년 1월 9일 수정

2개의 답변

0 추천
안드로이드 개발자 문서가 가장 좋은 자료 중의 하나입니다.

https://developer.android.com/training/data-storage

관련된 부분을 꼼꼼히 읽어보시구. 안드로이드 스튜디오에서 import an Android Code Sample 을 선택하시면 구글에서 올려놓은 프로젝트들이 아주 많이 있습니다. 관련 프로젝트를 찾아서 한번 살펴보세요.

그리고 Asset 폴더는 캐쉬폴더가 아니고, 앱에서 필요한 폰트, Database, 파일 등을 같이 배포할 때 이용하는 폴더입니다.
spark (227,530 포인트) 님이 2021년 1월 9일 답변
0 추천
1. 은 아래를 참고해 보세요..

https://github.com/eduxcellence/Common-Utils-for-URI-path-

 

2. 번은 안드로이드 버전에 따라 파일을 처리하는 방법이 달라집니다.

아래를 참고해 보세요.

https://developer.android.com/reference/androidx/core/content/FileProvider

3. 번은 ContentResolver를 사용해서 안드로이드 OS 가 인덱싱하고 있는 파일을 mimetype으로 쿼리해 올 수 있습니다.

https://developer.android.com/guide/topics/providers/content-provider-basics?hl=ko

첨부한 이미지는 PDF의 썸네일을 가져와서 보여주는 것으로 보이는데, https://github.com/barteksc/AndroidPdfViewer 라이브러리를 추천해 봅니다.

그리고, UI는 다르지만 제가 서비스하고 있는 https://play.google.com/store/apps/details?id=net.sjava.officereader 앱에서도 동일한 기능을 제공하는 것 같습니다.

즐코딩 하세요 ^^
mcsong (44,040 포인트) 님이 2021년 1월 10일 답변
...