企業級ネットワーク要求の枠組みセットを作る.retrofit+gson+mvp(一)
企業級ネットワーク要求の枠組みセットを作る.retrofit+gson+mvp(一)
本シリーズの文章は三つの文章に分けて送ります.それぞれプロジェクトはRetrofit要求の枠組みを継承します.Gson解析のフレームワーク、MVPデザインモード.あなたが一歩ずつ企業級ネットワークAPPアーキテクチャを構築するのを助けます.
第二篇はすでに更新されました.企業級ネットワーク要求フレームセットretrofit+gson+mvp(二)リンクは以下の通りです.http://blog.csdn.net/androidmsky/article/details/52882722
Retrofitは多く言う必要はなくて、具体的な資料は行くことができます.http://square.github.io/retrofit/
しかし、初心者はretrofitがokhttpに基づく機能パッケージであることを知っておかなければなりません.@GET("/xxx/sdsd")が使えます.このようなコメントのスタイルでコードを書きます.このような安卓端のスタイルはサーバー端のスタイルに似ています.どんなスタイルでも、とにかくバックグラウンドの兄からインターフェースの文書を持ってきたら、Retrofitフレームを使ってAPPに接続しやすいです.
開発者の明さんはこの時に聞きたいかもしれません.HiさんはどんなAndroidが持っているHttpURLConnectionを使ってもいいですか?また、スレッドにハードラーを加えて、ネットでお願いします.書いたのもとてもさわやかです.フレームソースは、多くのものが原理を知ってから直接に他の書き込みのフレームを呼び出すことができます.(いくつかの開発者は原理なしに複雑なフレームを直接食べます.ブロガーはこのような行為を勧めません.)Retrofitは上記の様々な方法の統合を理解し、Retrofitは私たちに多くのことを処理してくれました.開発者はいくつかの注釈コード級を書くだけで一つのインターフェースとのドッキングができます.次は一歩ずつ集積していきます.
一.フレームを導入するとjarを導入してもいいし、遠隔倉庫を導入してもいいです.
public interface TestApp{
次はGson解析とMVP設計のモデルを発表し、ネットワーク要求APPの枠組みを完全に作り上げます.
ようこそ、加安卓開発交流群:308372687
ブロガーオリジナルは無断で転載してはいけません.
本シリーズの文章は三つの文章に分けて送ります.それぞれプロジェクトはRetrofit要求の枠組みを継承します.Gson解析のフレームワーク、MVPデザインモード.あなたが一歩ずつ企業級ネットワークAPPアーキテクチャを構築するのを助けます.
第二篇はすでに更新されました.企業級ネットワーク要求フレームセットretrofit+gson+mvp(二)リンクは以下の通りです.http://blog.csdn.net/androidmsky/article/details/52882722
Retrofitは多く言う必要はなくて、具体的な資料は行くことができます.http://square.github.io/retrofit/
しかし、初心者はretrofitがokhttpに基づく機能パッケージであることを知っておかなければなりません.@GET("/xxx/sdsd")が使えます.このようなコメントのスタイルでコードを書きます.このような安卓端のスタイルはサーバー端のスタイルに似ています.どんなスタイルでも、とにかくバックグラウンドの兄からインターフェースの文書を持ってきたら、Retrofitフレームを使ってAPPに接続しやすいです.
開発者の明さんはこの時に聞きたいかもしれません.HiさんはどんなAndroidが持っているHttpURLConnectionを使ってもいいですか?また、スレッドにハードラーを加えて、ネットでお願いします.書いたのもとてもさわやかです.フレームソースは、多くのものが原理を知ってから直接に他の書き込みのフレームを呼び出すことができます.(いくつかの開発者は原理なしに複雑なフレームを直接食べます.ブロガーはこのような行為を勧めません.)Retrofitは上記の様々な方法の統合を理解し、Retrofitは私たちに多くのことを処理してくれました.開発者はいくつかの注釈コード級を書くだけで一つのインターフェースとのドッキングができます.次は一歩ずつ集積していきます.
一.フレームを導入するとjarを導入してもいいし、遠隔倉庫を導入してもいいです.
compile files('libs/converter-gson-2.0.0.jar')
//Gson
compile files('libs/okhttp-3.2.0.jar')
compile files('libs/okio-1.6.0.jar')
// okhttp
compile files('libs/retrofit-2.0.2.jar')
一つのクラスを書いて、retrofitを初期化します.二つのシングルモデルと反射を利用して種類を生成する方法createServiceがあります.使ういくつかの方法も英語の字面で意味が分かります.public class Generator {
public static final String API_BASE_URL = "https://api.heweather.com";
public static int DEFAULT_TIMEOUT = 10;
public static OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
.writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
.readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
.build();
private static Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(new StringConverterFactory())
.client(client)
.build();
public static void ChangeURl(String url) {
retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(new StringConverterFactory())
.client(client)
.build();
}
public static <S> S createService(Class<S> serviceClass) {
return retrofit.create(serviceClass);
}
}
私たちは具体的なインターフェースを書くことができます.構造がはっきりしていて、インターフェースを定義します.注釈で一つの方法を定義します.cityidは要求の中のキーの値です.public interface TestApp{
@FormUrlEncoded
@POST("/x3/weather")
Call<ResponseBody> get(
@Field("cityid") String cityid,
@Field("key") String key
);
}四.呼び出し要求はメインスレッドにおいて、表示フレームがコールバック方法を設定してくれました.要求が失敗しました.要求が成功したなどです.public void get(String id, String key) {
TestApi api = Generator.createService(TestApi.class);
Call<ResponseBody> call = api.get(id, key);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
String msg = response.body().string();
mEditText.setText("OK1:"+msg);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call call, Throwable throwable) {
}
});
}
このコードは天気インターフェースを要求する例です.テストをダウンロードできます.Githubアドレス:https://github.com/AndroidMsky/RetrofitGsonInMVP2 次はGson解析とMVP設計のモデルを発表し、ネットワーク要求APPの枠組みを完全に作り上げます.
ようこそ、加安卓開発交流群:308372687
ブロガーオリジナルは無断で転載してはいけません.