Please Enable JavaScript!
Gon[ Enable JavaScript ]

안드로이드(Android) 파일 브라우저에서 이미지 보여주기

안드로이드 개발
반응형

안드로이드(Android) 파일 브라우저에서 이미지 보여주기

 

개발환경 : window 7 64bit, Eclipse Mars, Android 4.2.2

 

이번 예제는 파일 브라우저와 이미지뷰를 연계한

샘플입니다. 파일브라우저에서 이미지를 선택하게

되면 다른 activity path 를 넘겨 이미지를

보여주게 되는 것이죠.

파일 브라우저에서 이미지 클릭시 다른 activity

넘기는 부분과 이미지 경로를 받아서 ImageView

보여주는 activity 가 추가 되었습니다.

 

 

다른 전체 소스는 파일브라우저에 있으므로 참고하시고

추가되는 부분에 대해서만 언급하겠습니다.

먼저 파일 브라우저에서 폴더나 파일클릭시 일어나는

이벤트 onListItemClick() 함수에 새로 만든 activity

이미지 경로를 넘기는 소스 입니다.

Intent 를 구성해 startActivityForResult() 로 넘깁니다.

넘길 때 File 객체에서 파일이 포함된 전체 경로를

putString() 함수에 넣습니다.

 

String filename = file.getName();
String ext = filename.substring(filename.lastIndexOf('.') + 1, filename.length());

if (ext.equals("JPG") || ext.equals("jpg")) {
	Intent intent = new Intent();
	Bundle bundle = new Bundle();
	bundle.putString("totalpath", file.getPath());
	intent.putExtras(bundle);
	intent.setClass(SampleActivity27.this, SelectImageView.class);

	startActivityForResult(intent, 0);
}

 

메인 activity 에서 넘긴 데이터를 받은 SelectImageView

클래스에는 이미지를 표현하는 기능이 있겠죠.

Intent 로 보낸데이터를 받는 부분인데 getStringExtra()

이용해 값을 꺼냅니다.

 

String path = intent.getStringExtra("totalpath");
txtImgName.setText(path);

 

이미지를 ImageView 에 표현하기 위해 Bitmap 객체로

디코딩하고 ImageView setImageBitmap() 함수에

인수로 넘겨 화면에 표현합니다.

 

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
Bitmap bm = BitmapFactory.decodeFile(path, options);
jpgView.setImageBitmap(bm);

 

서브 클래스인 SelectImageView.java 의 전체 소스입니다.

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

public class SelectImageView extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_select_image_view);
		
		TextView txtImgName = (TextView)findViewById(R.id.jpgname);
		ImageView jpgView = (ImageView)findViewById(R.id.jpgview);
		//jpgView.setOnClickListener(clickListener);
		
		Intent intent = getIntent(); 
        if(intent!=null){
            String path = intent.getStringExtra("totalpath");
            txtImgName.setText(path);

			BitmapFactory.Options options = new BitmapFactory.Options();
			options.inSampleSize = 2;
			Bitmap bm = BitmapFactory.decodeFile(path, options);
			jpgView.setImageBitmap(bm);
        } 
}
}

 

안드로이드(Android) 파일 브라우저에서 이미지 보여주기

 

반응형
Posted by 녹두장군1
,