Home / Android-Entwicklung / Das Android Arsenal – Image Pickers

Das Android Arsenal – Image Pickers

Unsplash Photo Picker ist eine modulare und anpassbare Android-Ansicht, mit der Sie mit nur wenigen Codezeilen schnell auf Unsplash.com nach kostenlosen Fotos in hoher Qualität suchen können.

Basierend auf Unsplash Photo Picker für Android von Unsplash Die Bibliothek bietet mehr Flexibilität, Komfort und Anpassbarkeit als das Original.

Das Original hat nur eine Aktivität für Sie gestartet, auf die Sie keinen Einfluss hatten. Dadurch erhalten Sie eine Ansicht die Sie verwenden können In Ihren Layouts verwenden.

Inhalt

Beschreibung

In dieser Bibliothek können Sie einen voll funktionsfähigen Foto-Picker hinzufügen, mit dem Sie kostenlose Fotos in hoher Qualität von Unsplash.com suchen.

Sie können mehrere (oder einen) auswählen. Bilder und Sie können jedes Bild im Vollbildmodus anzeigen.

Diese Bibliothek kümmert sich auch um die Einhaltung der meisten Unplash technischen API-Richtlinien für Sie, ich bin jedoch nicht verantwortlich oder haftbar Wenn du ihnen nicht folgst, gehst du f.

Weitere Informationen finden Sie im Abschnitt Richtlinien zur Einhaltung der Unsplash-API.

Anforderungen

Installation

Fügen Sie das JitPack-Repository zu Ihrem Stammverzeichnis build.gradle [19459011hinzu] am Ende der Repositories:

 allprojects 

 {
    Repositories {
         .. 
.
        maven {url  ' https://jitpack.io ' 

 }
    }
} 

Fügen Sie die Abhängigkeit in Ihrem App-Modul hinzu build.gradle file:

 dependencies 
 {
    Implementierung  ' com.github.basshelal: UnsplashPhotoPicker: 1.0.1 ' 

} 

Verwendung

⚠️ WICHTIG! ⚠️

️Vor dem Start müssen Sie sich als Entwickler im Unsplash-Entwicklerportal registrieren. Erstellen Sie nach der Registrierung eine neue App, um einen Zugriffsschlüssel und einen geheimen Schlüssel zu erhalten.

Denken Sie daran, dass Sie beide Schlüssel geheim halten müssen.

Initial Konfiguration

Sie müssen UnsplashPhotoPickerConfig.init (...) in der Anwendungsklasse onCreate () mit den erforderlichen Argumenten aufrufen.

 ] class  App :  Application 

 () {
    
     überschreiben  Spaß  onCreate 
 () {
         super 

 .onCreate ()
        
         UnsplashPhotoPickerConfig .  init 
 (
            Anwendung  =  diese 
,
            accessKey  =  " Ihr Zugangsschlüssel " 
,
            secretKey  =  " Ihr geheimer Schlüssel " 
,
            unsplashAppName  =  " Name Ihrer App auf Unsplash " 
,
            isLoggingEnabled  =  false  //  Optional, um die vollständige HTTP-Protokollierung zu aktivieren, standardmäßig false 



        )
    }
} 

XML-Attribute

Alle XML-Attribute beginnen mit photoPicker_ .

Die vollständige Dokumentation finden Sie unter Attributes.md oder in der Klasse UnsplashPhotoPicker .

Alle öffentlichen APIs in dieser Bibliothek sind gut dokumentiert.

Name Format Standardwert
photoPicker_pageSize Ganzzahl 50
photoPicker_spanCount Ganzzahl [19659056
photoPicker_hasSearch boolean true
photoPicker_persistentSearch boolean false
photoPicker_isMultipleSelection boolean false [19659056] photoPicker_placeHolderDrawable drawable null
photoPicker_pickerPhotoSize photoSize small
photoPicker_showPhotoSize photoSize small [1965905659056] "Search Unsplash Photos"
photoPicker_photoByString " string " Photo by "
photoPicker_onString string " on "
photoPicker_clickOpensPhoto b [196590] true 19659058] photoPicker_longClickSelectsPhoto boolean false

PhotoSize-Aufzählung: Daumen, klein, mittel, regelmäßig, groß, voll, roh

Siehe PhotoSize-Aufzählung class

[194553Klick-Listener

Sie können mit onClickPhoto und onLongClickPhoto Klick-Events auf jedem Foto im Picker anhören. Dies sind beide anonyme Funktionen (Lambdas), die das UnsplashPhoto haben ] als ersten Parameter und den angeklickten ImageView als zweiten Parameter.

 unsplashPhotoPicker.  apply 
 {
    onClickPhoto  =  {unsplashPhoto, imageView  - >  this 
 .showPhoto (unsplashPhoto)}
    onLongClickPhoto  =  {unsplashPhoto, imageView  - >  this 
 .selectPhoto (unsplashPhoto)}
} 

Befolgen Sie die Richtlinien für die Aufhebungs-API

⚠️ WICHTIG! ⚠️

Sie müssen die Richtlinien für die Aufhebungs-API in befolgen, wenn Sie die Aufhebungs-API in verwenden Ihre Bewerbung.

