DeretCode|

Tips, Trik dan Tutorial
Seputar IT, Coding, Internet Marketing, Keahlian, Pendidikan, Hobi Dan Lainnya
Night :

Tutorial Android Frontend Http Request Menggunakan Fast Android Networking - Android

advertisement
        
Tutorial Android Frontend http request
        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.
        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 object
AndroidNetworking.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 berikut
AndroidNetworking.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 Object
User 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 Json
JSONObject 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 File
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
                    }
                });  

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!
advertisement



0 Komentar untuk " Tutorial Android Frontend Http Request Menggunakan Fast Android Networking - Android"

Silahkan berkomentar dengan baik dan bijak!