Mode Malam
| Mode Tampilan
Penulis : admin

Home / Programming / Tutorial Android Http Request Menggunakan Library Fast Android Networking
Tutorial Android Http Request Menggunakan Library Fast Android Networking

Tutorial Android Http Request Menggunakan Library Fast Android Networking


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.

advertisement

Instalasi

Disini kita akan mencoba instalasi library tersebut via gradle, silahkan buka app build.gradle kalian dan dan dibagian dependencies masukan kode 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("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 lakuakan

  1. Mengirim 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. Mengirim Parameter Dalam Bentuk 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. Mengirim Parameter Dalam Bentuk 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. Mengirim Data 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

Fast android networking memungkinkan 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    
                    }
                });            

Mengatur Request Header

Kita juga bisa mengatur data header request yang kita lakukan 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.

advertisement

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!

Tags: #android #httprequest #fan
Bagikan :

Komentar:

Silahkan berkomentar dengan baik dan bijak!

Name * :
Email :
Website :
Comment :


This website uses cookies to ensure you get the best experience on our website

learn more