2013-06-25 2 views
1

나는 파일을 열고 데이터를 읽고 쓰는 프로젝트를 만들고있다.사용자가 파일 시스템을 탐색하도록 허용하는 방법은 무엇입니까?

나는 아래의 코드를 사용하여이 일을 해요 : 제대로 작동

File file = new File(Environment.getExternalStorageDirectory().getPath() 
        + "/Project/Application/" + fileName); 

. 문제는 경로가 특정 'Project/Application'디렉토리 인 경우에만이 파일을 가져올 수 있다는 것입니다.

사용자가 장치 파일 시스템으로 이동하여 파일을 직접 찾을 수있게하려면 어떻게해야합니까?

답변

0

Android에는 파일 선택기가 없습니다. Android가 기본적으로 표시 할 수있는 유일한 파일 목록은 벨소리 목록입니다.

여기 몇 가지 해결책이 있습니다

  • 로드 파일 목록 배열로하고 여기에 읽을 수있는 파일 목록을 표시하는 대화 상자를 보여 Choose File Dialog합니다. 이 방법을 사용하면 사용자가 폴더 인 항목을 클릭 한 다음 해당 폴더 안에 파일과 함께 새로운 대화 상자를 표시 할 때이를 감지 할 수 있으므로 사용자는 쉽게 탐색 할 수 있습니다. 당신이 좋은 라이브러리가 여기 Android file chooser

  • 을 그리고 : 여기

  • 는 사용자가 하나가 설치되지 않은 내장 된 파일 츄 단지의 경우 귀하의 질문에 좋은 답변입니다 https://code.google.com/p/android-filechooser/

+0

늦게 답변드립니다. 나는 너의 메시지를 연구하고 있었다. 그것은 나를 많이 도왔다. 이 링크는 http://www.dreamincode.net/forums/topic/190013-creating-simple-file-chooser/에 있으며 원하는 것을 얻을 수 있습니다. 이제 파일의 경로를 탐색하고 (토스트로) 볼 수 있습니다. 이제 문제는 파일 선택기를 호출하는 활동에서이 경로를 얻는 방법입니다. 어떤 이데아가 있니? 다시 감사합니다! – user2520990

+0

그러면 파일 선택기가 새로운 활동으로 시작됩니다. 그렇습니까? 'startActivity' 대신'startActivityForResult'를 사용하여 활동을 시작할 수 있습니다. 여기에 설명 할 때가 조금 있지만이 게시물을 확인하십시오. http://stackoverflow.com/questions/10407159/android-how-to-manage-start-activity-for-result?answertab=votes#tab-top 토스트하는 대신 파일 경로,'setResult'와'finish()'를 사용하십시오. 첫 번째 액티비티는 두 번째 액티비티가 완료되면'onActivityResult' 호출을받습니다. –

관련 문제