Подтвердить что ты не робот

Волейбольная сеть для Android

У меня есть несколько вопросов вокруг использования Volley в моих проектах:

  • Может ли эта библиотека использоваться в любом Java-проекте или Android?
  • Я вижу несколько ветвей здесь и никакой документации о том, с какой веткой следует начинать. Какую ветку я должен использовать для начала?
  • Как вы интегрируете эту библиотеку в свой собственный проект? Какой подход лучше: Сделайте Volley в качестве самостоятельного проекта библиотеки и разверните банку, поместите ее в свой проект или скопируйте весь исходный код внутри вашего проекта?
4b9b3361

Ответ 1

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

Затем скопируйте bin/volley.jar в свою папку libs/ и отпустите!

источник

Ответ 2

В уроке волейбола Google инструктирует как добавить Volley к нашему проекту в качестве проекта библиотеки Android, либо как файл .jar.

Здесь, как создать файл Volley .jar с помощью Android Studio или Eclipse:

Примечание:

В обоих случаях я предлагаю переименовать файл .jar в дату последнего фиксации Volley, т.е. volley_20150319.jar, чтобы упростить управление версиями.


Android Studio:

  • Клонировать репозиторий Volley через Git.
  • Импортировать проект в Android Studio. (Обычно я выбираю файл проекта gradle при импорте в Android Studio)
  • Создайте проект. (Мне пришлось изменить настройки сборки gradle, чтобы отразить последние инструменты сборки и версию gradle, но это обычно актуально).
  • В проводнике файлов перейдите к [your local path to volley]/build/intermediate/bundles/
  • В папках debug и release вы найдете файл JAR с именем classes.jar.
  • Скопируйте файл JAR в папку libs/.
  • Gradle синхронизация, и все готово.

Eclipse:

  • Клонировать репозиторий Volley через Git.
  • Импортировать проект в eclipse.
  • Щелкните правой кнопкой мыши проект и выберите Экспорт...
  • Выберите файл Java/JAR.
  • Мы заинтересованы только в папке src и ничего больше. Самый простой способ убедиться, что только он выбран, - это отменить выбор проекта, а затем выбрать папку src внутри.
  • Установите флажок Экспорт файлов и ресурсов классов.
  • ДОПОЛНИТЕЛЬНО: Если вы хотите, чтобы Javadoc был видимым, выберите Экспорт исходных файлов Java ресурсов.
  • Создайте JAR файл и поместите его в папку libs/.

Ответ 3

1) Является ли эта библиотека также может использоваться как сетевая библиотека в обычных Java-проектах, а также строго для Android Only

Это только для Android, так как это зависит от классов, специфичных для Android. Вы можете сказать это, посмотрев исходный код, для материала как RequestQueue.

2) Я вижу здесь несколько ветвей и нет документации, с которой начинается ветка. Какую ветку я должен использовать для начала?

Инструкции из презентации Google я | O должны были просто клонировать репо git, которое по умолчанию удалялось из ветки master.

3) Как интегрировать эту библиотеку в свой собственный проект? Какой подход лучше: Сделайте Volley в качестве самостоятельного проекта библиотеки и запустите банку, поместите ее в свой проект или скопируйте весь исходный код внутри своего проекта?

Инструкции из презентации Google я | O должны были добавить исходный код в ваш проект. Лично я считаю, что это причудливый подход.

Ответ 4

вы можете загрузить volley.jar

Источник: AndroidHive

скопируйте Volley.jar в libs

Тогда

Щелкните правой кнопкой мыши Volley.jar -> Добавить как библиотеку

enter image description here

Ответ 5

Библиотека Volley теперь опубликована в Android Open Source Project:

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

Ответ 6

UPDATE: Volley теперь официально и доступен через JCenter. Здесь, как импортировать его:

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

ДЕПРИЦИРОВАННЫЙ ПУТЬ:

Если вы используете Gradle, вы можете импортировать Volley из здесь.

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

Примечание

Это неофициальное зеркало (с некоторыми незначительными исправлениями, см. Changelog для деталей.) для библиотека андроидных волейболистов, исходный код будет периодически синхронизироваться с официальным репозиторием волейбола.

Ответ 7

Множество способов

Поскольку есть много ответов об одном подходе, но ни один из них не сравнивает различные способы запуска и запуска волейбола, я также добавляю свои два цента. Не стесняйтесь редактировать и улучшать этот ответ.

Добавьте его в библиотеку - (быстрое решение)

  • Загрузите его: androidhive
  • Поместите его в папку [MyProjectPath]/app/libs/
  • В Android Studio right-click на нем и выберите Add As Library...

