package jp.mydns.sys1yagi.android.afilechoosersample;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import com.ipaulpro.afilechooser.FileChooserActivity;
public class AFileChooserSampleActivity extends Activity {
private final static String TAG = AFileChooserSampleActivity.class
.getSimpleName();
private final static int FILE_CHOOSE = 0x0111;
public AFileChooserSampleActivity This() {
return this;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_afile_chooser_sample);
findViewById(R.id.button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(This(), FileChooserActivity.class);
// 汎用的なファイル選択を呼び出す場合
// Intent getContentIntent = FileUtils.createGetContentIntent();
// getContentIntent.setType("image/*");
// Intent intent = Intent.createChooser(getContentIntent,
// "Select Image File.");
startActivityForResult(intent, FILE_CHOOSE);
}
});
}
private boolean isImageFile(String path) {
if (path == null) {
return false;
}
path = path.toLowerCase();
if (path.endsWith(".jpg")) {
return true;
}
if (path.endsWith(".png")) {
return true;
}
if (path.endsWith(".gif")) {
return true;
}
return false;
}
private void fileChoosed(int resultCode, Intent data) {
if (data == null) {
return;
}
if (resultCode == RESULT_OK) {
String path = data.getDataString();
Log.d(TAG, "path:" + path);
if (isImageFile(path)) {
((ImageView) findViewById(R.id.image)).setImageURI(Uri
.parse(path));
}
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case FILE_CHOOSE:
fileChoosed(resultCode, data);
break;
}
}
}