2016-06-24 3 views
0

firebase를 사용하는 Android 앱을 개발 중입니다. 앱은 이미지가 들어있는 카드를 보여줍니다 Firebase로 이미지 관리

app UI

처럼 내 애플 보인다. 앱이 오프라인 모드에서 작동 할 때 이미지를 관리하는 방법을 모르겠습니다. 해결 방법을 제안 해 주시겠습니까?

+0

이 몇 가지 코드를 보여, 당신은 무엇을 시도? – Bryan

+0

구현하지 않았습니다. 방금 GUI를 정의했습니다 –

답변

0
  1. 첫째, 모든 이미지를 저장하기 위해 Cloudinary 같은 .setPersistenceEnabled(true);
  2. 사용에게 이미지 관리 클라우드 서버를 사용하여 중포 기지의 오프라인 기능을 사용합니다.
  3. Firebase 데이터베이스에서 이미지로 URL을 String으로 저장하십시오.
  4. Picasso과 같은 이미지 라이브러리를 사용하여 URL에서 이미지를 가져옵니다.

이것은 나를 위해 일하면서 도움이 되었기를 바랍니다.

+0

Android-Universal-Image-Loader를 찾았습니다. Picasso와 Universal-Image-Loader를 고려하고 있습니다. 너는 어떤 이상을 가지고 있니? 서버에서 이미지를 가져 오는 데는 –

+0

을 사용합니다. Picasso로 이동하지만 원하는대로 선택할 수 있습니다. 둘 다 매력적으로 작동합니다. –

0

이미지로드시 Picasso 또는 유사한 라이브러리를 사용하여 표시하고 메모리에 저장하십시오.

이미지를 클라우드에 업로드하고 링크를 가져 오는 경우에만 Firebase를 사용하십시오.

예 업로드 이미지 :

StorageReference storageReference = FirebaseStorage.getInstance().getReference(app.packageName + ".webp"); 
     UploadTask uploadTask = storageReference.putFile(Uri.fromFile(new File(app.icon))); 
     uploadTask.addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception e) { 
       success = false; 
       countDown.countDown(); 
       Log.e(TAG, "", e); 
      } 
     }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
       Log.i(TAG, "onSuccess"); 
       app.setPublicIconPath(taskSnapshot.getDownloadUrl().toString()); 
       ref.child(app.getFirebaseKey()).child("icon").setValue(app.getFirebaseValueDataPart1().getIcon()); 
      } 
     });