Исходные файлы из git - (довольно официальное решение)

  • Загрузите/установите git клиент (если у вас его еще нет) (othervise через git clone https://github.com/git/git... sry bad one, но не смог устоять ^^)
  • Выполнить git clone https://android.googlesource.com/platform/frameworks/volley
  • Скопируйте папку com из [path_where_you_typed_git_clone]/volley/src в свои проекты app/src/main/java (или интегрируйте ее вместо этого, если у вас уже есть папка com!!; -))

    Файлы сразу появляются в Android Studio. Для Eclipse вам нужно right-click в папке src и сначала нажать refresh (или F5).

    Выполнение этого с помощью git - это то, что официально предлагается в обучающих программах для Android (здесь).

Gradle через "неофициальное" зеркало - (динамическое решение)

  • В файле проекта src/build.gradle добавьте следующую зависимость зала:

        dependencies {
            compile fileTree(dir: 'libs', include: ['*.jar'])
            // ...
    
            compile 'com.mcxiaoke.volley:library:1.+'
        }
    
  • Нажмите Try Again, который должен сразу появиться в верхней части файла, или просто Build, если не

    Основным "преимуществом" здесь является то, что это позволит обновить версию для вас, тогда как в двух других случаях вам придется вручную обновлять залп.

    В "нижней части" это официально не из Google, а в стороннее еженедельное зеркало.

    Но оба эти пункта действительно соответствуют тому, что вам нужно/нужно. Также, если вы не хотите обновлений, просто поместите туда желаемую версию, например, например. compile 'com.mcxiaoke.volley:library:1.0.7'.

Ответ 8

Если вы используете GIT для своего собственного управления кодом, почему бы просто не добавить его в качестве подмодуля для проекта...

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

Таким образом, по мере обновления базы кода Volley, ее просто обновить...

git submodule git pull

Вы можете расширить основной класс Volley в своем собственном проекте для модификации, из-за чего вам не придется путать с кодированием ваших изменений каждый раз, когда обновляется инфраструктура Volley.

Ответ 9

Вот небольшой Quickstart для запроса Volley Http, его очень легко интегрировать.

  • Вам необходимо широко использовать приложение Volley RequestQueue:

    1. private static RequestQueue reqQueue;
    

Вы можете поместить его в свой класс Application и сделать его статически доступным через getRequestQueue().

  • Тогда вы уже можете использовать метод RequestQueue.add() для выполнения первого запроса с помощью Volley.

    2. reqQueue.add(...)
    
  • Используйте JsonObjectRequest для запроса для одного объекта, используйте JsonArrayRequest для запроса списка объектов.

    queue.add(new JsonArrayRequest(URL, new Listener<JSONArray>() {
    
        @Override
        public void onResponse(JSONArray response) {
            //SUCCESS
        }}, new ErrorListener() {
    
        @Override
        public void onErrorResponse(VolleyError error) {
            //ERROR
        }}));
    
  • Не забудьте правильно установить заголовок Http Expires на серверной стороне, чтобы Volley мог использовать встроенную функцию кэширования

Ответ 10

Здесь другой способ с Android Studio ang Gradle:

Вам нужно следующее в вашем build.gradle вашего проекта (на уровне вашей структуры приложения):

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.+'
}

Ответ 11

Сначала выполните клонирование проекта с Git

$git clone https://android.googlesource.com/platform/frameworks/volley
  • импортировать залп в затмение.
  • Щелкните правой кнопкой мыши свой проект- > Свойство- > андроид
  • Добавить библиотеку- > выбрать волейбол (если вы не видите волейбол там, rigth щелкните по библиотеке волейбола, goto собственности и Android и щелкните библиотеку)
  • После добавления волейбола в библиотеку вы можете начать использовать его в своем приложении.

Какой-то базовый класс залпа, который вы должны знать,

  • RequestQueue
  • JsonArrayRequest
  • JsonObjectRequest

Чтобы сначала использовать залп, вам нужно создать объект RequestQueue

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

Второй → сделать запрос, используя либо JsonArrayRequest, либо 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

                }
            });

и, наконец, поставить запрос в очередь. т.е.

mQueue.add(mJsonRequest);

Также я предлагаю вам создать Singleton RequestQuery.

Ответ 12

Добавление баннера Volley (или любой jar) в Android Studio 1.0.2 теперь значительно проще. Извне Android Studio скопируйте volley.jar в <yourproject>/app/libs (который уже должен существовать). Поскольку настройка по умолчанию Gradle включает эту строку:

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

... теперь все настроено. Возможно, это не так, потому что представление Project Structure по умолчанию (File -> Project Structure) не отображает каталог libs. Чтобы увидеть это, вам нужно использовать spinner чуть выше структуры структуры проекта, чтобы изменить Android на Project.

