반응형
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
- HTML
- 양평역
- vuejs
- Qt OpenGL
- 자바
- Qt 소켓프로그래밍
- 고속도로
- 디자이어HD
- 정성하
- 마영전
- 엑티브엑스
- 알람프로그램
- QT
- qt 설치
- FFI
- android SAF
- 잡담
- 오토바이
- 바이크
- 윈도우7
- QTcpServer
- 안드로이드
- Qt4
- 자료구조
- 스타2
- c언어
- 스타크래프트2
- 재귀함수
- 이륜차
- 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