Home > > Android 選擇檔案, 取得檔案位置 (Choose File)

Android 選擇檔案, 取得檔案位置 (Choose File)

2011年11月14日星期一

Android 可以利用 Intent.ACTION_PICK 來開啟檔案瀏覽器,
根據你選擇的檔案, 取得該檔案的 URI,
範例, 如下 :
main.xml layout 部份內容 :

 

<Button
    android:id="@+id/buttonObj"
    android:layout_width="80px"
    android:layout_height="wrap_content"
    android:text="選擇檔案"
    android:layout_x="5px"
    android:layout_y="10px"
    />
<ImageView
    android:id="@+id/imageViewObj"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_x="10px"
    android:layout_y="70px"
    />

 

Java 程式碼 :

 

 

public class helloWorld extends Activity {
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView( R.layout.main );
       
        Button b = (Button)this.findViewById(R.id.buttonObj);
       
        b.setOnClickListener( new OnClickListener(){
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
               
                // 建立 "選擇檔案 Action" 的 Intent
                Intent intent = new Intent( Intent.ACTION_PICK );
               
                // 過濾檔案格式
                intent.setType( "image/*" );
               
                // 建立 "檔案選擇器" 的 Intent  (第二個參數: 選擇器的標題)
                Intent destIntent = Intent.createChooser( intent, "選擇檔案" );
               
                // 切換到檔案選擇器 (它的處理結果, 會觸發 onActivityResult 事件)
                startActivityForResult( destIntent, 0 );
            }
        });
    }
   
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
       
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
       
        // 有選擇檔案
        if ( resultCode == RESULT_OK )
        {
            // 取得檔案的 Uri
            Uri uri = data.getData();
            if( uri != null )
            {
                // 利用 Uri 顯示 ImageView 圖片
                ImageView iv = (ImageView)this.findViewById(R.id.imageViewObj);
                iv.setImageURI( uri );
               
                setTitle( uri.toString() );
            }
            else
            {
                setTitle("無效的檔案路徑 !!");
            }
        }
        else
        {
            setTitle("取消選擇檔案 !!");
        }
    }
}

 

來源:

http://tomkuo139.blogspot.com/2010/02/android-choose-file.html

0 Responses to "Android 選擇檔案, 取得檔案位置 (Choose File)"