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