1.button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); startActivityForResult(intent,SELECT_PICTURE_FROM_CAMERA);
}
});
//然后重载startActivityForResult添加自己的实现
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( resultCode==RESULT_OK)
{
if(requestCode==SELECT_PICTURE_FROM_CAMERA)
{
File image=new File(Environment.getExternalStorageDirectory(), "camera.jpg");
selectedImagePath=image.getAbsolutePath();
Drawable d=Drawable.createFromPath(selectedImagePath);
ImageView.setImageDrawable(d);
}
}
}
2 从android本地多媒体图片文件夹中选择图片
Intent i=new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
Intent wrapi=Intent.createChooser(i, "choose");
startActivityForResult(wrapi, SELECT_PICTURE_FROM_FILE);
//然后重载startActivityForResult添加自己的实现
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( resultCode==RESULT_OK)
{
if(requestCode==SELECT_PICTURE_FROM_FILE )
{
Uri selectedImageUri = data.getData();
selectedImagePath=getPath(selectedImageUri);
imageView.setImageURI(selectedImageUri);
}
}
} //获取当前选择的图片,并显示在imageView上
private String getPath(Uri uri)
{
String[] projection={MediaStore.Images.Media.DATA};
Cursor cursor=managedQuery(uri,projection,null,null,null);
int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
//Query实现从图片数据库中查询到所要记录
3 Activity之间带内容的跳转
Intent intent = new Intent();
Bundle imageMsg = new Bundle();
imageMsg.putString("filePath", selectedImagePath); / intent.putExtras(imageMsg);
intent.setClass(ActivityA.this,ActivityB.class);
startActivity(intent);
ActivityA.this.finish();
4 位图缩放
public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {
int width = bgimage.getWidth();
int height = bgimage.getHeight();
Matrix matrix = new Matrix();
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
matrix.postScale(scaleWidth, scaleHeight);
Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, width, height,
matrix, true);
return bitmap;
}
5 Gallery的使用
Gallery gallery=(Gallery)findViewById(R.id.gallery);
myImageAdapter imageadapter=new myImageAdapter(this); //传入context
gallery.setAdapter(imageadapter);
gallery.setOnItemClickListener(new Gallery.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
Bitmap selectedBitmap=BitmapFactory.decodeResource(getResources(),imageadapter.myImageIds[arg2]);
}
});
gallery.setSelection(1);
//adapter的类定义
public class myImageAdapter extends BaseAdapter{
int mGalleryItemBackground;
private Context context;
public Integer[] myImageIds={
//图片的资源id号
};
public myImageAdapter(Context context)
{
this.context=context;
TypedArray typed_array=context.obtainStyledAttributes(R.styleable.Gallery);
mGalleryItemBackground=typed_array.getResourceId(R.styleable.Gallery_android_galleryItemBackground , 0);
//mGalleryItemBackground++;
typed_array.recycle();
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return myImageIds.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
ImageView imageView=new ImageView(context);
imageView.setImageResource(myImageIds[arg0]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(128,128));
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
}
6 activity中使用线程
private Handler mHandler=new Handler();
private Runnable mRunnable=new Runnable()
{
@Override
public void run() {
// TODO Auto-generated method stub
}
};
mHandler.post(mRunnable); //启动线程
7 保存到android多媒体图片文件夹
android.provider.MediaStore.Images.Media.insertImage(getContentResolver(),resultBitmap, "picName", "descrition");
@Override
public void onClick(View arg0) {
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); startActivityForResult(intent,SELECT_PICTURE_FROM_CAMERA);
}
});
//然后重载startActivityForResult添加自己的实现
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( resultCode==RESULT_OK)
{
if(requestCode==SELECT_PICTURE_FROM_CAMERA)
{
File image=new File(Environment.getExternalStorageDirectory(), "camera.jpg");
selectedImagePath=image.getAbsolutePath();
Drawable d=Drawable.createFromPath(selectedImagePath);
ImageView.setImageDrawable(d);
}
}
}
2 从android本地多媒体图片文件夹中选择图片
Intent i=new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
Intent wrapi=Intent.createChooser(i, "choose");
startActivityForResult(wrapi, SELECT_PICTURE_FROM_FILE);
//然后重载startActivityForResult添加自己的实现
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( resultCode==RESULT_OK)
{
if(requestCode==SELECT_PICTURE_FROM_FILE )
{
Uri selectedImageUri = data.getData();
selectedImagePath=getPath(selectedImageUri);
imageView.setImageURI(selectedImageUri);
}
}
} //获取当前选择的图片,并显示在imageView上
private String getPath(Uri uri)
{
String[] projection={MediaStore.Images.Media.DATA};
Cursor cursor=managedQuery(uri,projection,null,null,null);
int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
//Query实现从图片数据库中查询到所要记录
3 Activity之间带内容的跳转
Intent intent = new Intent();
Bundle imageMsg = new Bundle();
imageMsg.putString("filePath", selectedImagePath); / intent.putExtras(imageMsg);
intent.setClass(ActivityA.this,ActivityB.class);
startActivity(intent);
ActivityA.this.finish();
4 位图缩放
public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {
int width = bgimage.getWidth();
int height = bgimage.getHeight();
Matrix matrix = new Matrix();
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
matrix.postScale(scaleWidth, scaleHeight);
Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, width, height,
matrix, true);
return bitmap;
}
5 Gallery的使用
Gallery gallery=(Gallery)findViewById(R.id.gallery);
myImageAdapter imageadapter=new myImageAdapter(this); //传入context
gallery.setAdapter(imageadapter);
gallery.setOnItemClickListener(new Gallery.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
Bitmap selectedBitmap=BitmapFactory.decodeResource(getResources(),imageadapter.myImageIds[arg2]);
}
});
gallery.setSelection(1);
//adapter的类定义
public class myImageAdapter extends BaseAdapter{
int mGalleryItemBackground;
private Context context;
public Integer[] myImageIds={
//图片的资源id号
};
public myImageAdapter(Context context)
{
this.context=context;
TypedArray typed_array=context.obtainStyledAttributes(R.styleable.Gallery);
mGalleryItemBackground=typed_array.getResourceId(R.styleable.Gallery_android_galleryItemBackground , 0);
//mGalleryItemBackground++;
typed_array.recycle();
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return myImageIds.length;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
ImageView imageView=new ImageView(context);
imageView.setImageResource(myImageIds[arg0]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(128,128));
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
}
6 activity中使用线程
private Handler mHandler=new Handler();
private Runnable mRunnable=new Runnable()
{
@Override
public void run() {
// TODO Auto-generated method stub
}
};
mHandler.post(mRunnable); //启动线程
7 保存到android多媒体图片文件夹
android.provider.MediaStore.Images.Media.insertImage(getContentResolver(),resultBitmap, "picName", "descrition");