Volley Bibliothèque de réseau Android

J'ai quelques questions à propos d'utiliser Volley dans mes projets:

  1. Cette bibliothèque peut-elle être utilisée dans n'importe quel projet Java ou simplement Android?
  2. Je vois plusieurs branches ici et aucune documentation sur laquelle la branche est pour commencer. Quelle branche dois-je utiliser pour commencer?
  3. Comment intégrer cette bibliothèque dans votre propre projet? Quelle approche est meilleure: faire de Volley un projet de bibliothèque autonome, faire tourner un pot et le mettre dans votre projet ou copier tout le code source dans votre projet?

  • Android "Hello, MapView" Tutorial - Map Tiles Ne chargez pas
  • Android - Disposition verticale uniquement
  • Mise à niveau de Gradle sur Android Studio 3.0 Beta 1
  • Android: hauteur de DrawableLeft dans un TextView
  • Supprimer les éléments ListView dans Android
  • Ubuntu: Débit de périphérique Android
  • GoogleAuthException: Inconnu (Android)
  • Comment détecter si le menu déroulant est affiché au-dessus ou au-dessous du spinner dans Android?
  • Mise en œuvre de messagerie Google Cloud en Java à l'aide de MySql
  • Comment faire un dialogue personnalisé avec des coins arrondis dans Android
  • Fichier: /// android_res / drawable ne fonctionne pas lorsque vous utilisez la saveur avec un autre nom de package
  • Id. De package dans Android
  • 19 Solutions collect form web for “Volley Bibliothèque de réseau Android”

    $ git clone https://android.googlesource.com/platform/frameworks/volley $ cd volley $ android update project -p . $ ant jar 

    Ensuite, copiez bin/volley.jar dans votre libs/ folder et vous bin/volley.jar !

    la source

    Dans la leçon Volley , Google instruit soit ajouter Volley à notre projet en tant que projet de bibliothèque Android, soit en tant que fichier .jar .

    Voici comment créer le fichier .jar Volley à l'aide d' Android Studio ou Eclipse :

    REMARQUE:

    Dans les deux cas, je suggère de renommer le fichier .jar à la date de la dernière validation de Volley, c'est-à-dire volley_20150319.jar , pour garder le versionnement simple.


    Android Studio:

    1. Cloner le référentiel Volley via Git.
    2. Importez le projet dans Android Studio. (Je sélectionne généralement le fichier gradle du projet lors de l'importation dans Android Studio)
    3. Construire le projet. (J'ai dû modifier les paramètres de la création de gradle pour refléter les derniers outils de construction et la version de gradle, mais il est généralement à jour).
    4. Dans votre explorateur de fichiers, naviguez jusqu'à [your local path to volley]/build/intermediate/bundles/
    5. Dans les dossiers de debug et de release vous trouverez un fichier JAR appelé classes.jar .
    6. Copiez soit le fichier JAR dans votre libs/ folder.
    7. Synchronisation Gradle, et vous avez terminé.

    Éclipse:

    1. Cloner le référentiel Volley via Git.
    2. Importez le projet en eclipse.
    3. Cliquez avec le bouton droit sur le projet et sélectionnez Exporter …
    4. Sélectionnez le fichier Java / JAR .
    5. Nous ne sommes intéressés que par le dossier src et rien d'autre. Le moyen le plus simple de s'assurer que seul il est sélectionné est de désélectionner le projet, puis de sélectionner le dossier src à l' intérieur.
    6. Cochez l'option Exporter les classes et ressources de classe générés .
    7. OPTIONNEL: Si vous souhaitez que le Javadoc soit visible, sélectionnez également les ressources Exporter les fichiers sources Java .
    8. Créez le fichier JAR et placez-le dans votre libs/ folder.

    1) Est-ce que cette bibliothèque peut également être utilisée comme bibliothèque de réseau dans des projets Java normaux également OU est strictement pour Android uniquement

    C'est pour Android uniquement, car cela dépend des classes spécifiques à Android. Vous pouvez le dire en regardant le code source, pour des questions comme RequestQueue .

    2) Je vois plusieurs branches ici et aucune documentation sur laquelle la branche est pour commencer. Quelle branche dois-je utiliser pour commencer?

    Les instructions de la présentation Google I | O devaient simplement cloner le repo git , qui sortirait par défaut de la branche master .

    3) Comment intégrer cette bibliothèque dans votre propre projet? Quelle approche est meilleure: faire de Volley un projet de bibliothèque autonome et faire tourner un pot et le mettre dans votre projet ou copier tout le code source dans votre projet?

    Les instructions de la présentation Google I | O étaient d'ajouter le code source à votre projet. Personnellement, je trouve que c'est une approche bizarre.

    Vous pouvez télécharger le volley.jar

    Source: AndroidHive

    Copiez Volley.jar vers les Volley.jar

    alors

    Cliquez droit volley.jar -> Ajouter sous bibliothèque

    Entrez la description de l'image ici

    La bibliothèque Volley est maintenant publiée par Android Open Source Project:

     dependencies { compile 'com.android.volley:volley:1.0.0' } 

    MISE À JOUR: Volley est maintenant officiel et est disponible via le JCenter. Voici comment l'importer:

     compile 'com.android.volley:volley:1.0.0' 

    VOIE DÉPRIT:

    Si vous utilisez Gradle, vous pouvez importer Volley à partir d' ici .

     dependencies { compile 'com.mcxiaoke.volley:library:1.0.+' } 

    Remarque

    Il s'agit d'un miroir non officiel (avec un bugfix mineur, voir Changelog pour plus de détails.) Pour la librairie Android , le code source se synchronisera périodiquement avec le référentiel de volley officiel.

    Beaucoup de façons

    Puisqu'il y a plusieurs réponses à propos d'une approche unique, mais aucune qui compare les différentes façons d'améliorer la volée, je mets aussi mes deux cents. Sentez-vous libre d'éditer / améliorer cette réponse.

    Ajoutez-le en tant que bibliothèque – (solution rapide)

    1. Téléchargez-le à partir de: androidhive
    2. Placez-le dans votre [MyProjectPath]/app/libs/ folder
    3. Dans Android Studio, right-click dessus right-click le right-click et sélectionnez Add As Library...

    Fichiers source de git – (une solution plutôt officielle)

    1. Téléchargez / installez le client git (si vous ne l'avez pas encore sur votre système) (othervise via git clone https://github.com/git/git … sry bad one, mais n'a pas pu résister ^^)
    2. Exécuter git clone https://android.googlesource.com/platform/frameworks/volley
    3. Copiez le dossier com partir de [path_where_you_typed_git_clone]/volley/src dans votre dossier projets app/src/main/java (ou intégrez-le à la place, si vous avez déjà un dossier com là !! ;-))

      Les fichiers apparaissent immédiatement dans Android Studio. Pour Eclipse, vous devrez right-click le right-click sur le dossier src et appuyer sur refresh (ou F5 ) d'abord.

      Le faire via git est ce qui est officiellement suggéré dans les didacticiels Android ( regardez ici ).

    Gradle via un miroir "non officiel" (solution dynamique)

    1. Dans le fichier src/build.gradle votre projet, ajoutez la dépendance suivante:

        dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // ... compile 'com.mcxiaoke.volley:library:1.+' } 
    2. Cliquez sur Try Again qui devrait apparaître immédiatement en haut du fichier, ou simplement le Build si non

      Le principal "avantage" ici est que cela tiendra la version à jour pour vous, alors que dans les deux autres cas, vous devriez mettre à jour manuellement la volée.

      Sur le "inconvénient", il ne provient pas officiellement de Google, mais un miroir hebdomadaire tiers.

      Mais ces deux points sont vraiment relatifs à ce dont vous auriez besoin. De plus, si vous ne voulez pas de mises à jour, mettez simplement la version souhaitée à la place, par exemple compile 'com.mcxiaoke.volley:library:1.0.7' .

    Si vous utilisez GIT pour votre propre gestion de code, pourquoi ne pas simplement l'ajouter en tant que sous-module pour projeter …

     git submodule add https://android.googlesource.com/platform/frameworks/volley -b master Volley 

    De cette façon, à mesure que la base de code Volley est mise à jour, il est simple de mettre à jour …

     git submodule git pull 

    Vous pouvez étendre la classe de volley principale dans votre propre projet pour la modification, ce qui vous empêche de faire problème avec le codage de vos modifications chaque fois que le cadre Volley est mis à jour.

    Voici un petit démarrage rapide pour une demande de volley Http, il est extrêmement facile à intégrer.

    • Vous avez besoin d'une application large Volley RequestQueue:

       1. private static RequestQueue reqQueue; 

    Vous pouvez le placer dans votre classe d'application et la rendre statiquement disponible via getRequestQueue ().

    • Ensuite, vous pouvez déjà utiliser la méthode RequestQueue.add () pour exécuter la première requête avec Volley.

       2. reqQueue.add(...) 
    • Utilisez JsonObjectRequest pour rechercher un objet unique, utilisez JsonArrayRequest pour rechercher une liste d'objets.

       queue.add(new JsonArrayRequest(URL, new Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { //SUCCESS }}, new ErrorListener() { @Override public void onErrorResponse(VolleyError error) { //ERROR }})); 
    • N'oubliez pas de définir correctement l'en-tête Http Expires sur votre serveur, afin que Volley puisse utiliser sa fonctionnalité de mise en cache intégrée

    Encore une autre façon avec Android Studio Ang Gradle:

    Vous avez besoin du prochain dans votre build.gradle de votre projet (dans le niveau de votre structure d'application):

     repositories { maven { url 'https://github.com/Goddchen/mvn-repo/raw/master/' } mavenCentral() } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // You must install or update the Support Repository through the SDK manager to use this dependency. compile 'com.android.support:support-v4:20.+' compile 'com.android:volley:1.+' } 

    Premier clone le projet de Git

     $git clone https://android.googlesource.com/platform/frameworks/volley 
    • Import de volley en eclipse.
    • Faites un clic droit sur votre projet-> Propriété-> Android
    • Ajoutez une bibliothèque -> choisissez la volée (si vous ne voyez pas volley là-bas, cliquez sur la librairie de volley, goto et Android et cliquez sur la bibliothèque)
    • Après avoir ajouté volley comme bibliothèque, vous pouvez commencer à l'utiliser dans votre application.

    Une classe de volley de base que vous devriez connaître est

    • RequestQueue
    • JsonArrayRequest
    • JsonObjectRequest

    Pour utiliser la volée d'abord, vous devez créer un objet de RequestQueue

     RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext()); 

    Deuxième -> faire une requête en utilisant JsonArrayRequest ou JsonObjectRequest

     JsonArrayRequest mJsonRequest = new JsonArrayRequest(url, new Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { // here you can parse response and use accordingly } }, new ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // here you will receive errors and show proper message according to error type } }); 

    Et enfin mettre la requête en file d'attente. c'est à dire

     mQueue.add(mJsonRequest); 

    De même, je vous suggère de faire un Singleton de RequestQuery.

    L'ajout d'un pot de volley (ou de n'importe quel jar) à Android Studio 1.0.2 est maintenant beaucoup plus facile. De l'extérieur de Android Studio, copiez volley.jar dans <yourproject>/app/libs (qui devrait déjà exister). Étant donné que la configuration Gradle par défaut inclut cette ligne:

      compile fileTree(dir: 'libs', include: ['*.jar']) 

    … tout est maintenant configuré. Cela peut sembler ne pas l'être car la vue par défaut de la structure du projet (File -> Project Structure) ne montre pas le répertoire libs . Pour le voir, vous devez utiliser le spinner juste au-dessus de la vue Project Structure pour changer Android to Project .

    Vous pouvez constater que cela fonctionne en créant l'application (peut-être pas nécessaire), puis en commençant à taper un code comme celui-ci:

      RequestQueue request 

    Vous verrez que Android Studio vous invite à remplir RequestQueue (com.android.volley) .

    Il est également très facile d'obtenir un debug aar construit si c'est votre préférence.

     git clone https://android.googlesource.com/platform/frameworks/volley 

    Ensuite, créez un nouveau projet de studio Android (juste un projet d'application régulier) dans un répertoire différent. Une fois que cela est terminé, ajoutez un nouveau sous-module (Fichier | Nouveau module). Choisissez l'option Importation d'un projet existant et indiquez le répertoire dans lequel vous avez quitté la volée. Une fois que cela est fait, vous pouvez créer votre module et créer un fichier aar.

    En utilisant eclipse Luna, vous devez:

    • Clone le de GIT.
    • Couper (copier et supprimer) le dossier COM sous le dossier JAVA sous le dossier SRC comme dans le projet Android régulier.
    • Changer la cible project.properties à 15 au lieu de 8.
    • Construire le projet.
    • Exportez le projet en tant que fichier jar incluant la source – utilisez l'outil export.
    • Conservez dans le pot exporté uniquement le dossier COM et le dossier META-INF, supprimez tous les autres dossiers – utilisez un outil zip pour supprimer le contenu du pot.
    • Utilisez ce pot comme votre projet de volley jar.
    • Mettez le pot Volley dans le dossier lib de votre projet Android de destination.

    Si vous utilisez Android Studio que vous devriez faire, mettez cette ligne dans le fichier gradle

     compile 'com.mcxiaoke.volley:library:1.0.15' 

    Si vous souhaitez utiliser la méthode GET, vous devriez avoir quelque chose comme ça.

     private void weatherData() { JsonObjectRequest jsonObjReq = new JsonObjectRequest( Request.Method.GET, "URL with JSON data", new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { //Your code goes here } catch (JSONException e) { Log.e("TAG", e.toString()); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }); // Adding request to request queue AppController.getInstance().addToRequestQueue(jsonObjReq); } 

    Mais si vous souhaitez publier des données dans le serveur, vous devriez construire une bibliothèque HashMap et Volley qui convertit ces valeurs clés / paires en objets JSON avant de les publier dans le serveur. Voici un exemple.

     final HashMap<String, String> postParams = new HashMap<String, String>(); postParams.put("username", username); postParams.put("password", password); Response.Listener<JSONObject> listener; Response.ErrorListener errorListener; final JSONObject jsonObject = new JSONObject(postParams); JsonObjectRequest jsonObjReq = new JsonObjectRequest( "YOUR URL WITH JSON DATA", jsonObject, new com.android.volley.Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d("TAG", response.toString()); try { if (response.getString("status").equals("fail")) { } else if (response.getString("status").equals("success")) { } catch (JSONException e) { Log.e("TAG", e.toString()) } } }, new com.android.volley.Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { //VolleyLog.d("TAG", "Error: " + error.getMessage()); //pDialog.dismiss(); } }) { @Override public String getBodyContentType() { return "application/json; charset=utf-8"; } }; // Adding request to request queue AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj); VolleySingleton.getInstance(getApplicationContext()). addToRequestQueue(jsonObjRequest); } 

    J'ai cloné le projet Volley et ajouté des fichiers de configuration qui permettent de construire la bibliothèque avec Gradle.

    • Clone Gradle Ready de Google Android Volley

    Avec cela, vous pouvez installer la bibliothèque dans votre référentiel Maven local et la faire référence à partir d'un projet Android via Gradle.

    Exigences

    1. Maven
    2. Gradle

    Comment utiliser

    1. Cloner mon dépôt
    2. Créez et installez la bibliothèque Volley
    3. Référencez la bibliothèque dans un projet Android

    Bugfixes

    N'oubliez pas qu'il y a plusieurs clones qui ont des améliorations pour la bibliothèque . Il pourrait être nécessaire de les intégrer et de compiler votre version privée améliorée de la bibliothèque.

    Avantages

    En plus de la bibliothèque elle-même, le script de génération génère JavaDoc et les archives de sources .

    J'ai été confronté à un problème lorsque la bibliothèque de support était listée en deuxième ligne. Réorganiser ces deux déclarations a fonctionné pour moi.

     dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.mcxiaoke.volley:library:1.0.6' compile 'com.android.support:support-v4:20.+' } 

    Volley peut être ajouté comme un sous-module git dans votre compte de projet actuel. Ce sous-module git indiquera le numéro officiel de Volley. Par conséquent, vous pouvez obtenir des mises à jour de la version officielle de git simplement en mettant à jour le pointeur du sous-module.

    De plus, si vous ajoutez Volley en tant que module de bibliothèque dans votre projet principal, vous pouvez facilement le personnaliser. Il sera également utile pour le débogage.

    Pour ce faire, procédez comme suit:

    Étape I:

    Ajouter volley comme sous-module dans le projet d'application Android GIT Repo. Git submodule add -b master https://android.googlesource.com/platform/frameworks/volley Bibliothèques / Volley

    Étape II:

    Dans settings.gradle, ajoutez ce qui suit pour ajouter volley en tant que module de projet de studio. Incluez le projet ': Volley' (': Volley'). ProjectDir = nouveau fichier ('../ Libraries / Volley')

    Étape III:

    Dans app / build.gradle, ajoutez la ligne suivante pour compiler Volley compile project (': Volley')

    Ce serait tout! Volley a été ajouté avec succès dans le projet.

    Chaque fois que vous voulez obtenir le dernier code du règlement officiel de Volley de Google, il suffit d'exécuter la commande ci-dessous

     git submodule foreach git pull 

    Pour plus d'informations: https://gitsubmoduleasandroidtudiomodule.blogspot.in/

    GIT Repo sample code: https://github.com/arpitratan/AndroidGitSubmoduleAsModule

    Pour les lecteurs futurs

    J'aime travailler avec Volley . Pour économiser du temps de développement, j'ai essayé d'écrire la petite bibliothèque pratique Gloxey Netwok Manager pour configurer Volley avec mon projet. Il comprend l' analyseur JSON et différentes autres méthodes qui permettent de vérifier la disponibilité du réseau.

    La bibliothèque fournit ConnectionManager.class dans laquelle différentes méthodes pour les demandes Volley String et Volley JSON sont disponibles. Vous pouvez faire des requêtes de GET, PUT, POST, DELETE avec ou sans en-tête. Vous pouvez lire la documentation complète ici .

    Il suffit de mettre cette ligne dans votre fichier gradle.

    Dépendances {

      compile 'io.gloxey.gnm:network-manager:1.0.1' 

    }

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.