1

Je crée un écran de profil où il contient une image qui n'est pas choisie dans cet écran d'enregistrement. Comment puis-je charger l'image par défaut pour chaque nouvel enregistrement. Et l'image est toujours la même (stockée dans Drawable), changeant juste le nom en aléatoire.Firebase Stockage avec nom aléatoire

Ce fichier sera stocké dans Firebase Storage et le chemin dans la base de données Firebase.

Je voudrais que certaines idées soient mises en œuvre le mieux possible.

Note: J'ai vu quelques exemples, mais ils parlent tous de capturer la galerie puis de la télécharger. Dans mon cas, l'image est déjà en Drawable avec le nom de imagedefault.jpg

code:

mAuth.createUserWithEmailAndPassword(email,senha).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
    @Override 
    public void onComplete(@NonNull Task<AuthResult> task) { 


     if (task.isSuccessful()){ 

      String user_id = mAuth.getCurrentUser().getUid(); 


      /* Capture image in Drawable */ 
      String imageUri = "drawable://" + R.drawable.imagedefault; 
      StorageReference storageRef = storage.getReference(); 
      StorageReference mountainsRef = storageRef.child(imageUri); 

      /* Created node User */ 
      DatabaseReference current_user_db = mDatabaseUsers.child(user_id); 
      current_user_db.child("name").setValue(edtName); 

      /* Created node Profile User */ 
      DatabaseReference id_user = mDatabaseProfileUser.child(user_id); 
      id_user.child("user_name").setValue(edtUserName); 
      id_user.child("photo").setValue(??????); 


      mProgress.dismiss(); 

      Toast.makeText(RegisterActivity.this, "Thanks register!!", Toast.LENGTH_SHORT).show(); 
      Intent intentPos = new Intent(RegisterActivity.this, MainActivity.class); 
      intentPos.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(intentPos); 

     } else { 

      mProgress.dismiss(); 
      Toast.makeText(RegisterActivity.this, "Error", Toast.LENGTH_LONG).show(); 
     } 

I Tried À CRÉER UN EXEMPLE MAIS IL NE FONCTIONNE PAS !!!

Répondre

0

Vous pouvez télécharger une image vers le stockage cloud de trois manières.

  1. Télécharger des données en mémoire

  2. Upload d'un flux

  3. Upload d'un fichier local

La manière, ce qui est adapté pour vous est de télécharger à partir de données en mémoire. Vous pouvez définir l'image en XML avec drawable. Lorsque vous obtenez l'image avec un nom, ajoutez un nombre aléatoire et envoyez-le au stockage. Vous obtiendrez un URI, stocker cet URI pour une utilisation future.