A very simple android networking library. It is built entirely in kotlin. Internals are not complex for this library, it simply uses HttpURLConnnection. But it does proper thread management. Just make request and listen for the response.
This project was part of my first article on medium. Here is the article link
Simple android networking library supports Android 5.0 (Lollipop) and later.
Add this in your app/build.gradle
implementation 'com.simple.networking:http:0.1.0'
Add this in your project/build.gradle
repositories {
maven {
url "https://simple-android-libs.bintray.com/SimpleAndroidNetworking"
}
}
Http.Request(Http.GET)
.url("https://jsonplaceholder.typicode.com/users")
.enableLog(true)
.execute(object : JSONArrayListener {
override fun onResponse(res: JSONArray?) {
}
override fun onFailure(e: Exception?) {
}
})
Http.Request(Http.GET)
.url("https://jsonplaceholder.typicode.com/users/1")
.enableLog(true)
.execute(object : JSONObjectListener {
override fun onResponse(res: JSONObject?) {
}
override fun onFailure(e: Exception?) {
}
})
Http.Request(Http.GET)
.url("https://jsonplaceholder.typicode.com/users")
.header("k1", "v1")
.header("k2", "v2")
.enableLog(true)
.execute(object : JSONArrayListener {
override fun onResponse(res: JSONArray?) {
Log.d("MainActivity", res.toString())
}
override fun onFailure(e: Exception?) {
Log.d("MainActivity", e.toString())
}
})
val headerMap: HashMap<String, String> = HashMap()
headerMap["k1"] = "v1"
headerMap["k2"] = "v2"
Http.Request(Http.GET)
.url("https://jsonplaceholder.typicode.com/users")
.header(headerMap)
.enableLog(true)
.execute(object : JSONArrayListener {
override fun onResponse(res: JSONArray?) {
Log.d("MainActivity", res.toString())
}
override fun onFailure(e: Exception?) {
Log.d("MainActivity", e.toString())
}
})
val js = JSONObject()
js.put("name", "ashish")
Http.Request(Http.POST)
.url("https://jsonplaceholder.typicode.com/users")
.body(js)
.enableLog(true)
.execute(object : JSONObjectListener {
override fun onResponse(res: JSONObject?) {
}
override fun onFailure(e: Exception?) {
}
})
val js = JSONObject()
js.put("name", "ashish")
Http.Request(Http.PUT)
.url("https://jsonplaceholder.typicode.com/users")
.body(js)
.enableLog(true)
.execute(object : JSONObjectListener {
override fun onResponse(res: JSONObject?) {
}
override fun onFailure(e: Exception?) {
}
})
val js = JSONObject()
js.put("name", "ashish")
Http.Request(Http.DELETE)
.url("https://jsonplaceholder.typicode.com/users")
.body(js)
.enableLog(true)
.execute(object : JSONObjectListener {
override fun onResponse(res: JSONObject?) {
}
override fun onFailure(e: Exception?) {
}
})