121

私のプロジェクトで Volley を使用することについていくつか質問があります。

  1. このライブラリは、任意の Java プロジェクトまたは Android だけで使用できますか?
  2. ここには複数のブランチがあり、どのブランチから開始するかについてのドキュメントはありません。どのブランチを使用して開始する必要がありますか?
  3. このライブラリを自分のプロジェクトにどのように統合しますか? Volley をスタンドアロン ライブラリ プロジェクトとして作成し、jar をスピンしてプロジェクトに配置するか、プロジェクト内のすべてのソース コードをコピーするのがよいでしょうか?
4

19 に答える 19

73

Volley のレッスンでは、Googleは、Volley を Android ライブラリ プロジェクトまたは.jarファイルとしてプロジェクトに追加するように指示します。

Android StudioまたはEclipseを使用して Volley.jarファイルを作成する方法は次のとおりです。

ノート:

.jarどちらの場合も、ファイルの名前を Volley の最新のコミットの日付に変更することをお勧めします。つまりvolley_20150319.jar、バージョン管理をシンプルに保つためです。


Android スタジオ:

  1. Git 経由で Volley リポジトリのクローンを作成します。
  2. プロジェクトを Android Studio にインポートします。(私は通常、Android Studio にインポートするときにプロジェクトの gradle ファイルを選択します)
  3. プロジェクトをビルドします。(最新のビルド ツールと gradle バージョンを反映するように gradle ビルド設定を変更する必要がありましたが、通常は最新です)。
  4. ファイル エクスプローラーで、次の場所に移動します。[your local path to volley]/build/intermediate/bundles/
  5. debugフォルダとフォルダの両方に、releaseという名前の JAR ファイルがありますclasses.jar
  6. いずれかの JAR ファイルをlibs/フォルダーにコピーします。
  7. Gradle の同期が完了しました。

日食:

  1. Git 経由で Volley リポジトリのクローンを作成します。
  2. プロジェクトをEclipseにインポートします。
  3. プロジェクトを右クリックし、[エクスポート... ] を選択します。
  4. Java/JAR ファイルを選択します。
  5. srcフォルダーのみに関心があり、他には何も関心がありません。それのみが選択されていることを確認する最も簡単な方法は、プロジェクトの選択を解除してから、その中のsrcフォルダーを選択することです。
  6. [生成されたクラス ファイルとリソースをエクスポートする] オプションをオンにします。
  7. オプション: Javadoc を表示する場合は、[ Java ソース ファイルのエクスポート] リソースも選択します。
  8. JAR ファイルを作成し、libs/フォルダーに配置します。
于 2013-07-28T10:39:11.170 に答える
41

volley.jarをダウンロードできます

ソース: AndroidHive

Volley.jarライブラリにコピーします

それで

volley.jar ->ライブラリとして追加を右クリック

ここに画像の説明を入力

于 2014-10-03T19:25:28.560 に答える
11

独自のコード管理に GIT を使用している場合は、単純にサブモジュールとしてプロジェクトに追加してみませんか...

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

そうすれば、Volley コード ベースが更新されるたびに、簡単に更新できます...

git submodule git pull

独自のプロジェクトでメインの Volley クラスを拡張して変更することができます。これにより、Volley フレームワークが更新されるたびに変更をコーディングする必要がなくなります。

于 2013-07-24T15:24:28.163 に答える
8

Volley Http Request の簡単なクイックスタートを次に示します。統合は非常に簡単です。

  • アプリケーション全体の 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
        }}));
    
  • Volleyが統合されたキャッシュ機能を利用できるように、サーバー側でHttp Expiresヘッダーを正しく設定することを忘れないでください

于 2013-05-28T11:10:12.250 に答える
2

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.+'
}
于 2014-07-22T16:03:00.737 に答える
1

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);
 }
于 2015-08-12T14:25:33.753 に答える
1

日食ルナを使用すると、次のことを行う必要があります。

  • GITからクローンします。
  • 通常の Android プロジェクトと同様に、JAVA フォルダーの下のフォルダー COM を SRC フォルダーの下にカット (コピー & 削除) します。
  • project.properties ターゲットを 8 ではなく 15 に変更します。
  • プロジェクトをビルドします。
  • プロジェクトをソースを含む jar ファイルとしてエクスポートします - エクスポート ツールを使用します。
  • エクスポートされた jar に COM フォルダーと META-INF フォルダーのみを保持し、他のすべてのフォルダーを削除します - zip ツールを使用して jar のコンテンツを削除します。
  • この jar を Volley jar プロジェクトとして使用します。
  • Volley jar を目的の Android プロジェクトの lib フォルダーに配置します。
于 2015-02-26T20:16:36.397 に答える
0

サポート ライブラリが 2 行目にリストされているときに問題が発生しました。これら2つのステートメントを並べ替えるとうまくいきました。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.mcxiaoke.volley:library:1.0.6'
    compile 'com.android.support:support-v4:20.+'
}
于 2014-09-11T17:28:58.460 に答える
0

Volley は、現在のプロジェクト リポジトリに git サブモジュールとして追加できます。この git サブモジュールは、Volley の公式 git リポジトリを指します。したがって、サブモジュール ポインターを更新するだけで、公式の git リポジトリから更新を取得できます。

さらに、Volley をライブラリ モジュールとしてメイン プロジェクトに追加すると、簡単にカスタマイズできます。デバッグ目的にも非常に役立ちます。

これを達成するには、以下の手順に従います。

ステップ I :

Android アプリケーション プロジェクトの GIT Repo にサブモジュールとして volley を追加します。git submodule add -b master https://android.googlesource.com/platform/frameworks/volley Libraries/Volley

ステップ II :

settings.gradle に、volley をスタジオ プロジェクト モジュールとして追加するには、以下を追加します。include ':Volley' project(':Volley').projectDir=new File('../Libraries/Volley')

ステップ III :

app/build.gradle に次の行を追加して Volley compile project(':Volley') をコンパイルします。

それだけです!Volley がプロジェクトに正常に追加されました。

Google 公式 Volley のリポジトリから最新のコードを取得するたびに、以下のコマンドを実行するだけです

git submodule foreach git pull

より詳細な情報: https://gitsubmoduleasandroidtudiomodule.blogspot.in/

GIT リポジトリのサンプル コード: https://github.com/arpitratan/AndroidGitSubmoduleAsModule

于 2016-07-09T09:54:16.680 に答える
0

Volley プロジェクトのクローンを作成し、Gradle でライブラリを構築できる構成ファイルを追加しました。

これにより、ライブラリをローカルの Maven リポジトリにインストールし、Gradle を介して Android プロジェクトから参照できます。

要件

  1. メイヴン
  2. グラドル

使い方

  1. 私のリポジトリを複製する
  2. Volley ライブラリをビルドしてインストールする
  3. Android プロジェクトでライブラリを参照する

バグの修正

ライブラリが改善されたさまざまなクローンが存在することに注意してください。それらを統合して、ライブラリのプライベート拡張バージョンをコンパイルする必要がある場合があります。

利点

ライブラリ自体に加えて、ビルド スクリプトはJavaDocソース アーカイブを生成します。

于 2014-04-03T13:12:30.617 に答える