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

안드로이드 기능개발 문의 ( .db파일 외부에 전송하기 구현 )

0 추천

 

안녕하세요 안드로이드 초중급 개발자입니다 

몇일동안 수십차례 해보았는데, 해결이 안되어서 전문가의 조언을 구합니다 

[ 제목 ] 안드로이드 기능개발 문의 ( .db파일 외부에 전송하기 구현 ) 

[ 문의내용 ]  

안드로이드폰 내에 있는 sqllite .db파일을 카톡이나 이메일 등으로 보내고 싶습니다 

대상 database 파일 = 다른어플이 아닌 본인어플의 파일입니다 

( External storage를 사용하지 않고 바로 보내고 싶어요 ) 

소중한 전문가님의 답변을 기다립니다  

도와주세요~ 

 

앱천사 (380 포인트) 님이 2021년 11월 18일 질문

1개의 답변

+1 추천
 
채택된 답변

SQLiteDatabase 를 보면 아래와 같은 메소드가 있습니다. https://developer.android.com/reference/android/content/Context#getDatabasePath(java.lang.String)

public abstract File getDatabasePath (String name)

DB의 이름을 주면 DB의 Fiile 정보를 리턴받을 수 있게 되는데, 이말은 OutStream을 사용하면 DB을 축출할 수 있다는 말이 됩니다. 물론 안드로이드 버전(특히 12)에 따른 권한 부분은 변경사항이 많으니 개발자 문서를 통해 체크해 보셔할 것 같구요.

java.io의 스트림을 이용해서 파일을 읽어다가 첨부파일로 보내는 시도를 해보시면 될 것 같습니다. 그리고 데이터 마이그레이션이나 복구를 위해 데이터가 필요한 경우라면 파일자체를 보내기 보다는 DB  내용을  csv 같은 포맷으로 덤프를 뜨거나 해서 보내시는게 훨씬 효율적이겠죠.

spark (227,830 포인트) 님이 2021년 11월 18일 답변
앱천사님이 2021년 11월 18일 채택됨
...