Cache-Bilder lokaler, von google, FB Lagerung
Ich bin auf der Suche nach einem Weg, um die cache-Bilder aus dem Speicher auf google-FB-Plattform. Für jetzt kann ich Bilder herunterladen, und zeigen Sie diese an Benutzer, aber ich bin nicht in der Lage cache-dies, und der Zugriff auch ohne internet-Verbindung. Der Zugriff auf die Datenbank offline. Also dachte ich, es wäre eine Möglichkeit für die Lagerung zu. Ich will nicht, um download der einzelnen Bilder zu Speicher, denn dann würde ich brauchen, um zu überprüfen, jedes mal, wenn das Bild noch aktuell ist, kann es geändert werden. Hier sind ein paar links, was ich finden konnte, aber keine Antwort für meine Frage. Vielleicht weiß jemand einen workaround oder eine Möglichkeit, wie man es erreichen. Danke!
Dateien herunterladen:
https://firebase.google.com/docs/storage/android/download-files
Cache (offline -) Datenbank:
https://firebase.google.com/docs/database/android/offline-capabilities
UPDATE 1
Hier ist, wie ich die "cache" - Dateien, die mit picasso, fügte ich Aktivität, die sich der download:
Picasso.with(getApplicationContext())
.load(uri.toString())
.networkPolicy(NetworkPolicy.OFFLINE)
.into(image1);
Jede Hilfe ist willkommen. Danke!
- man könnte die cache-Bilder selbst ? LRU und andere Arten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich befürchte, das FB SDK keine Bild-Cache von selbst. Aber es gibt mehrere große Bibliotheken, die konnte es für Sie tun. Sie Bild herunterladen, zeigen, dass es in einer Bildansicht und cache es in einer einzigen Zeile code. Verlangen Sie einfach die FB für ein Bild-download-url und füttern Sie den Bild-Cache-Bibliothek.
Etwas wie dies, wenn Sie Picasso als caching-Bibliothek:
UPD: Verwendung von disk-caching mit Picasso, müssen Sie explizit die setup-OkHttpDownloader. Schauen Sie hier Wie verwende ich den disk-Cache im Picasso?
W/ExponenentialBackoff: network unavailable, sleeping.
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
setPersistenceEnabled(true)
funktioniert nicht. Wir untersuchen einen integrierten cache zur Aktivierung der offline-Anwendungsfälle (und Verbesserung der Leistung), aber wir haben keine konkrete Pläne noch nicht, so empfehlen wir die Verwendung von Bild laden Bibliotheken, wie Picaso, Gleiten, und SDWebImage (iOS) für diesen Anwendungsfall./data/data/com.example.myapp/cache/picasso-cache
ist die Festplatte Weg, woPicasso
speichert das Bild.Dank @ATom für den Hinweis. Api hat sich geändert, und FirebaseUI 3.0 verwendet jetzt Glide 4.x
Hier wird aktualisiert Beispiel:
Und vergessen Sie nicht, fügen Sie die Abhängigkeit in Ihrer
build.gradle
:Antwort der Quelle auf GitHub
Alte Antwort:
FirebaseUI 1.0 jetzt veröffentlicht. Lagerung Beispiel hat die Klasse FirebaseImageLoader
Ich hatte das gleiche Problem. Versucht alle möglichen Wege, konnte Sie aber nicht beheben. Ich denke, das problem liegt bei den generierten links von FB Speicher. Picasso-in der Regel werden die Bilder geladen. Ich habe versucht, andere cloud-services wie cloudinary, LibPixel deren Ende links mit dem image-format (Eg:.jpg) und picasso speichert diese Verknüpfung von Bildern. Während der Feuerstellung links Ende mit token-Nummern. Seltsame Sache, es scheitert!