Menjadi seorang android frontend developer tentu perlu menguasai rest api client class untuk menangani Request http. Kalian bisa membuatnya sendiri atau menggunakan library yang sudah banyak berseliweran di internet sperti volley, retrofit dan yang paling powerfull menurut saya adalah fast android networking.
Cara Implementasi
Oleh karena itu pada kesempatan kali ini, akan akan berbagi tutorial singkat bagaimana melakukan http request dan response menggunakan library fast android networking. Langsung saja ke tutorialnya.
Instalasi
Disini kita akan mencoba instalasi library tersebut via gradle, silahkan buka app build.gradle kalian dan dan dibagian dependencies masukan kode berikut
implementation 'com.amitshekhar.android:android-networking:1.0.2'
Kemudian tinggal kalian singkronisasi untuk mendownload librarynya.Memberikat Perijinan
Permission yang dibutuhkan hanya internet permission ya sobat. Buka manifiest dan masukan code berikut.
<uses-permission android:name="android.permission.INTERNET" />
Cara Implementasi
Untuk membuat intance objectnya kita perlu memanggil methode initialize dan memberikan parameter masukan berupa context dari activity yang menggunakannya. Masukan code ini di callback onCreate activity kalian
AndroidNetworking.initialize(getApplicationContext());
Yap sekarang Fast Android kalian siap digunakan.Cara Menggunakan
Fast android networking dapat menangani Get Request, Post Response, Upload Request, Download Request dan Head Request. Data yang ditangani juga bisa langsung di parser kedalam bentuk object dengan mengimplementasikan library tambahan yaitu Jackson Parser dengan cara mengimplementasikan kode berikut di gradle.
implementation 'com.amitshekhar.android:jackson-android-networking:1.0.2'
Oke kita langsung saja ke tahap melakukan requesting ke servernya.Melakukan Get Request
Contoh code dibawah ini jika datanyanya berupa JsonArray dan jika datanya berupa json object kalian tinggal mengganti metode getAsJSONArray menjadi getAsJSONObject, JSONArrayRequestListener menjadi JSONObjectRequestListener dan callback parameter JSONArray menjadi JSONObject.
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
}
});
Jika kalian mengimplentasi Jakson Parser kalian juga bisa langsung mengambilnya dalam bentuk objectAndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAnUserDetail/{userId}")
.addPathParameter("deretcode", "1")
.setTag(this)
.setPriority(Priority.LOW)
.build()
.getAsObject(User.class, new ParsedRequestListener<User>() {
@Override
public void onResponse(User user) {
// do anything with response
Log.d(TAG, "id : " + user.id);
Log.d(TAG, "firstname : " + user.firstname);
Log.d(TAG, "lastname : " + user.lastname);
}
@Override
public void onError(ANError anError) {
// handle error
}
});
Dan jika data yang di parsing berupa Object List seperti daftar User kalian bisa menulis code berikutAndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAnUserDetail/{userId}")
.addPathParameter("userId", "1")
.setTag(this)
.setPriority(Priority.LOW)
.build()
.getAsObject(User.class, new ParsedRequestListener<User>() {
@Override
public void onResponse(User user) {
// do anything with response
Log.d(TAG, "id : " + user.id);
Log.d(TAG, "firstname : " + user.firstname);
Log.d(TAG, "lastname : " + user.lastname);
}
@Override
public void onError(ANError anError) {
// handle error
}
});
Melakukan Post Request
Melakukan request post ke server ada empat cara yang bisa di lakuakn
1. Memasukan parameter dan nilai secara langsung
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createAnUser")
.addBodyParameter("firstname", "Deretcode.com")
.addBodyParameter("lastname", "zainudin")
.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
}
});
2. Masukan Parameter Berupa ObjectUser user = new User();
user.firstname = "Deretcode.com";
user.lastname = "Zainudin";
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
}
});
3. Masukan Parameter Berupa JsonJSONObject jsonObject = new JSONObject();
try {
jsonObject.put("firstname", "Deretcode.com");
jsonObject.put("lastname", "zainudin");
} 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
}
});
4. Masukan Parameter Berupa FileAndroidNetworking.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
}
});
Melakukan Upload Request
Kita bisa mengupload lebih dari satu file sekaligus
AndroidNetworking.upload(url)
.addMultipartFile("image_one",fileOne)
.addMultipartFile("image_two",fileTwo)
.addMultipartParameter("key","value")
.setPriority(Priority.HIGH)
.build()
.setUploadProgressListener(new UploadProgressListener() {
@Override
public void onProgress(long bytesUploaded, long totalBytes) {
// do anything with progress
}
})
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
Melakukan Download Request
AndroidNetworking.download(url,dirPath,fileName)
.setTag("downloadTest")
.setPriority(Priority.MEDIUM)
.build()
.setDownloadProgressListener(new DownloadProgressListener() {
@Override
public void onProgress(long bytesDownloaded, long totalBytes) {
// do anything with progress
}
})
.startDownload(new DownloadListener() {
@Override
public void onDownloadComplete() {
// do anything after completion
}
@Override
public void onError(ANError error) {
// handle error
}
});
Melakukan Head Request
Kita juga bisa melukan head request ke server dengan fast android networking
AndroidNetworking.head("https://fierce-cove-29863.herokuapp.com/getAllUsers/{pageNumber}")
.addPathParameter("pageNumber", "0")
.addQueryParameter("limit", "3")
.build()
.getAsOkHttpResponse(new OkHttpResponseListener() {
@Override
public void onResponse(Response response) {
// do anything with response
if (response.isSuccessful()) {
Log.d(TAG, "Headers :" + response.headers());
}
}
@Override
public void onError(ANError anError) {
// handle error
}
});
Mungkin itu saja yang bisa saya bagikan kepada sobat sekalian, sebenarnya masuh banyak fitur-fitur lainya dari library yang satu ini. Mungkin kalian bisa langsung mempelajarinya lewat git repositorynya di link ini : Git Fast Android Networking. Sekian dulu tutorial frontend android kali, ini terimakasih sudah mampir. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, kalau ada pertanyaan silahkan tulis di kolom komentar. Good Luck!
0 Komentar untuk " Tutorial Android Frontend Http Request Menggunakan Fast Android Networking - Android"
Silahkan berkomentar dengan baik dan bijak!