Description
simple http request lib
NetworkConnection alternatives and similar packages
Based on the "Network" category.
Alternatively, view NetworkConnection alternatives based on common mentions on social networks and blogs.
-
android-async-http
An asynchronous, callback-based Http client for Android built on top of Apache's HttpClient libraries. -
AndroidAsync
Asynchronous socket, http(s) (client+server) and websocket library for android. Based on nio, not threads. -
robospice
DISCONTINUED. Repo of the Open Source Android library : RoboSpice. RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules. -
android-lite-http
LiteHttp is a simple, intelligent and flexible HTTP framework for Android. With LiteHttp you can make HTTP request with only one line of code! It could convert a java model to the parameter and rander the response JSON as a java model intelligently. -
Minimized API Service Library
Minimized API library which is used call the server request in andorid.
InfluxDB - Power Real-Time Data Analytics at Scale
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of NetworkConnection or a related project?
README
NetworkConnection
Overview
NetworkConnection is a simple library to http request support. this mean goal is to provide a very simple interface to developer.
Gradle
compile 'com.github.rudda:networkconnetion:0.0.1'
Permissions
add line in android manifest file
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Simple GET Request -with Return JSONArray
1º step: you must implements JsonArrayListener interface
public class MainActivity extends AppCompatActivity implements JsonArrayListener
2º step: you must to instance customRequest class and set attribuites base url ( setBaseUrl ) , router ( setRouter ) and the method to request ( GET or POST ) this example GET.
CustomRequest customRequest = new CustomRequest();
customRequest.setBaseUrl("http://localhost/users"); //base url
customRequest.setRouter("/"); //router to REST API
customRequest.setMethod(Request.Method.GET);// methods ( get or post )
customRequest.setResult(0); //optional
NetworkConnection.getInstance(this).execute(this, customRequest);
3º step: the return. the return can come in three states: success, fail and loading. The first state is always loading the second state can be success or fail. warning: you can also use the requestCode to represent a specific call.
@Override
public void sucess(JSONArray Jsonarray, int requestCode) {
Toast.makeText(this, "sucess", Toast.LENGTH_SHORT).show();
TextView tv = (TextView) findViewById(R.id.response);
tv.setText(Jsonarray.toString());
}
@Override
public void fail(String message, int requestCode) {
Toast.makeText(this, "falha", Toast.LENGTH_SHORT).show();
}
@Override
public void loading(boolean loading, int requestCode) {
Toast.makeText(this, "carregando...", Toast.LENGTH_SHORT).show();
}
add headers
you must instantiate a hashmap of type add key and respective values. Then just add the hashmap to the setHeader method of an instance of the CustomRequest class. the example below shows how to add an authorization header.
HashMap<String, String> params = new HashMap<>();
params.put("Authorization", "Basic " + CustomRequest.generateAutorizationHeader(email, pass));
customRequest.setHeaders(params);
working with JsonObject or String
how to work JsonObject or String? Easy :) ... do you must to implement JSONObjectListener and/or StringListener interface as shown below.
public class MainActivity extends AppCompatActivity implements StringListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomRequest customRequest = new CustomRequest();
customRequest.setBaseUrl("http://localhost/users"); //base url
customRequest.setRouter("/"); //router to REST API
customRequest.setMethod(Request.Method.GET);// methods ( get or post )
customRequest.setResult(0); //optional
NetworkConnection.getInstance(this).execute(this, customRequest);
}
public void fail(String message, int requestCode) {
}
@Override
public void loading(boolean loading, int requestCode) {
}
@Override
public void sucess(String string, int requestCode) {
}
}
OR
public class MainActivity extends AppCompatActivity implements JSONObjectListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
CustomRequest customRequest = new CustomRequest();
customRequest.setBaseUrl("http://localhost/users"); //base url
customRequest.setRouter("/"); //router to REST API
customRequest.setMethod(Request.Method.GET);// methods ( get or post )
customRequest.setResult(0); //optional
NetworkConnection.getInstance(this).execute(this, customRequest);
}
public void fail(String message, int requestCode) {
}
@Override
public void loading(boolean loading, int requestCode) {
}
@Override
public void sucess(JSONObject jsonObject, int requestCode) {
}
}
Simple Post Request
CustomRequest customRequest = new CustomRequest();
customRequest.setBaseUrl("http://localhost/users"); //base url
customRequest.setRouter("/"); //router to REST API
customRequest.setMethod(Request.Method.POST);// methods ( get or post )
customRequest.setResult(0); //optional
NetworkConnection.getInstance(this).execute(this, customRequest);
add params to Post Request
CustomRequest customRequest = new CustomRequest();
customRequest.setBaseUrl("http://localhost/users"); //base url
customRequest.setRouter("/"); //router to REST API
customRequest.setMethod(Request.Method.POST);// methods ( get or post )
customRequest.setResult(0); //optional
HashMap<String, String> params= new HashMap<>();
params.put("param_1", "value_1");
params.put("param_2", "value_2");
params.put("param_3", "value_3");
customRequest.setParams(params); //only POST
NetworkConnection.getInstance(this).execute(this, customRequest);
acknowledgment
agradecimento a contribuição direta/indireta de thiengo calopsita por meio do canal Vinicios Thiengo e do seu blog https://www.thiengo.com.br/