Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在imageView中加载CameraImage时出现问题_Android_Image_Imageview_Loading - Fatal编程技术网

Android 在imageView中加载CameraImage时出现问题

Android 在imageView中加载CameraImage时出现问题,android,image,imageview,loading,Android,Image,Imageview,Loading,当我拍照时,照片会保存在SD上。这非常有效 但是图片不会显示在imageView中。你知道吗 package de.example.Camera; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.net.Uri; import android.os

当我拍照时,照片会保存在SD上。这非常有效

但是图片不会显示在imageView中。你知道吗

package de.example.Camera;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Cam extends Activity {
private Uri fileUri;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.b_cam);


    Button button2 = (Button) findViewById(R.id.photo);
    button2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Start ActivityTwo
            /*
             * Intent intent = new Intent(getApplicationContext(),
             * ActivityTwo.class); intent.putExtra("MyStringValue",
             * editText1.getText().toString()); startActivity(intent);
             */
            try {
                PackageManager packageManager = getPackageManager();
                boolean doesHaveCamera = packageManager
                        .hasSystemFeature(PackageManager.FEATURE_CAMERA);

                if (doesHaveCamera) {
                    // start the image capture Intent
                    Intent intent = new Intent(
                            MediaStore.ACTION_IMAGE_CAPTURE);
                    // Get our fileURI
                    fileUri = getOutputMediaFile();
                    intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
                    startActivityForResult(intent, 100);
                }
            } catch (Exception ex) {
                Toast.makeText(getApplicationContext(),
                        "There was an error with the camera.",
                        Toast.LENGTH_LONG).show();
            }
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode,
                                Intent intent) {
    if (requestCode == 100) {
        if (resultCode == RESULT_OK) {
            if (intent == null) {
                // The picture was taken but not returned
                Toast.makeText(
                        getApplicationContext(),
                        "The picture was taken and is located here: "
                                + fileUri.toString(), Toast.LENGTH_LONG)
                        .show();


            }else {
                // The picture was returned
                Bundle extras = intent.getExtras();
                ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
                imageView1.setImageBitmap((Bitmap) extras.get("data"));
            }
        }
    }
}

private Uri getOutputMediaFile() throws IOException {
    File mediaStorageDir = new File(
            Environment
                    .getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
            "DayTwentyNine");
    // Create a media file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
            .format(new Date());
    File mediaFile;
    mediaFile = new File(mediaStorageDir.getPath() + File.separator
            + "IMG_" + timeStamp + ".jpg");

    if (mediaFile.exists() == false) {
        mediaFile.getParentFile().mkdirs();
        mediaFile.createNewFile();
    }
    return Uri.fromFile(mediaFile);
}

}
在我的清单中有以下内容:

uses-feature android:name="android.hardware.camera" android:required="false" 
uses-permission android:name="android.permission.CAMERA"
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"

在这里,我有这个和平的代码,工作良好的第一个功能打开相机,并采取的照片和第二个地方的图像,你采取了一个图像视图

public void takePictu(View view) {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(intent, CAMERA_REQUEST);
}


protected void onActivityResult(int requestCode, int resultCode, Intent data){
    if(requestCode == CAMERA_REQUEST && resultCode == RESULT_OK){
        photo3 = (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(photo3);
        imageView.buildDrawingCache();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        photo3.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
        byte[] b = baos.toByteArray();

        encodedImage = android.util.Base64.encodeToString(b, android.util.Base64.DEFAULT);
    }
}