>  기사  >  Java  >  Android 프로그래밍을 통해 파일 탐색 기능을 구현하는 방법 [FileDialog와 유사한 기능]

Android 프로그래밍을 통해 파일 탐색 기능을 구현하는 방법 [FileDialog와 유사한 기능]

高洛峰
高洛峰원래의
2017-01-17 15:22:321287검색

이 기사의 예에서는 Android 프로그래밍을 통해 파일 탐색 기능을 구현하는 방법을 설명합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

현재 파일업로드 작업 중인데, 제가 여는 fileDialog 기능을 어떻게 구현할까 고민 중이었습니다. 파일을 찾아보고 파일을 선택합니다. 많은 정보를 확인하고 많은 포럼을 방문했는데 모두 이 기능을 사용할 수 없다고 했습니다. 정말 이상합니다. 물론 이 기능을 직접 추가해야 합니다.

먼저 이 파일 탐색의 간단한 구현 원리에 대해 이야기해 보겠습니다.

먼저 루트 디렉터리로 디렉터리를 선택한 다음 이 디렉터리를 여는 것이 가장 일반적으로 사용됩니다. 다음과 같이 File 클래스를 사용하십시오:

File file=new File(path);

그러면 다음과 같이

이 디렉토리에 있는 모든 파일 및 폴더 목록을 얻을 수 있습니다:

File[] files = file.listFiles();

그리고 얻은 파일을 기준으로 폴더인지 파일인지 확인하고 파일이면 목록에 추가합니다. 아이콘을 표시하려면 파일의 접미사에 따라 다른 아이콘을 설정해야 합니다. ListView에 표시하겠습니다.

기본 코드는 다음과 같습니다.

for (File currentFile : files)
{
  //判断是一个文件夹还是一个文件
  if (currentFile.isDirectory())
  {
    currentIcon = getResources().getDrawable(R.drawable.folder);
  }
  else
  {
    //取得文件名
    String fileName = currentFile.getName();
    //根据文件名来判断文件类型,设置不同的图标
    if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingImage)))
    {
      currentIcon = getResources().getDrawable(R.drawable.image);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingWebText)))
    {
      currentIcon = getResources().getDrawable(R.drawable.webtext);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingPackage)))
    {
      currentIcon = getResources().getDrawable(R.drawable.packed);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingAudio)))
    {
      currentIcon = getResources().getDrawable(R.drawable.audio);
    }
    else if (checkEndsWithInStringArray(fileName, getResources().getStringArray(R.array.fileEndingVideo)))
    {
      currentIcon = getResources().getDrawable(R.drawable.video);
    }
    else
    {
      currentIcon = getResources().getDrawable(R.drawable.text);
    }
  }
}

접미사에 따른 파일 형식 판단은 다음과 같습니다.

//通过文件名判断是什么类型的文件
private boolean checkEndsWithInStringArray(String checkItsEnd, String[] fileEndings)
{
    for(String aEnd : fileEndings)
    {
      if(checkItsEnd.endsWith(aEnd))
        return true;
    }
    return false;
}

이제 아이콘으로 목록을 표시할 수 있습니다. 이제 하위 디렉터리를 여는 방법을 소개할 차례입니다. 먼저 클릭한 내용을 기준으로 Listview에 클릭 이벤트를 추가합니다. 파일인지 파일인지 확인하고, 폴더인 경우 디스플레이를 다시 호출하고, 이전에 표시된 내용을 지우고 표시하면 필요에 따라 이 작업을 수행할 수 있습니다. : 열기, 선택 등

위에 쓴 내용은 파일 브라우저를 직접 만드는 방법에 대한 것이며, 여기서는 다양한 사용 장소에 따라 특정 파일을 표시할 수도 있습니다. 이를 위해서는 독자들이 점차적으로 익숙해지고 스스로 사용하면서 탐색해 볼 필요가 있습니다!

이 Listview도 여러분의 필요에 따라 구성되었습니다. 이 글을 공부하시면 File과 ListView의 사용법을 확실히 이해하실 수 있을 것이라 믿습니다. 여러분만의 실용적인 파일 브라우저를 만들어 보세요!

이 글이 안드로이드 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.

파일 탐색 기능[FileDialog와 유사한 기능]을 구현하는 더 많은 Android 프로그래밍 방법을 보려면 PHP 중국어 웹사이트에서 관련 기사를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.