android开发相册
⑴ Android开发中跳转到相册,在点击选在具体的图片时程序直接崩溃
你是做android开发是吧,如果你是根据uri来获取照片的话,要注意安卓版本,5.0上下是有区别的,
⑵ Android中相册实现大致方法!
当文本框失去焦点的时候判断是否显示图片
当文本框得到焦点的时候不显示图片
一开始xml布局的时候这张图片就已经布局在这里了,如果符合显示的条件的时候,就让imageview的setVisibility的参数为View.VISIBLE方法让图片显示,所以重点在于布局
布局其实也简单,就是一个imageview相对于昵称文本框的下面-5dip(数值可以调整),与昵称文本框右对齐,背景透明,Visibility属性设为gone或者invisible(最好设为gone,因为用gone不占据空间布局,用invisible占据空间布局,但是都会隐藏,不过现在用相对布局不用担心这个问题)
⑶ android开发中如何获取指定相册id里的所有图片
你也没说你用的是android SDK,sdk中没有封装所有的api,照片部分仅封装了大多数开发者常用的上传照片功能,如果没有实现的api,需要根据里面的逻辑自己实现,发送请求的部分和其他api是一致的,不需要自己实现
⑷ Android开发中怎么将照片存储到系统相册中
java">//创建输出流,指向SD卡的Pictures文件夹
finalFiledirectory=Environment.(Environment.DIRECTORY_DCIM);
//创建保存的文件
Filefile=newFile(directory,"test.png");
FileOutputStreamout=null;
try{
out=newFileOutputStream(file);
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
}
//bitmap就是你的图片
bitmap.compress(Bitmap.CompressFormat.PNG,100,out);
⑸ android 相册开发
获取照片的方法如下:
private ArrayList<ImageItem> getLatestImagePaths() {
Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String key_MIME_TYPE = MediaStore.Images.Media.MIME_TYPE;
String key_DATA = MediaStore.Images.Media.DATA;
ContentResolver mContentResolver = getContentResolver();
Cursor cursor = mContentResolver.query(mImageUri, new String[]{key_DATA},
key_MIME_TYPE + "=? or " + key_MIME_TYPE + "=? or " + key_MIME_TYPE + "=?",
new String[]{"image/jpg", "image/jpeg", "image/png"},
MediaStore.Images.Media.DATE_MODIFIED);
ArrayList<ImageItem> latestImagePaths = null;
if (cursor != null) {
if (cursor.moveToLast()) {
latestImagePaths = new ArrayList<ImageItem>();
while (true) {
String path = cursor.getString(0);
ImageItem imageItem = new ImageItem();
imageItem.setImagePath(path);
// latestImagePaths.add(path);
latestImagePaths.add(imageItem);
if (!cursor.moveToPrevious()) {
break;
}
}
}
cursor.close();
}
return latestImagePaths;
}
⑹ android中怎么做自己的相册
package com.fit.background;
import Java.io.IOException;
import Android.app.Activity;
import android.app.WallpaperManager;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.NET.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
⑺ android开发打开系统相册,不要选取图片,就是直接打开相册应用
/**
* 打开相册,
*
* @return
*/
public void openAlbum(Context context) {
Intent intent = new Intent(Intent.ACTION_PICK);
context.startActivity(intent);
}
⑻ Android开发如何从手机相册中选择照片
File DatalDir = Environment.getExternalStorageDirectory();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_hhmmss",
Locale.SIMPLIFIED_CHINESE);
String midPath = "DCIM/Camera/"+ sdf.format(new Date())+ ".jpg";
File outMid = new File( DatalDir.getPath() + "/DCIM/Camera");
存这个地址就可以;
⑼ android 开发调用系统相机为什么只显示最近相册,系统的相册哪去了
系统已经有的东西,如果我们没有新的需求的话,直接调用是最直接的。下面讲讲调用系统相机拍照并保存图片和如何调用系统相册的方法。
首先看看调用系统相机的核心方法:
Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera, 100);
相机返回的数据通过下面的回调方法取得,并处理
复制代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == CAMERA && resultCode == Activity.RESULT_OK && null != data){
Bundle bundle = data.getExtras();
//获取相机返回的数据,并转换为图片格式
Bitmap bitmap = (Bitmap)bundle.get("data");
}
}
复制代码
下面是调用系统相册并取得照片的方法:
Intent picture = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(picture, 101);
或者
intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
((Activity) context).startActivityForResult(intent, 101);
下面是相应的回调方法:
复制代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 101 && resultCode == Activity.RESULT_OK && null != data){
Uri selectedImage = data.getData();
String[] filePathColumns={MediaStore.Images.Media.DATA};
Cursor c = this.getContentResolver().query(selectedImage, filePathColumns, null,null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePathColumns[0]);
String picturePath= c.getString(columnIndex);
c.close();
}
}
复制代码
或者
复制代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
switch (requestCode) {
case 101:
Uri uri = data.getData();
Cursor cursor = this.getContentResolver().query(uri, null,
null, null, null);
cursor.moveToFirst();
String imgNo = cursor.getString(0); // 图片编号
String imgPath = cursor.getString(1); // 图片文件路径
String imgSize = cursor.getString(2); // 图片大小
String imgName = cursor.getString(3); // 图片文件名
cursor.close();
Bitmap bitmap = BitmapFactory.decodeFile(imgPath);
break;
default:
return;
}
}
}
⑽ Android 开发中从相册读取的照片有时侯的方向不对,本来是竖屏的照片变成横屏了怎么办
可以读取相片的方向值,然后旋转
读取方向值请参照下面的代码:
ExifInterface exifInterface = new ExifInterface(bitmapUrl);
int tag = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);
然后旋转:
int degree = 0;
if (orc == ExifInterface.ORIENTATION_ROTATE_90) {
degree = 90;
} else if (orc == ExifInterface.ORIENTATION_ROTATE_180) {
degree = 180;
} else if (orc == ExifInterface.ORIENTATION_ROTATE_270) {
degree = 270;
}
if (degrees != 0 && bitmap != null) {
Matrix m = new Matrix();
m.setRotate(degrees, (float) bitmap.getWidth() / 2, (float) bitmap.getHeight() / 2);
}