2013-11-24 1 views
-1

다음 위치의 SD 카드에 여러 개의 동영상이 있습니다 ... "sdcard/new folder/* * .mp4". 이제 목록 뷰에이 비디오의 이름을 채우고 싶습니다. 동영상의 수는 매번 달라질 것입니다. 고정 된 수의 동영상이 없습니다. 따라서 "값"폴더에 이름을 저장하는 것은 나에게 도움이되지 않습니다. 내 코드는 ... 아래sdcard의 비디오로 listview 채우기. android

public class Main extends ListActivity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
} 

과 main.xml에 나는 비디오의 이름으로 목록보기를 채우는 방법을 모르는

 <?xml version="1.0" encoding="utf-8"?> 
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

    <ListView 
     android:id="@android:id/list" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
    </ListView> 

</LinearLayout> 

입니다. 도와주세요.

답변

0

언제든지 count을 얻을 수 있도록 파일 이름을 저장하려면 sqlite database을 사용해야합니다. 그럼 그 쉬운가?

0

SD 카드에 비디오를 저장해야하지만 sqlite 데이터베이스에 파일 경로를 저장할 수 있습니다. 그런 다음 SD 카드에서 파일 경로와 비디오를 읽고 목록보기로 표시하십시오.

//get the path of the sdcard and enter all the files to an array file 
File[] file = Environment.getExternalStorageDirectory().listFiles(); 

또는

File dir = new File(Environment.getExternalStorageDirectory() + "/YourFolder"); 
File[] fileslist = dir.listFiles(); 

    for(File file:fileslist){   
    videoList.add(file.getPath()); 
    } 
+0

에 코드의이 부분을 적용해야한다. 더 쉬운 방법이 있어야합니다. 있어야합니다. –

0

당신은 내가 싶어 사용 SQLite는하지 않는 앱이

public class MainActivity extends Activity { 

     private List<String> myList; 
     File file; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 


      //List code 
      ListView listView = (ListView) findViewById(R.id.mylist); 
      myList = new ArrayList<String>(); 

      File directory = Environment.getExternalStorageDirectory(); 
      file = new File(directory + "/videos"); 
      File list[] = file.listFiles(new FilenameFilter() { 

       public boolean accept(File dir, String filename) { 
        // TODO Auto-generated method stub 
        if(filename.contains(".mp4")){ 
         return true; 
        } 
        return false; 
       } 
      }); 

      for(int i=0; i< list.length; i++) 
      { 
        myList.add(list[i].getName()); 
      } 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        android.R.layout.simple_list_item_1, android.R.id.text1, myList); 
      listView.setAdapter(adapter); //Set all the file in the list. 
      } 
}