2017-03-16 3 views
1
funktioniert

Ich versuche, ein Bild zu machen und haben es in Firebase Lagerung geschickt, während das Bild auf dem Image der gleichen Aktivität angezeigt werden müssen. Nachdem ich das Foto aufgenommen habe, passiert jedoch nichts. Stürzt nicht einmal ab. Hilfe.Aufnehmen eines Bildes und auf Firebase Hochladen nicht

public class ServerImage extends AppCompatActivity { 
private Button mUploadBtn; 
private ImageView mImageView; 
private static final int CAMERA_REQUEST_CODE=1; 
private StorageReference mStorage; 
private ProgressDialog mProgress; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_server_image); 

     mStorage=FirebaseStorage.getInstance().getReference(); 
     mUploadBtn =(Button)findViewById(R.id.upload); 
     mImageView=(ImageView)findViewById(R.id.imageViewUpload); 
     mProgress=new ProgressDialog(this); 


     mUploadBtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       startActivityForResult(intent, CAMERA_REQUEST_CODE); 

      } 
     }); 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if(requestCode==CAMERA_REQUEST_CODE&&requestCode==RESULT_OK){ 
     mProgress.setMessage("Uploading..."); 
     mProgress.show(); 
     Uri uri=data.getData(); 

     StorageReference filepath=mStorage.child("Photos").child(uri.getLastPathSegment()); 
     filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
       mProgress.dismiss(); 

       Uri downloadUri=taskSnapshot.getDownloadUrl(); 
       Picasso.with(ServerImage.this).load(downloadUri).fit().centerCrop().into(mImageView); 

       Toast.makeText(ServerImage.this, "Uploaded", Toast.LENGTH_LONG).show(); 
      } 
     }); 
    } 
} 
} 
+0

'if (requestCode == CAMERA_REQUEST_CODE && requestCode == RESULT_OK)' Ihr Zustand ist falsch. Ändern Sie 'requestCode == RESULT_OK' mit' resultCode == RESULT_OK'. – mertsimsek

+0

Änderung if (requestCode == CAMERA_REQUEST_CODE && requestCode == RESULT_OK) zu if (requestCode == CAMERA_REQUEST && Result == Activity.RESULT_OK) –

+0

haben Sie auch Ihren Code debuggen, wenn onActvityResult aufgerufen wird? –

Antwort

0
public void takePicture() { 

    Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(intent, CAMERA_REQUEST_CODE); 
} 

//handling the image chooser activity result 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == CAMERA_REQUEST_CODE&& resultCode == RESULT_OK && data != null) { 

     Bitmap bitmap = (Bitmap) data.getExtras().get("data"); 
    imageView.setImageBitmap(bitmap); } 
private void uploadFile() { 

     //displaying a progress dialog while upload is going on 
     final ProgressDialog progressDialog = new ProgressDialog(this); 
     progressDialog.setTitle("Uploading"); 
     progressDialog.show(); 

     StorageReference storageRef= FirebaseStorage.getInstance().getReference(); 

     StorageReference mountainsRef = storageRef.child("images/pc.jpg"); 

     imageView.setDrawingCacheEnabled(true); 
     imageView.buildDrawingCache(); 
     Bitmap bitmap = imageView.getDrawingCache(); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
     byte[] data = baos.toByteArray(); 

     UploadTask uploadTask = mountainsRef.putBytes(data); 
     uploadTask.addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception exception) { 
       // Handle unsuccessful uploads 
      } 
     }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
       // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL. 
       // Uri downloadUrl = taskSnapshot.getDownloadUrl(); 
       progressDialog.dismiss(); 
      } 
     }); 

}

0

versuchen Speichern von Bild hier

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
      if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) { 
       Bitmap photo = (Bitmap) data.getExtras().get("data"); 


       mImageView.setImageBitmap(photo); 
      } 
      else if (requestCode == PICK_IMAGE_REQUEST && 
      resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { 

       Uri uri = data.getData(); 

       try { 
        Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); 
        mImageView.setImageBitmap(bitmap); 


       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
     } 
+0

sie es in Firebase speichert? – Mozy

+0

Fügen Sie Ihre Firebase-Speicherlogik in die Try-Funktion ein. Unter dem. mImageView.setImageBitmap (Bitmap) ;. Befehl –

Verwandte Themen