반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자료구조
- 엑티브엑스
- FFI
- android SAF
- 정성하
- qt 설치
- Qt 소켓프로그래밍
- QT
- 자바
- 스타크래프트2
- 디자이어HD
- 스타2
- 양평역
- 마영전
- Qt4
- 알람프로그램
- 오토바이
- 윈도우7
- 잡담
- 고속도로
- vuejs
- HTML
- 안드로이드
- 이륜차
- QTcpServer
- 재귀함수
- Qt OpenGL
- c언어
- 바이크
- Java
Archives
- Today
- Total
프로그래밍과 잡담
롤리팝에서 외장메모리 쓰기에 대해서 대충 알거 같군. 본문
안드로이드가 롤리팝으로 업데이트되면 킷켓에서 외장메모리에 쓰기 방법을 막았는데 다시 롤리팝에서 부활했다.
그것을 어떻게 하는가 하니
// 이것을 호출한다. Intent.ACTION_OPEN_DOCUMENT_TREE가 롤리팝에서 추가되었다. Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); startActivityForResult(intent, 42);
그리고 나면 창이 뜰 테고 사용자가 선택하면 그 결과가 아래의 메소드로 들어온다.
//사용자가 선택하면 선택한 결과가 resultData로 들어온다. public void onActivityResult(int requestCode, int resultCode, Intent resultData) { if (resultCode == RESULT_OK) { Uri treeURI = resultData.getData(); DocumentFile file = DocumentFile.fromTreeUri(getActivity(), treeURI); //파일을 생성할꺼면 DocumentFile newFile = file.createFile("text/plain", "test.txt"); try { OutputStream out = resolver.openOutputStream(newFile.getUri()); out.write("Test".getBytes()); out.close(); }catch (Exception e) { // 처리 } }
위와 같이 처리하면 되는데 문제는 계속 위와 같이 하면 뭔가 할 때마다 선택하는 창이 뜨는 불상사가 생기지..
그걸 방지하기 위해서는
저기에서 treeURI를 저장해놓고 사용하면 된다.
즉, treeURI.toString() 해가지고 이걸 데이터베이스든지 어디든지 간에 저장해두고 필요할때 이걸 불러서
DocumentFile.formTreeUri를 통해서 사용하면 된다는 것.
반응형
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 Target 29 이상 일 경우, 폴더 및 파일 접근 방법 (2) | 2020.12.23 |
---|---|
[안드로이드] 아 안드로이드가 점점 병신이 되가는거 같다. (6) | 2020.12.22 |
[안드로이드] 서비스를 호출 시 암시적으로 호출 (0) | 2014.11.12 |
[안드로이드]Fragment 뷰가 겹치는 현상이 있었다.. (0) | 2014.11.12 |
Android 5.0 Lollipop에서는 다시 SDCARD에 읽기와 쓰기가 가능한거 같네. (0) | 2014.11.07 |
Comments