Tutorial Cara Menggunakan Library Volley Di Android Studio Part 3

Pada kesempatan yang ketiga ini saya akan bagikan tutorial menggunakan dua fitur dari library volley yaitu Json Request dan String Request. Implementasi dari kedua fitur diatas tidaklah sulit dan code program dari kedua fitur tersebut tidaklah jauh berbeda. Agar mempercepat pemahaman anda, langsung saja kita bahas satu persatu fitur diatas.


Json Request
Pada fitur json request terdapat dua type json yang bisa diakses yaitu objek dan arrar. Keduanya ialah sama-sama tipe data json namun beda struktur saja. Berikut adalah contoh dari masing-masing request pada tiap nya :

Tipe Json Objct Request
JsonObjectRequest mRequest = new JsonObjectRequest(Request.Method.GET, URL,
    new Response.Listener<jsonobject>() {
  @Override
  public void onResponse(JSONObject jsonObject) {
   //Deklarasi handle sukses dengan data yang di terima json objek
  }
    },
    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            //Deklarasi handle error 
        }
    }
);

Tipe Json Array Request
JsonArrayRequest mRequest = new JsonArrayRequest(Request.Method.GET, URL,
    new Response.Listener<jsonarray>() {
  @Override
  public void onResponse(JSONArray jsonArray) {
   //Deklarasi handle sukses dengan data yang di terima json array
  }
    },
    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            //Deklarasi handle error 
        }
    }
);

Terlihat sedikit sekali perbedaan pada kedua source code diatas yaitu pada tipe datanya saja. Selain itu juga terdapat mode post dan get dalam pemanggilan urlnya pada Request.Method.xxx.

String Request
Tak jauh berbeda source code pada string request dengan json request hanya saja data yang diterima berupa text atau string format. Untuk lebih jelasnya silahkan lihat source code dibawah ini :

StringRequest mRequest = new StringRequest(Request.Method.POST, URL,
     new Response.Listener<string>() {
          @Override
          public void onResponse(String json) {
              //Deklarasi handle sukses dengan menerima data betipe string
          }
     },
     new Response.ErrorListener() {
          @Override
          public void onErrorResponse(VolleyError error) {
              //Deklarasi handle error
          }
     }
){
    @Override
    protected Map<string string=""> getParams() throws AuthFailureError {
        Map&ltstring tring=""> params = new Hashtable<string string="">();
        params.put("contoh", "contoh parameter");
        return params;
    }
};

Source code diatas merupakan contoh string request dengan method post disertai parameternya. Langkah selanjutnya yang perlu dilakukan ketika menggunakan kedua tipe request di atas ialah menambahkan source code lagi untuk mengontrol cache requestnya. Pada source code ini dapat dilakukan konfigurasi seperti setting besar cachenya. Berikut detile source codenya :

