본문 바로가기

6. With IT/6.1 Android

sdcard안의 파일 내용 얻기

<FileListActivity.java>


package com.android.FileList;

import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;


class JavaFilter implements FilenameFilter{
public boolean accept(File dir, String filename){
return (filename.endsWith(".java"));
}
}


public class FileListActivity extends Activity {
    /** Called when the activity is first created. */
// private static final String FILE_PATH = new String("/sdcard/");
private List<String> mFileNames = new ArrayList<String>();
ListView mFileListView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
   
    try{
       super.onCreate(savedInstanceState);
       setContentView(R.layout.file_list);
       
       mFileListView = (ListView)findViewById(R.id.file_list);
       this.updateFileList();
       
    }catch(NullPointerException e){
//     Log.v(getString(R.string.app_name), e.getMessage());
    Log.d("Error","1st");
    Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
    }
    }
   
    public void updateFileList(){
    String ext = Environment.getExternalStorageState();
    String path = null;
    if(ext.equals(Environment.MEDIA_MOUNTED)){
    path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/javaeditor/";
   
    }else{
    path = Environment.MEDIA_UNMOUNTED;
    }
   
    File files = new File(path);

   
   
    if(files.listFiles(new JavaFilter()).length > 0){
    for(File file : files.listFiles(new JavaFilter())){

    mFileNames.add(file.getName());
    }
    }
   
    ArrayAdapter<String> fileList = new ArrayAdapter<String>(this, R.layout.file_list_item, mFileNames);
   
    mFileListView.setAdapter(fileList);
   
    }
   
}

 

<file_list.xml> 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:weightSum="1">
<TextView
android:text="Select File to Load"
android:textSize="25dip"
android:textColor="#08C"
android:gravity="center_horizontal"
android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
   android:layout_width="fill_parent" android:layout_height="wrap_content"> 

    </TextView>
    <ListView
    android:id="@+id/file_list"
    android:layout_width="fill_parent" 
   android:layout_height="fill_parent" android:layout_weight="0.69"> 
    </ListView>
(주의! : ListView의 화면이내용이 TextView때문에 맨 아래로 밀려났을 수 있음(안보인) -> 마우스로 창을 적절히 조절
    
</LinearLayout>



<file_list_item.xml>  

<?xml version="1.0" encoding="utf-8"?>
<TextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:textSize="25dip"
  android:layout_width="fill_parent"
  android:layout_height="match_parent">
    
</TextView>
 

'6. With IT > 6.1 Android' 카테고리의 다른 글

파일전송(ftp)  (1) 2013.02.01
구글 지도 띄우기  (1) 2013.01.28
Android 아키첵쳐  (0) 2011.09.30
android8 - ApiDemo(OpenGL)  (0) 2011.07.28
GLSurfaceView기초  (0) 2011.07.26