gpt4 book ai didi

android - 捕获图像并将其存储到新文件夹中的 SD 卡

转载 作者:太空狗 更新时间:2023-10-29 15:13:44 26 4
gpt4 key购买 nike

我正在调用相机并拍摄图像,我必须一张一张地拍摄 10 张图像并将它们存储在 SD 卡上,然后才能将它们设置为 ImageView 。请检查我下面的代码,它没有设置为 ImageView 。

我如何将它存储在 SD 卡上并检索它以设置为 ImageView ?存储前如何命名图像?

在我调用相机的第一个 Activity 中:

protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = this;
init();
}

private void init() {
String extStorageDirectory = Environment.getExternalStorageDirectory()
+ "/testing";

File xmlDirectory = new File(extStorageDirectory);
if (!xmlDirectory.exists())
xmlDirectory.mkdirs();

iv1 = (ImageView) findViewById(R.id.iv1);
}

private OnClickListener onBtnClicked = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case PHOTO:
Intent selectImageIntent = new Intent(first.this,
second.class);
startActivityForResult(selectImageIntent, 1);
break;
}
}
};

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
String result = data.getStringExtra("result");

Log.d("*****************",
"inside onactivityresult in main activity=" + result);

Bitmap bitmap = BitmapFactory.decodeFile(result);
iv1.setImageBitmap(bitmap);
iv1.setScaleType(ScaleType.FIT_XY);
}
}
}

在我的第二个 Activity 中,我正在捕获图像并将其传递给第一个 Activity :

private void init() {
picturePath = Environment.getExternalStorageDirectory() + "/Camera/"
+ "test.jpg";
System.out.println("thumbnail path~~~~~~" + picturePath);
File file = new File(picturePath);
outputFileUri = Uri.fromFile(file);
}


public void startCamera() {
Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, IMAGE_CAPTURE);
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == IMAGE_CAPTURE) {
if (resultCode == RESULT_OK) {
Intent returnIntent = new Intent();
returnIntent.putExtra("result", picturePath);
setResult(RESULT_OK, returnIntent);
finish();
}
}
}

最佳答案

在其他方法中初始化您的对象不是一个好习惯。

init() 方法中删除此行 iv1 = (ImageView) findViewById(R.id.iv1); 并将您的 OnCreate() 更改为 Below Way。

protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Initialize here
iv1 = (ImageView) findViewById(R.id.iv1);

mContext = this;
init();

}

希望对你有帮助。

关于android - 捕获图像并将其存储到新文件夹中的 SD 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com