Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╛рдпрд░рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╛рдпрд░рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдлрд╛рдпрд░рдмреЗрд╕ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗ рдПрдХ рдЫрд╡рд┐ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ ред


Firebase


Firebase рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдФрд░ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ, рдЬреЛ 2011 рдореЗрдВ Firebase рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ 2014 рдореЗрдВ Google рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдХреНрдЯреВрдмрд░ 2018 рддрдХ, рдлрд╛рдпрд░рдмреЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ 18 рдЙрддреНрдкрд╛рдж рд╣реИрдВ рдЬреЛ 1.5 рдорд┐рд▓рд┐рдпрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЕрдзрд┐рдХ рдкреИрд╕рд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред


рдлрд┐рд╕рд▓рди


Glide, Bump Tech рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ Google рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд Android рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЪрд┐рддреНрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдпрд╣ рдХрдИ Google рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Google I / O 2014 рдРрдк рд╢рд╛рдорд┐рд▓ рд╣реИред рдЧреНрд▓рд╛рдЗрдб рдбрд╛рдЙрдирд▓реЛрдб, рдбреАрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдЫрд╡рд┐рдпреЛрдВ, рд╡реАрдбрд┐рдпреЛ рдФрд░ рдПрдирд┐рдореЗрдЯреЗрдб GIF рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред


рдлрд╛рдпрд░рдмреЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдЖрдЗрдП рд╣рдо рдЕрдкрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдлрд╛рдпрд░рдмреЗрд╕ рд╕реЗрдЯ рдХрд░реЗрдВред


  • Firebase.google.com рдЦреЛрд▓реЗрдВред


  • "рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░реЗрдВ " рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ред


  • рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред


  • рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рдирд╛рдо рджреЗрдВред



рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо


  • рдиреАрдЪреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред


  • Android рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред



рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг


  • рдЖрдкрдХреЛ тАЬAdd Firebase to Your Android AppтАЭ рдирд╛рдо рд╕реЗ рдПрдХ рдкреЗрдЬ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред

рдЕрдкрдиреЗ Android рдРрдк рдореЗрдВ Firebase рдЬреЛрдбрд╝реЗрдВ


  • рдЕрдкрдиреЗ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреИрдХреЗрдЬ рдирд╛рдо рдЬреЛрдбрд╝реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП тЖТ com.example.retrieving_images_from_firebase ред


  • SHA1 рдХреБрдВрдЬреА рдЬреЛрдбрд╝реЗрдВ рдФрд░ "рдЖрд╡реЗрджрди рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВ " рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред


  • рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдбрд╛рдЙрдирд▓реЛрдб google-services.json" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред


  • рдлрд┐рд░ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдРрдк рдлреЛрд▓реНрдбрд░ рдореЗрдВ google-services.json рдЬреЛрдбрд╝реЗрдВред



рдЧреВрдЧрд▓-services.json


  • рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╕реНрддрд░реАрдп рдЧреНрд░реЗрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдирд┐рд░реНрднрд░рддрд╛ рдмреНрд▓реЙрдХ рдХреЗ рдЕрдВрджрд░ рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЬреЛрдбрд╝реЗрдВ:

 classpath "com.google.gms:google-services:3.0.0" 

рддреЛ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:


рдирд┐рд░реНрднрд░рддрд╛


  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрддрд░ рдЧреНрд░реЗрдб рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝реЗрдВ:

 androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' implementation 'com.squareup.picasso:picasso:2.71828' testImplementation 'junit:junit:4.12' implementation 'com.github.bumptech.glide:glide:4.7.1' compile 'com.android.support.constraint:constraint-layout:1.1.3' compile 'com.google.firebase:firebase-database:11.0.2' compile 'com.google.firebase:firebase-storage:11.0.2' compile 'com.google.firebase:firebase-auth:11.0.2' compile 'com.firebaseui:firebase-ui-database:2.1.0' 

рддреЛ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:


рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ


  • рдЕрдм buildTypes рдмреНрд▓реЙрдХ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ:

 packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE-FIREBASE.txt' exclude 'META-INF/NOTICE' } 

рддреЛ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:


packagingOptions


  • Firebase.google.com рдЦреЛрд▓реЗрдВ, рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЪреБрдиреЗрдВред

рдЕрдм рдбреЗрдЯрд╛рдмреЗрд╕ тЖТ рдирд┐рдпрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:


 service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write; } } } 

рднрдВрдбрд╛рд░рдг тЖТ рдирд┐рдпрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВ:


 service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } } 

  • рдЕрдм Storage тЖТ Files рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред "рдЕрдкрд▓реЛрдб рдлрд╝рд╛рдЗрд▓" рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ


  • рдХрд┐рд╕реА рднреА рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдлрд┐рд░ рд╕рдмрд╕реЗ рдиреАрдЪреЗ рджрд╛рдИрдВ рдУрд░ рдЖрдкрдХреЛ Download URL1 рдорд┐рд▓реЗрдЧрд╛ред рдЗрд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВред

URL1 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ


Activity_main.xml


рдПрдХ рдЫрд╡рд┐ рджреГрд╢реНрдп рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдЫрд╡рд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред


 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RETRIEVE FROM FIREBASE" android:gravity="center" android:textSize="30dp" android:textColor="#000000"/> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/image"/> </LinearLayout> 

MainActivity.java


 package com.example.retrieving_images_from_firebase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ImageView; import com.bumptech.glide.Glide; public class MainActivity extends AppCompatActivity { ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView=findViewById(R.id.image); // URL ,     String url="https://firebasestorage.googleapis.com/v0/b/retrieve-images-958e5.appspot.com/o/9.PNG?alt=media&token=6bd05383-0070-4c26-99cb-dcb17a23f7eb"; Glide.with(getApplicationContext()).load(url).into(imageView); } } 

рдмрдзрд╛рдИ! рдЕрдм рдЖрдк рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдиреА рдЫрд╡рд┐ рджреЗрдЦреЗрдВрдЧреЗред


рдЫрд╡рд┐


рдЖрдк GitHub рдкрд░ рд╣рдорд╛рд░реЗ рднрдВрдбрд╛рд░ рд╕реЗ рд╕рднреА рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi452318/


All Articles