1

我正在創建一個配置文件屏幕,其中包含未在此註冊屏幕中選擇的圖像。 如何爲每個新記錄加載默認圖像。圖像總是相同的(存儲在Drawable中),只需將名稱更改爲隨機。隨機名稱的Firebase存儲

此文件將存儲在Firebase存儲中以及Firebase數據庫中的路徑中。

我想盡可能實現一些想法。

注:我已經看過一些例子,但他們都談論捕獲畫廊,然後上傳它。在我的情況下,圖像已經在可繪製與imagedefault.jpg名

代碼:

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(); 
     } 

我試圖創建一個例子,但它不工作!

回答

0

您可以通過三種方式將圖像上傳到雲存儲。

  1. 從內存中的數據上傳流從本地文件

的方式,這是適合你從數據上傳

  • 上傳

  • 上傳在記憶中。您可以用可繪製的XML設置圖像。當您獲取具有某個名稱的圖像時,附加一個隨機數並將其發送到存儲。您將獲得一個URI,存儲該URI以供將來使用。