私のプロジェクトでVolleyを使用することについていくつか質問があります。
私のプロジェクトでVolleyを使用することについていくつか質問があります。
回答:
$ git clone https://android.googlesource.com/platform/frameworks/volley
$ cd volley
$ android update project -p .
$ ant jar
次に、bin/volley.jar
あなたのlibs/
フォルダーにコピーして、あなたは出かけます!
でバレーボールの授業は、Googleは、Androidライブラリプロジェクトとして、またはとして私たちのプロジェクトにバレーボールを追加するいずれかのように指示し.jar
たファイル。
Android StudioまたはEclipse.jar
を使用してVolley ファイルを作成する方法は次のとおりです。
注意:
どちらの場合でも、.jar
ファイルの名前をVolleyの最新のコミットの日付に変更することをお勧めしますvolley_20150319.jar
。つまり、バージョン管理を単純に保つためです。
[your local path to volley]/build/intermediate/bundles/
debug
およびrelease
フォルダーの両方に、というJARファイルがありますclasses.jar
。libs/
フォルダーにコピーします。libs/
フォルダーに配置します。1)このライブラリは、通常のJavaプロジェクトのネットワークライブラリとしても使用できますか、それとも厳密にはAndroid専用です
Android固有のクラスに依存するため、Android専用です。あなたはもののため、ソースコードを見て、これを伝えることができますようにRequestQueue
。
2)ここに複数のブランチがあり、どのブランチから開始するかに関するドキュメントがありません。最初に使用するブランチはどれですか?
Google I | Oプレゼンテーションからの指示は、デフォルトでブランチgit
からプルするリポジトリを複製することmaster
でした。
3)このライブラリを自分のプロジェクトに統合する方法は?どの方法が良いですか:Volleyをスタンドアロンライブラリプロジェクトとして作成し、jarをスピンしてプロジェクトに配置するか、プロジェクト内のすべてのソースコードをコピーしますか?
Google I | Oプレゼンテーションの指示は、プロジェクトにソースコードを追加することでした。個人的には、これは奇妙なアプローチだと思います。
あなたはvolley.jarをダウンロードすることができます
ソース:AndroidHive
Volley.jar
libsにコピーします
その後
volley.jar
->
ライブラリとして追加を右クリック
VolleyライブラリがAndroidオープンソースプロジェクトによって公開されました。
dependencies {
implementation 'com.android.volley:volley:1.1.0'
}
更新: Volleyが公式になり、JCenterから入手できるようになりました。これをインポートする方法は次のとおりです。
compile 'com.android.volley:volley:1.0.0'
奪われた方法:
Gradleを使用している場合は、ここからVolleyをインポートできます。
dependencies {
compile 'com.mcxiaoke.volley:library:1.0.+'
}
注意
これは非公式のミラーです(いくつかのマイナーなバグ修正が含まれています。詳細はChangelogを参照してください)。androidvolley libraryの場合、ソースコードは公式のvolleyリポジトリと定期的に同期します。
単一のアプローチについては多くの回答がありますが、ボレーを開始して実行するためのさまざまな方法を比較するものはないので、2セントも入れました。この回答も自由に編集/拡張してください。
[MyProjectPath]/app/libs/
フォルダーに入れてくださいright-click
でそれを選択しますAdd As Library...
git clone https://github.com/git/git
... sry badを。ただし、抵抗できませんでした^^)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チュートリアルで公式に提案されていることです(ここを見てください)。
プロジェクトのsrc/build.gradle
ファイルに、次のボレー依存関係を追加します。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// ...
compile 'com.mcxiaoke.volley:library:1.+'
}
Try Again
すぐBuild
にファイルの上部に表示されるか、表示されない場合はそれをクリックします
ここでの主な「利点」は、バージョンを最新の状態に保つことですが、他の2つのケースでは、手動でボレーを更新する必要があります。
「マイナス面」は、公式にはグーグルからではなく、サードパーティのウィークリーミラーです。
しかし、これらの点はどちらも、実際に必要とするものと相対的なものです。また、更新が必要ない場合は、代わりに目的のバージョンをそこに配置するだけcompile 'com.mcxiaoke.volley:library:1.0.7'
です。
独自のコード管理にGITを使用する場合は、プロジェクトのサブモジュールとしてGITを追加しないでください...
git submodule add https://android.googlesource.com/platform/frameworks/volley -b master Volley
そうすれば、Volleyコードベースが更新されるので、更新も簡単です...
git submodule git pull
独自のプロジェクトでメインVolleyクラスを拡張して変更することができます。これにより、Volleyフレームワークが更新されるたびに変更をコーディングする必要がなくなります。
これは、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
}}));
Volleyが統合キャッシュ機能を利用できるように、サーバー側でHttp Expiresヘッダーを正しく設定することを忘れないでください。
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.+'
}
最初にGitからプロジェクトを複製します
$git clone https://android.googlesource.com/platform/frameworks/volley
あなたが知っておくべきいくつかの基本的なボレーのクラスは
最初にボレーを使用するには、RequestQueueのオブジェクトを作成する必要があります
RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());
2番目-> 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);
また、RequestQueryのシングルトンを作成することをお勧めします。
Volley jar(または任意のjar)をAndroid Studio 1.0.2に追加するのがかなり簡単になりました。Android Studioの外部から(既に存在しているはずです)にコピーvolley.jar
し<yourproject>/app/libs
ます。デフォルトのGradleセットアップには次の行が含まれているため:
compile fileTree(dir: 'libs', include: ['*.jar'])
...すべてが設定されました。デフォルトのプロジェクト構造ビューに(File -> Project Structure)
はlibs
ディレクトリが表示されないため、そうではない可能性があります。これを表示するには、プロジェクト構造ビューのすぐ上にあるスピナーを使用してに変更Android
する必要がありますProject
。
アプリがビルドされ(必要ない場合もあります)、次のようなコードの入力を開始することで機能していることがわかります。
RequestQueue request
Android Studioから完了のプロンプトが表示されることがわかりますRequestQueue (com.android.volley)
。
それがあなたの好みであれば、デバッグaarをビルドするのもかなり簡単です。
git clone https://android.googlesource.com/platform/frameworks/volley
次に、別のディレクトリに新しいAndroidスタジオプロジェクト(通常のアプリプロジェクトのみ)を作成します。それが完了したら、新しいサブモジュール(ファイル|新しいモジュール)を追加します。既存のプロジェクトのインポートオプションを選択し、それをボレーをチェックアウトしたディレクトリにポイントします。それが完了すると、モジュールを作成でき、aarファイルが作成されます。
日食ルナを使用するには、次のことを行う必要があります。
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);
}
Volleyプロジェクトのクローンを作成し、Gradleでライブラリをビルドできるようにする構成ファイルを追加しました。
これにより、ライブラリをローカルのMavenリポジトリにインストールし、AndroidプロジェクトからGradle経由で参照できます。
ライブラリに改良されたさまざまなクローンがあることを覚えておいてください。それらを統合し、ライブラリのプライベート拡張バージョンをコンパイルする必要があるかもしれません。
ライブラリ自体に加えて、ビルドスクリプトはJavaDocを生成し、アーカイブをソースします。
サポートライブラリが2行目に表示されているときに問題が発生しました。これら2つのステートメントを並べ替えることは私にとってはうまくいきました。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.mcxiaoke.volley:library:1.0.6'
compile 'com.android.support:support-v4:20.+'
}
Volleyは、現在のプロジェクトリポジトリにgitサブモジュールとして追加できます。このgitサブモジュールは、Volleyの公式gitリポジトリをポイントします。したがって、サブモジュールポインターを更新するだけで、公式のgitリポジトリから更新を取得できます。
さらに、メインプロジェクトでライブラリモジュールとしてVolleyを追加すると、簡単にカスタマイズできます。デバッグの目的にも非常に役立ちます。
これを実現するには、以下の手順に従います。
ステップI:
AndroidアプリケーションプロジェクトGITリポジトリのサブモジュールとしてボレーを追加します。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 Repoサンプルコード:https : //github.com/arpitratan/AndroidGitSubmoduleAsModule
私はボレーと仕事をするのが大好きです。開発時間を節約するために、プロジェクトでVolleyをセットアップするための小さな便利なライブラリGloxey Netwok Managerを作成しようとしました。JSONパーサーが含まれていますと、ネットワークの可用性の確認に役立つ他のさまざまなメソッドがます。
ライブラリはConnectionManager.class
、Volley StringリクエストとVolley JSONリクエストに使用できるさまざまなメソッドを提供しています。ヘッダーの有無にかかわらず、GET、PUT、POST、DELETEのリクエストを行うことができます。ここで完全なドキュメントを読むことができます。
この行をgradleファイルに入れてください。
依存関係{
compile 'io.gloxey.gnm:network-manager:1.0.1'
}