RetryPolicy pl = new DefaultRetryPolicy(10000,
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
mRequest.setRetryPolicy(pl);
AppController.getInstance().addToRequestQueue(mRequest);

Sampai disini penggunaan fitur json request dan string request telah selesai, silahkan diuji coba pada projek anda. Jika terjadi error silahkan komen dibawah.

Tutorial Cara Menggunakan Library Volley Di Android Studio Part 2

Pada kesempatan kedua pada judul yang sama, kali ini akan membahas salah satu fitur pada volley yaitu ImageLoader. Fitur ini digunakan untuk menampilkan gambar pada activity android dimana sumber gambar berasal dari internet yang dipanggil menggunakan link url. Penggunaannya cukup mudah sekali, detilenya silahkan ikuti tutorial dibawah ini :


Langkah awal yang perlu dilakukan yaitu menambahkan komponen NetworkImageView pada layout xml, dimana komponen ini sebagai tempat menempelnya gambar yang dimuat. Untuk penulisan codenya seperti dibawah ini :

<com.android.volley.toolbox.NetworkImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:id="@+id/image_slider"
        android:layout_gravity="center"
        android:scaleType="centerCrop"
        android:adjustViewBounds="true"/>

Setelah menambahkan komponen diatas pada layout xml, langkah berikutnya yaitu menginisialisasikan komponen tersebut pada class activitynya. Kemudian setelah diinisialisasikan tinggal masukkan url gambarnya, untuk detile code nya sebagai berikut :

ImageLoader imageLoader = AppController.getInstance().getImageLoader();
NetworkImageView imageSlider = (NetworkImageView)imageLayout.findViewById(R.id.image_slider);
if (imageLoader == null) {
     imageLoader = AppController.getInstance().getImageLoader();
}
imageSlider.setImageUrl(TAMBAHKAN URL GAMBAR DISINI,imageLoader);

Jika script diatas telah ditambahkan semua, sekarang tinggal diuji coba keberhasilannya, apabilai terjadi error diteliti kembali apakah ada langkah yang terlewatkan pada tutorial ini. Silahkan lakukan tahap persiapan terlebih dahulu pada post sebelumnya yaitu Tutorial Cara Menggunakan Library Volley Di Android Studio Part 1. Selanjutnya tinggal implementasikan fitur yang ini atau yang selanjutnya di part 3 

Tutorial Cara Menggunakan Library Volley Di Android Studio Part 1

Perkembangan dunia pemrograman aplikasi android sangatlah cepat begitu juga dengan munculnya berbagai library yang dapat mempersingkat serta mempermudah dalam implementasi code program. Kali ini pembahasan pada posting kali ini yaitu tentang bagaimana membuat aplikasi android yang bisa mengakses data dari internet baik itu berupa data json, string, maupun gambar. Perlu diperhatikan bahwa dalam mengakses data melalui internet, sebenarnya kita dapat menggunakan HttpClient atau Httpconnection namun harus diimplementasikan secara asyncronous alias berjalan di background dengan thread yang berbada dengan aktivitynya. Banyak code yang harus dituliskan jika menggunaka keduanya, bahkan cukup ribet apalagi buat pemula yang baru belajar pemrograman android.



Namun sekarang sudah ada banyak library-library yang memudahkan implementasi code program untuk mengakses data dari internet, salah satunya yaitu volley. Pada library ini juga terdapat fitur untuk mencache data yang telah diakses agar meringankan beban akses internetnya jikalau request ulang dilakukan. Dan untuk menggunakan library ini pada android studio sangatlah mudah tinggal import modul pada gradle, bisa mode jar fil maupun maven yang sudah tersedia di repository.

Sekarang kita mulai dalam pembahasan, langkah awal yang perlu dilakukan yaitu mengimport library volley tersebut dengan cara masukk gradle pada projek, kemudian tambahkan code program di bawah ini pada dependencies :

compile 'com.mcxiaoke.volley:library:1.0.19' 

Setelah library telah ditambahkan maka selanjutnya buat pengontrol cachenya terlebih dahulu dengan membuat class baru beri nama LruBitmapCache.class dan berikut script lengkapnya :

import com.android.volley.toolbox.ImageLoader.ImageCache;
import android.graphics.Bitmap;
import android.support.v4.util.LruCache;

public class LruBitmapCache extends LruCache implements ImageCache {
 public static int getDefaultLruCacheSize() {
  final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
  final int cacheSize = maxMemory / 8;
  return cacheSize;
 }
 public LruBitmapCache() {
  this(getDefaultLruCacheSize());
 }
 public LruBitmapCache(int sizeInKiloBytes) {
  super(sizeInKiloBytes);
 }
 @Override
 protected int sizeOf(String key, Bitmap value) {
  return value.getRowBytes() * value.getHeight() / 1024;
 }
 @Override
 public Bitmap getBitmap(String url) {
  return get(url);
 }
 @Override
 public void putBitmap(String url, Bitmap bitmap) {
  put(url, bitmap);
 }
}

Selanjutnya membuat controller pada projek aplikasi tersebut, dengan membuat class baru dan beri nama AppController.class dimana class tersebut direferensikan dengan Application. Untuk lebih jelasnya silahkan copy paste aja script di bawah ini :

import android.app.Application;
import android.text.TextUtils;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import (nama package anda).LruBitmapCache;

public class AppController extends Application {

    public static final String TAG = AppController.class.getSimpleName();
    private RequestQueue mRequestQueue;
    private ImageLoader mImageLoader;
    LruBitmapCache mLruBitmapCache;
    private static AppController mInstance;
    @Override
    public void onCreate(){
        super.onCreate();
        mInstance = this;
    }
    public static synchronized AppController getInstance() {
        return mInstance;
    }
    public RequestQueue getRequestQueue() {
        if (mRequestQueue == null) {
            mRequestQueue = Volley.newRequestQueue(getApplicationContext());
        }
        return mRequestQueue;
    }
    public ImageLoader getImageLoader() {
        getRequestQueue();
        if (mImageLoader == null) {
            getLruBitmapCache();
            mImageLoader = new ImageLoader(this.mRequestQueue, mLruBitmapCache);
        }
        return this.mImageLoader;
    }
    public LruBitmapCache getLruBitmapCache() {
        if (mLruBitmapCache == null)
            mLruBitmapCache = new LruBitmapCache();
        return this.mLruBitmapCache;
    }
    public <T> void addToRequestQueue(Request <T> req, String tag) {
        req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);
        getRequestQueue().add(req);
    }
    public <T> void addToRequestQueue(Request <T> req) {
        req.setTag(TAG);
        getRequestQueue().add(req);
    }
    public void cancelPendingRequests(Object tag) {
        if (mRequestQueue != null) {
            mRequestQueue.cancelAll(tag);
        }
    }
}

