Open leandro12almeida opened 5 years ago
estou com problema meu codigo whastapp clone esta dando erro Uri url = taskSnapshot.getDownloadUrl(); salva foto banco faribase nao fixa foto perfil whastapp clone
package br.com.whatsappandroid.android.whatsapp.activity;
import android.Manifest;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageButton;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;
import java.io.ByteArrayOutputStream;
import br.com.whatsappandroid.android.whatsapp.R;
import br.com.whatsappandroid.android.whatsapp.config.ConfiguracaoFirebase;
import br.com.whatsappandroid.android.whatsapp.helper.UsuarioFirebase;
import br.com.whatsappandroid.android.whatsapp.helper.permissao;
import de.hdodenhof.circleimageview.CircleImageView;
public class ConfiguracoesActivity extends AppCompatActivity {
private String[] permissoesNecessarias = new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA }; private ImageButton imageButtonCamera, imageButtonGaleria; private static final int SELECAO_CAMERA = 100; private static final int SELECAO_GALERIA = 200; private CircleImageView circleImageViewPerfil; private StorageReference StorageReference; private String identificadorUsuario; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_configuracoes); //Configuraçoes iniciais StorageReference = ConfiguracaoFirebase.getFirebasesStorage(); identificadorUsuario = UsuarioFirebase.getIdentificadorUsuario(); //Validar permissões permissao.validarPermissoes(permissoesNecessarias, this, 1); imageButtonCamera = findViewById(R.id.imageButtonCamara); imageButtonGaleria = findViewById(R.id.imageButtonGaleria); circleImageViewPerfil = findViewById(R.id.CircleImageViewFotoPerfil); Toolbar toolbar = findViewById(R.id.toolbarPrincipal); toolbar.setTitle("Configurações"); setSupportActionBar( toolbar ); getSupportActionBar().setDisplayHomeAsUpEnabled(true); //Recuperar dados do Usuário FirebaseUser usuario = UsuarioFirebase.getUsuarioAtual(); Uri url = usuario.getPhotoUrl(); if ( url != null ) { Glide.with(ConfiguracoesActivity.this) .load( url) .into(circleImageViewPerfil); }else { circleImageViewPerfil.setImageResource(R.drawable.padrao); } imageButtonCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if ( i.resolveActivity(getPackageManager()) != null ){ startActivityForResult(i, SELECAO_CAMERA ); } } }); imageButtonGaleria.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI ); if ( i.resolveActivity(getPackageManager()) != null ){ startActivityForResult(i, SELECAO_GALERIA ); } } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if ( resultCode == RESULT_OK ){ Bitmap imagem = null; try { switch ( requestCode ){ case SELECAO_CAMERA: imagem = (Bitmap) data.getExtras().get("data"); break; case SELECAO_GALERIA: Uri localImagemSelecionada = data.getData(); imagem = MediaStore.Images.Media.getBitmap(getContentResolver(), localImagemSelecionada ); break; } if ( imagem != null ) { circleImageViewPerfil.setImageBitmap(imagem); //Recuperar dados da imagem para o Firebase ByteArrayOutputStream baos = new ByteArrayOutputStream(); imagem.compress(Bitmap.CompressFormat.JPEG, 70,baos ); byte[] dadosImagem = baos.toByteArray(); //salvar imagem firebase StorageReference imagemRef = StorageReference .child("imagens") .child("perfil") //.child( identificadorUsuario ) .child( identificadorUsuario + ".jpeg"); UploadTask uploadTask = imagemRef.putBytes( dadosImagem ); uploadTask.addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Toast.makeText(ConfiguracoesActivity.this, "Erro ao fazer upload da imagem", Toast.LENGTH_SHORT).show(); } }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { Toast.makeText(ConfiguracoesActivity.this, "Sucesso ao fazer upload da imagem", Toast.LENGTH_SHORT).show(); Uri url = taskSnapshot.getDownloadUrl(); atualizaFotoUsuario(url); } }); } }catch (Exception e){ e.printStackTrace(); } } } public void atualizaFotoUsuario(Uri url){ UsuarioFirebase.atualizarFotoUsuario(url); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); for ( int permissaoResultado : grantResults ){ if ( permissaoResultado == PackageManager.PERMISSION_DENIED ){ alertaValidacaoPermissao(); } } } private void alertaValidacaoPermissao(){ AlertDialog.Builder builder = new AlertDialog.Builder( this ); builder.setTitle("Permissões Negadas"); builder.setMessage("Para utilizar o app é necessário aceitar as permissões"); builder.setCancelable(false); builder.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }); AlertDialog dialog = builder.create(); dialog.show(); }
}
estou com problema meu codigo whastapp clone esta dando erro Uri url = taskSnapshot.getDownloadUrl(); salva foto banco faribase nao fixa foto perfil whastapp clone
package br.com.whatsappandroid.android.whatsapp.activity;
import android.Manifest;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.ImageButton;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;
import java.io.ByteArrayOutputStream;
import br.com.whatsappandroid.android.whatsapp.R;
import br.com.whatsappandroid.android.whatsapp.config.ConfiguracaoFirebase;
import br.com.whatsappandroid.android.whatsapp.helper.UsuarioFirebase;
import br.com.whatsappandroid.android.whatsapp.helper.permissao;
import de.hdodenhof.circleimageview.CircleImageView;
public class ConfiguracoesActivity extends AppCompatActivity {
}