상세 컨텐츠

본문 제목

OpenDialog for Android

RyuLib/RyuLib for Android

by ryujt 2010. 12. 19. 01:43

본문


[그림 1] OpenDialog의 실행 모습


로컬 파일 목록을 탐색하고 원하는 파일을 선택 할 수 있는 클래스 입니다.  내부 클래스의 상세한 설명은 아래의 링크를 먼저 읽어보시기 바랍니다.


위의 포스트에서 작성된 FileList라는 클래스를 응용하여 OpenDialog 클래스를 만들었습니다.  우선 사용법은 [소스 1]과 같습니다.

[소스 1]
package app.main;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class Main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        _Dialog = new OpenDialog(this);
        _Dialog.setOnFileSelected(_OnFileSelected);
        _Dialog.setOnCanceled(_OnCanceled);
        _Dialog.Show();
    }
    
    private OpenDialog _Dialog = null;
    
    private OnFileSelectedListener _OnFileSelected = new OnFileSelectedListener() {
		@Override
		public void onSelected(String path, String fileName) {
			if (fileName.length() > 0) {
				Toast.makeText(Main.this, fileName, Toast.LENGTH_LONG).show();
			}
		}
	};
	
	private OnNotifyEventListener _OnCanceled = new OnNotifyEventListener() {
		@Override
		public void onNotify(Object sender) {
	       	Toast.makeText(Main.this, "선택이 취소 되었습니다.", Toast.LENGTH_LONG).show();
		}
	};
    
}

14: OpenDialog 객체를 생성하고,
15: 파일이 선택되었을 때 호출되는 이벤트 리스너를 지정하고,
16: 파일 선택이 취소 되었을 때 호출되는 이벤트 리스너를 지정한 다음,
17: Show() 메소드를 실행하면 [그림 1]과 같이 Dialog 창이 나타납니다.

파일이 선택되지 않은 상태에서 Ok 버턴을 클릭하시면, 24: 라인에서 fileName이 공백 문자열로 전달됩니다.  파일이 선택되었는 지는 OpenDialog 상단에 있는 EditText 뷰에 파일이름이 나타나느냐에 달려있습니다.

전체 소스는 첨부파일을 참고하시기 바랍니다.



관련글 더보기