Diese Bewerbung kümmert sich um Technische Richtlinien 1-3 für Sie. Ich bin jedoch nicht verantwortlich oder haftbar, wenn Sie diese nicht selbst befolgen.

Nachfolgend die Technischen Richtlinien und wie Diese Bibliothek folgt und implementiert sie.

  1. Alle API-Verwendungen müssen die von der API unter den Eigenschaften photo.urls zurückgegebenen URLs für verknüpfte Bilder verwenden. Dies gilt für alle Verwendungszwecke des Bildes und nicht nur für Suchergebnisse.

Dies wird automatisch mit freundlicher Genehmigung der Originalbibliothek durchgeführt.

  1. Wenn Ihre Anwendung etwas Ähnliches wie ein Download ausführt (z. B. wenn Wenn ein Benutzer das Bild auswählt, um es in einen Blogeintrag aufzunehmen, als Header festzulegen usw.), müssen Sie eine Anforderung an den Download-Endpunkt senden, der unter der Eigenschaft photo.links.download_location zurückgegeben wird.

Wann Wenn Sie mit Ihren Bildern fertig sind, müssen Sie UnsplashPhotoPicker.downloadPhotos aufrufen, um die Download-Anfrage zu senden.

  1. Wenn Sie ein Foto von Unsplash anzeigen, muss Ihre Anwendung Unsplash, den Fotografen von Unsplash, zuweisen und einen Link zurück zu enthalten ihr Unsplash-Profil. Alle Links zurück zu Unsplash sollten utm-Parameter in ? Utm_source = your_app_name & utm_medium = referral verwenden.

Dies geschieht für Sie, da Sie den Namen der Unsplash-App angeben, wenn Sie UnsplashPickerConfig.init (aufrufen. ..) . Dies muss der Name Ihrer App im Unsplash-Entwicklerportal sein.

  1. Der Zugriffsschlüssel und der Geheimschlüssel Ihrer Anwendung müssen vertraulich bleiben. Dies bedeutet, dass sie nicht in den Client aufgenommen oder veröffentlicht werden können. In den meisten Fällen muss dazu die API über Ihren eigenen Endpunkt weitergeleitet werden, um die Anforderung mit Ihren Schlüsseln zu signieren.

Dies liegt bei Ihnen. Ich empfehle Ihnen, eine Keys.kt -Datei mit 2 -Zeichenfolgen const val zu erstellen. Fügen Sie dazu die Datei zum -Zeichen hinzu ] .gitignore -Datei, damit sie nicht in die Versionskontrolle eingecheckt wird. Diese Lösung hat bei mir funktioniert, aber stellen Sie sicher, dass Sie sie selbst testen. Nochmals, ich bin weder verantwortlich noch haftbar, wenn Sie es vermasseln.

Besonderer Dank

Besonderer Dank an Unsplash für die Erstellung eines wunderschönen kostenlosen Dienstes mit einer benutzerfreundlichen API. Im Ernst, ihr seid großartig.

Besonderer Dank noch einmal an Unsplash für den ursprünglichen Code, auf dem diese Bibliothek basiert. Sie haben den Backend-Code, der zur Ausführung von Netzwerkanforderungen verwendet wird, sehr elegant umgesetzt. Diese Bibliothek wäre ohne sie und ohne sie nicht möglich, sie als Open Source zu nutzen und sie mit der MIT-Lizenz zu lizenzieren, die für alle offen und kostenlos ist, so wie diese Bibliothek es auch ist. Vielen Dank dafür.

Lizenz






















 MIT-Lizenz

Copyright (c) 2019 Bassam Helal

Hiermit wird jeder Person, die eine Kopie erhält, kostenlos die Erlaubnis erteilt
dieser Software und der zugehörigen Dokumentationsdateien (die "Software") zu behandeln
in der Software ohne Einschränkung, einschließlich ohne Einschränkung der Rechte
zum Verwenden, Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und / oder Verkaufen
Kopien der Software zu erstellen und Personen zu gestatten, denen die Software gehört
zu diesem Zweck eingerichtet, unter folgenden Bedingungen:

Der obige Copyright-Hinweis und dieser Erlaubnishinweis sind in allen enthalten
Kopien oder wesentliche Teile der Software.

DIE SOFTWARE WIRD "WIE BESEHEN" ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE GEWÄHRLEISTUNG, AUSDRÜCKLICH ODER
STILLSCHWEIGEND, EINSCHLIESSLICH DER GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT,
EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. NIEMALS WIRD DAS
AUTOREN ODER COPYRIGHT-INHABER HAFTEN FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE
HAFTUNG, OB IM RAHMEN EINES VERTRAGS, EINES SCHWERPUNKTS ODER EINES ANDEREN SCHWERPUNKTS,
AUSSERHALB ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN VERHANDLUNGEN IN DER
SOFTWARE.

.

About AndroidWeltEditor

Check Also

New Android App Bundle and target API level requirements in 2021

Posted by Hoi Lam, Developer Relations Engineer, Android Platform In 2021, we are continuing with …

Leave a Reply

Your email address will not be published. Required fields are marked *