Вы можете видеть, что он работает, создавая приложение (может и не понадобиться), а затем начинает вводить код следующим образом:

 RequestQueue request

Вы увидите, что Android Studio предложит вам завершить RequestQueue (com.android.volley).

Ответ 13

Кроме того, довольно легко получить отладочную версию aar, если это ваше предпочтение.

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

Затем создайте новый проект студии Android (просто обычный проект приложения) в другом каталоге. После этого добавьте новый подмодуль (File | New Module). Выберите вариант импорта существующего проекта и укажите его в каталог, в котором вы проверили залп. После этого вы сможете создать свой модуль и создать файл aar.

Ответ 14

Используя eclipse Luna, вы должны:

  • клонировать его из GIT.
  • вырезать (скопировать и удалить) папку COM под папкой JAVA под папкой SRC, как в обычном проекте Android.
  • измените цель project.properties на 15 вместо 8.
  • создать проект.
  • экспортировать проект как файл jar, включая источник - использовать инструмент экспорта.
  • сохранить в экспортированной банке только папку COM и папку META-INF, удалить все остальные папки - использовать zip-инструмент для удаления содержимого банки.
  • используйте эту банку в качестве своего проекта "Волейбол".
  • поставьте банку Volley в папку lib вашего целевого проекта Android.

Ответ 15

Если вы используете Android Studio, которую вы должны поместить эту строку в файл gradle

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

Если вы хотите использовать метод GET, вы должны иметь что-то подобное.

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);
}

Но если вы хотите опубликовать данные на сервере, то вы должны создать библиотеку HashMap и Volley, которая преобразует эти значения ключа/пары в объекты JSON, прежде чем отправлять их на сервер. Вот пример.

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);
 }

Ответ 16

Я клонировал проект Volley и добавил файлы конфигурации, которые позволяют создать библиотеку с Gradle.

С помощью этого вы можете установить библиотеку в свой локальный репозиторий Maven и ссылаться на нее из проекта Android через Gradle.

Требования

  • Maven
  • Gradle

Как использовать

  • Clone мой репозиторий
  • Создайте и установите библиотеку Volley.
  • Ссылка на библиотеку в проекте Android

Bugfixes

Пожалуйста, имейте в виду, что существуют различные клоны, которые имеют улучшения для библиотеки. Может потребоваться их интеграция и компиляция вашей частной расширенной версии библиотеки.

Преимущества

В дополнение к самой библиотеке сборка script создает JavaDoc и источники архивов.

Ответ 17

У меня возникла проблема, когда библиотека поддержки была указана во второй строке. Переупорядочение этих двух утверждений сработало для меня.

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

Ответ 18

Volley может быть добавлен как подмодуль git в вашем текущем репо-проекте. Этот подмодуль git будет указывать на официальное репо 2 w20 > Volley. Следовательно, вы можете получать обновления из официального репозитория git, просто обновляя подмодуль указатель.

Далее, если вы добавите Volley в качестве модуля библиотеки в своей основной проекта вы можете легко настроить его. Это очень полезно для отладки цели.

Для этого выполните следующие шаги:

Шаг I:

Добавьте волейбол в качестве субмодуля в проект приложения Android git Repo. git subodule add -b master https://android.googlesource.com/platform/frameworks/volley Библиотеки/Волейбол

Шаг II:

В settings.gradle добавьте следующее, чтобы добавить залп в качестве студийного модуля проекта. включить ': Volley' project (': Volley'). projectDir = новый файл ('../Libraries/Volley')

Шаг III:

В app/build.gradle добавьте следующую строку для компиляции Volley  компилировать проект (': Volley')

Вот и все! Волейбол был успешно добавлен в проект.

Каждый раз, когда вы хотите получить последний код от официального пользователя Google Volley repo, просто запустите команду ниже

git submodule foreach git pull

Для получения более подробной информации: https://gitsubmoduleasandroidtudiomodule.blogspot.in/

GIT Пример кода репо: https://github.com/arpitratan/AndroidGitSubmoduleAsModule

Ответ 19

Для будущих читателей

Мне нравится работать с Volley. Чтобы сохранить время разработки, я попытался написать небольшую удобную библиотеку Gloxey Netwok Manager, чтобы настроить Volley с моим проектом. Он включает в себя синтаксический анализатор JSON и другие методы, которые помогают проверять доступность сети.

Библиотека предоставляет ConnectionManager.class, в которой доступны различные методы для запросов Волейбол и Volley JSON. Вы можете делать запросы GET, PUT, POST, DELETE с заголовком или без него. Вы можете прочитать полную документацию здесь.

Просто поместите эту строку в свой gradle файл.

зависимости {

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

}