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

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("取消選擇檔案 !!");
}
}
}

範例結果 :






Related Posts Plugin for WordPress, Blogger...