Pastikan dalam membuat kedua class diatas telah berhasil tanpa adanya error, karena kedua class diatas berfungsi sebagai controller dari penggunaan library volley tersebut. Langkah berikutnya yaitu menambahkan android:name pada applications dan permission internet di manifestnya, berikut contoh penulisannya :

<uses-permission android:name="android.permission.INTERNET" />
<application 
       android:name="(nama package anda).AppController" 
       android:allowbackup="true" 
       android:icon="@drawable/icon_apps" 
       android:label="@string/app_name" 
       android:supportsrtl="true" 
       android:theme="@style/AppTheme">

       * * * * *

</application>

Sampai disini persiapan awal penggunaan volley telah selesai, selanjutnya tinggal penerapan fitur-fitur yang ada pada volley seperti image loader, jtring request, maupun json request . Namun untuk pembahasan penggunaannya akan di bahas diposting part yang selanjunya.

Tutorial Cara Menggunakan Library Volley Di Android Studio Part 2
Tutorial Cara Menggunakan Library Volley Di Android Studio Part 3

Dalam satu minggu saja mendapat pin adsense

Bagi pemula atau yang lagi memulai bisnis publisher adsense, pin adalah target pertama yang harus di capai. Seperti yang sudah saya alami dulu, namun saya tidak lama untuk mendapatkannya hanya menunggu waktu satu minggu setelah pemasangan adsense.

Sebagian orang pasti bertanya apa tipsnya agar bisa scepat itu mendapatkan pin adsense. Tetapi sebelumnya harus di ingat pin hanya akan dikirim ketika pendapatan mencapai $10. Itulah yang saya dapatkan pada usia adsense satu minggu.


Sekarang akan saya bagikan tips yang saya gunakan, ini simpel dan mudah namun harus berfikir kreatif.

Pertama yang harus di lakukan sebelum masuk kedalam bisnis publisher adsense yakinkan dulu diri anda, semata-mata untuk berbagi bukan mencari uang dalam bentuk konten artikel atau aplikasi.

Kedua berfikir kreatif dan mencari sesuatu yang sekiranya dibutuhkan orang lain, jangan asal-asalan saja. Karenan pendapatan anda dipengaruhi minat orang lain. Kemudian muatlah ide itu kedalam semuah tema artikel atau aplikasi.

Ketiga yang jelas semakin bagus ide dan manfaat bagi orang lain semakin banyak user yang terjaring.

Ke empat tentukan mau fokus di mana, di web publishing atau mobile atau video, ataukah ketiganya juga bagus.

Tips saya yang terakhir belajarlah membuat aplikasi mobile dan konten video, karena sumber trafik yang banyak dari keduanya.

Itulah tips saya mencapai $10 dalam minggu.

Login Indihome Gratis 2016

Hanya sekedar berbagi cara login indihome gratis, karena banyaknya permintaan yang masuk melalui fanspage, aplikasi maupun email. Ini ada beberapa user indihome bagi para netter wifi.id, saya menganjurkan agar digunakan dengan bijak.

Apabila user dan password sudah tidak bisa digunakan, itu bukan tanggungjawab saya itu merupakan resiko dari apa itu yang namanya gratisan. Langsung saya bagi yang penasara untuk mencobana, silahkan download link di bawah ini.

* Link download user dan pass indihome