<img src=https://raw.githubusercontent.com/amitshekhariitbhu/Fast-Android-Networking/master/assets/androidnetworking.png >
# Fast Android Networking Library
### About Fast Android Networking Library
Fast Android Networking Library is a powerful library for doing any type of networking in Android applications which is made on top of [OkHttp Networking Layer](http://square.github.io/okhttp/).
Fast Android Networking Library takes care of each and everything. So you don't have to do anything, just make request and listen for the response.
### Why use Fast Android Networking ?
* Recent removal of HttpClient in Android Marshmallow(Android M) made other networking libraries obsolete.
* No other single library does each and everything like making request, downloading any type of file, uploading file, loading
image from network in ImageView, etc. There are some libraries but they are outdated.
* No other library provides simple interface for doing all types of things in networking like setting priority, cancelling, etc.
* As it uses [Okio](https://github.com/square/okio) , No more GC overhead in android applications.
[Okio](https://github.com/square/okio) is made to handle GC overhead while allocating memory.
[Okio](https://github.com/square/okio) does some clever things to save CPU and memory.
* It uses [OkHttp](http://square.github.io/okhttp/) , more importantly it supports HTTP/2.
## About me
Hi, I am [**Amit Shekhar**](https://amitshekhar.me), I have mentored many developers, and their efforts landed them high-paying tech jobs, helped many tech companies in solving their unique problems, and created many open-source libraries being used by top companies. I am passionate about sharing knowledge through open-source, blogs, and videos.
You can connect with me on:
- [Twitter](https://twitter.com/amitiitbhu)
- [YouTube](https://www.youtube.com/@amitshekhar)
- [LinkedIn](https://www.linkedin.com/in/amit-shekhar-iitbhu)
- [GitHub](https://github.com/amitshekhariitbhu)
## [My Personal Blog - amitshekhar.me](https://amitshekhar.me/blog) - High-quality content to learn Android concepts.
### RxJava2 Support, [check here](https://amitshekhariitbhu.github.io/Fast-Android-Networking/rxjava2_support.html).
### Find this project useful ? :heart:
* Support it by clicking the :star: button on the upper right of this page. :v:
For full details, visit the documentation on our web site :
<a href="https://amitshekhariitbhu.github.io/Fast-Android-Networking" target="_blank"><img src="https://raw.githubusercontent.com/amitshekhariitbhu/Fast-Android-Networking/master/assets/get_started.png" width="150" height="42"/></a>
## Requirements
Fast Android Networking Library can be included in any Android application.
Fast Android Networking Library supports Android 2.3 (Gingerbread) and later.
## Using Fast Android Networking Library in your application
Add this in your build.gradle
```groovy
implementation 'com.amitshekhar.android:android-networking:1.0.2'
```
Do not forget to add internet permission in manifest if already not present
```xml
<uses-permission android:name="android.permission.INTERNET" />
```
Then initialize it in onCreate() Method of application class :
```java
AndroidNetworking.initialize(getApplicationContext());
```
Initializing it with some customization , as it uses [OkHttp](http://square.github.io/okhttp/) as networking layer, you can pass custom okHttpClient while initializing it.
```java
// Adding an Network Interceptor for Debugging purpose :
OkHttpClient okHttpClient = new OkHttpClient() .newBuilder()
.addNetworkInterceptor(new StethoInterceptor())
.build();
AndroidNetworking.initialize(getApplicationContext(),okHttpClient);
```
Using the Fast Android Networking with Jackson Parser
```groovy
implementation 'com.amitshekhar.android:jackson-android-networking:1.0.2'
```
```java
// Then set the JacksonParserFactory like below
AndroidNetworking.setParserFactory(new JacksonParserFactory());
```
### Making a GET Request
```java
AndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAllUsers/{pageNumber}")
.addPathParameter("pageNumber", "0")
.addQueryParameter("limit", "3")
.addHeaders("token", "1234")
.setTag("test")
.setPriority(Priority.LOW)
.build()
.getAsJSONArray(new JSONArrayRequestListener() {
@Override
public void onResponse(JSONArray response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
```
### Making a POST Request
```java
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createAnUser")
.addBodyParameter("firstname", "Amit")
.addBodyParameter("lastname", "Shekhar")
.setTag("test")
.setPriority(Priority.MEDIUM)
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
```
You can also post java object, json, file, etc in POST request like this.
```java
User user = new User();
user.firstname = "Amit";
user.lastname = "Shekhar";
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createUser")
.addBodyParameter(user) // posting java object
.setTag("test")
.setPriority(Priority.MEDIUM)
.build()
.getAsJSONArray(new JSONArrayRequestListener() {
@Override
public void onResponse(JSONArray response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("firstname", "Amit");
jsonObject.put("lastname", "Shekhar");
} catch (JSONException e) {
e.printStackTrace();
}
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createUser")
.addJSONObjectBody(jsonObject) // posting json
.setTag("test")
.setPriority(Priority.MEDIUM)
.build()
.getAsJSONArray(new JSONArrayRequestListener() {
@Override
public void onResponse(JSONArray response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/postFile")
.addFileBody(file) // posting any type of file
.setTag("test")
.setPriority(Priority.MEDIUM)
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
```
### Using it with your own JAVA Object - JSON Parser
```java
/*--------
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码Fast-Android-Networking最新源代码
资源推荐
资源详情
资源评论
收起资源包目录
Fast-Android-Networking最新源代码 (228个子文件)
gradlew.bat 2KB
.gitignore 104B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
.gitignore 7B
jackson-upload.gradle 3KB
rx2-upload.gradle 3KB
rx-upload.gradle 3KB
upload.gradle 3KB
build.gradle 2KB
build.gradle 2KB
build.gradle 2KB
build.gradle 2KB
build.gradle 2KB
build.gradle 2KB
build.gradle 1KB
build.gradle 1KB
settings.gradle 839B
gradlew 5KB
gradle-wrapper.jar 52KB
ANRequest.java 67KB
ApiTestActivity.java 58KB
OkHttpResponseTestActivity.java 55KB
RxApiTestActivity.java 29KB
Images.java 27KB
Rx2ApiTestActivity.java 21KB
RxInternalNetworking.java 20KB
Rx2OperatorExampleActivity.java 20KB
PostJSONApiTest.java 20KB
JacksonPostObjectApiTest.java 19KB
Rx2InternalNetworking.java 19KB
MultipartJSONApiTest.java 19KB
PostObjectApiTest.java 19KB
MultipartObjectApiTest.java 18KB
Rx2PostJSONApiTest.java 18KB
GetJSONApiTest.java 18KB
RxOperatorExampleActivity.java 18KB
Rx2MultipartJSONApiTest.java 18KB
JacksonGetObjectApiTest.java 18KB
GetObjectApiTest.java 18KB
Rx2GetJSONApiTest.java 17KB
Rx2PostObjectApiTest.java 17KB
Rx2MultipartObjectApiTest.java 17KB
Rx2GetObjectApiTest.java 16KB
PostStringApiTest.java 14KB
InternalNetworking.java 14KB
MultipartStringApiTest.java 14KB
GetStringApiTest.java 13KB
ANImageLoader.java 12KB
Rx2ANRequest.java 12KB
AndroidNetworking.java 10KB
MainActivity.java 10KB
HttpLoggingInterceptor.java 10KB
RxANRequest.java 9KB
Rx2PostStringApiTest.java 9KB
Rx2MultipartStringApiTest.java 9KB
Rx2GetStringApiTest.java 9KB
Utils.java 8KB
ImageGridFragment.java 8KB
LruCache.java 6KB
InternalRunnable.java 6KB
SynchronousCall.java 6KB
ANRequestQueue.java 5KB
ANImageView.java 5KB
ConnectionClassManager.java 5KB
Rx2AndroidNetworking.java 4KB
RxAndroidNetworking.java 4KB
ANExecutor.java 4KB
WebSocketActivity.java 4KB
JacksonParserFactory.java 3KB
GzipRequestInterceptor.java 3KB
SubscriptionActivity.java 3KB
ANError.java 3KB
SubscriptionActivity.java 3KB
ResponseProgressBody.java 3KB
RequestProgressBody.java 3KB
GsonParserFactory.java 3KB
Utils.java 2KB
Utils.java 2KB
Utils.java 2KB
MyApplication.java 2KB
RequestBuilder.java 2KB
GsonRequestBodyParser.java 2KB
DefaultExecutorSupplier.java 2KB
DownloadProgressHandler.java 2KB
Rx2MyApplication.java 2KB
RxMyApplication.java 2KB
UploadProgressHandler.java 2KB
ANResponse.java 2KB
GsonResponseBodyParser.java 2KB
Parser.java 2KB
ANConstants.java 2KB
LruBitmapCache.java 1KB
JacksonRequestBodyParser.java 1KB
PriorityThreadFactory.java 1KB
ExampleInstrumentedTest.java 1KB
共 228 条
- 1
- 2
- 3
资源评论
「已注销」
- 粉丝: 1
- 资源: 93
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功