2017-04-18 4 views
0

내 상황 : 프로필 추가 페이지에는 회 전자가 있으며 회 전자 내에 사용자가 선택할 수있는 이미지 목록이 있습니다. 사용자가 이미지를 선택하고 '저장'버튼을 클릭하면 해당 이미지를 데이터베이스로 이동하여 다른 액티비티에 추가 할 수 있습니다.이미지를 Firebase에 저장하는 방법은 무엇입니까?

이미지를 데이터베이스에 저장하려는 이유는 사용자가 내 홈 페이지에서 선택한 이미지를 추가하기 때문입니다.

다음과 같이 여러 가지를 시도했습니다. 이미지 대신 회 전자 내부의 문자열을 사용하고 사용자가 특정 문자열을 선택하면 페이지의 이미지보기가 올바른 이미지로 변경됩니다. 하지만 여전히 데이터베이스에 이미지를 가져 오는 문제가 있습니다. 또한 데이터베이스를 우회하여 IF 문장과 의도 등을 포함한 다른 활동에 이미지를 추가하는 작업을했습니다.

내 사용자 정의 회 :

int[] array = getResources().getIntArray(R.array.images_array); 
     String [] objects = new String[array.length]; 
     for(int i = 0; i != array.length; i++){ 
      objects[i] = "" + array[i]; 
     } 

     spinner5.setAdapter(new MyAdapter(AddProfileActivity.this, R.id.spinner5, objects)); 

    } 

다음 내가 사용하려고했습니다 저장 버튼 아래 :이 라인의 String valueOfSelectedPos = spinner5.getSelectedItem().toString(); 내가 해봤 대부분의 변화를 나는 내가 사용하고 알고 여기에 문자열을 추가하여 이미지를 추가하십시오!

그때 가서 사용하여 내 데이터베이스에 추가 :

String id = databaseClients.push().getKey(); 

      Clients clients = new Clients(id, name, career, 
valueOfSelectedPos); 

      databaseClients.child(id).setValue(clients); 

당신은 아마 알 수 있듯이, 나는 완전히 여기 난처한 상황에 빠진거야. 설명이 필요하거나 코드를 더 추가해야하는 경우 게시하게되어 기쁩니다. 도움이 될 것입니다. 미리 감사드립니다!

답변

2

GET 이미지 열린 우리당 당신은 당신이 장치 스토리지에 이미지를 저장해야 할 수도 있습니다 위해이 메소드를 귀하의 답변에 대한

private void uploadImage(Uri uri) { 
      FirebaseStorage storage = FirebaseStorage.getInstance(); 
      StorageReference storageRef = storage.getReference().child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid()); 
      storageRef.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).putFile(uri); 
     } 
+0

감사 전화, 중포 기지에 저장할! 먼저 이미지를 장치에 저장해야합니까? 이 주변에 방법이 있을까요? 다시 한번 감사드립니다. – Joe

+0

가지고있는 이미지 파일의 유형은 무엇입니까? drawable 또는 비트 맵입니까? –

+0

둘 중 하나를 수행 할 수 있습니다. 현재는 드로어 블입니다. 둘 중 하나를 알고 있습니까? 감사합니다 – Joe

관련 문제