Firebase學習手記-Storage

Firebase Storage 官方介紹:

是專爲需要存儲和呈現用戶生成的內容(例如照片或視頻)的應用開發者構建。不管網絡質量如何,Firebase Storage 都可以爲 Firebase 應用提供安全的文件上傳與下載。 開發者可以使用它存儲圖片、音頻、視頻或其他用戶生成的內容。 Firebase Storage 由 Google Cloud Storage 提供支持,後者是一種功能強大、簡單和經濟高效的對象存儲服務。

優酷介紹鏈接:http://v.youku.com/v_show/id_XMTU4Mzk2OTc2NA==.html?from=s1.8-1-1.2

Firebase學習手記-Storage

1、登錄

https://github.com/firebase/quickstart-android clone官方Demo到本機後,在Android Studio裏打開其中的storage項目,把build.gradle中依賴的庫版本改爲本機支持的最新版本,如com.android.support:appcompat-v7:23.0.3修改爲com.android.support:appcompat-v7:24.0.0等,直接編譯會報錯,缺少google-service.json,到Firebase console添加app獲取對應json文件複製到app對應文件夾下,重新編譯通過。

運行代碼到手機,發現點擊Sign in會崩潰,經查看Log,應該是缺少授權登錄的包,在build.gradle添加compile 'com.google.android.gms:play-services-auth:9.2.0',再次編譯運行,依然無法登錄,看Log錯誤信息如下:

07-04 15:59:46.525 386-386/com.google.firebase.quickstart.firebasestorage E/Storage#MainActivity: signInAnonymously:FAILURE

                                                                                                  com.google.firebase.FirebaseNetworkException: A network error (such as timeout, interrupted connection or unreachable host) has occurred.

                                                                                                      at com.google.android.gms.internal.zzafg.zzes(Unknown Source)

                                                                                                      at com.google.android.gms.internal.zzafd$zzg.zza(Unknown Source)

                                                                                                      at com.google.android.gms.internal.zzafo.zzet(Unknown Source)

                                                                                                      at com.google.android.gms.internal.zzafo$zza.onFailure(Unknown Source)

                                                                                                      at com.google.android.gms.internal.zzafj$zza.onTransact(Unknown Source)

                                                                                                      at android.os.Binder.execTransact(Binder.java:446)

07-04 15:59:46.555 386-386/com.google.firebase.quickstart.firebasestorage E/ViewRootImpl: sendUserActionEvent() mView == null

07-04 15:59:55.045 386-1369/com.google.firebase.quickstart.firebasestorage W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.


這裏最關鍵的是signInAnonymously:FAILURE,在Firebase auth中支持6種登錄方式分別是Email/password,google,twitter,facebook,github,Anonymous,在這個demo裏使用的就是最後一種Anonymous方式,而要支持這些登錄的話,需要在Firebase控制檯中設置對應項爲Enable。進入控制檯找到Auth項中的SIGN-IN METHOD項,將Anonymous設置爲enable,save 後重新下載google-service.json(這步很重要,如果沒有更換那麼設置是沒有效果的)複製到app文件夾下。再次編譯運行,登錄成功,j_0026.gif

2、上傳圖片

點擊Upload,用手機拍照後保存圖片返回,自動上傳成功。

3、查看

進入Firebase控制檯點擊Storage項,會看到剛拍攝的照片已經保存在雲端,點擊任意圖片,在右側詳情欄可以看到圖片信息以及保存在Google雲端的位置,下載鏈接等。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章