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


Login Wifi.Id Gratis Komunitas Kampus 2016

Berdasarkan banyaknya permintaan pemakai wifi.id gratisan, saya akan membagikan cara login komunitas kampus wifi.id. Saya mendapat user dari blog teman seperjuangan wifi.id gratis, dan sekarang saya akan bantu sebarkan agar lebih cepat pemakai wifi.id mengetahuinya.


Langsung saja caranya :
1. masuk default wifi.id
2. pilih komunitas -> Kampus
3. masukan Username :  NIM@ut.ac.id   (cont. 123456789@ut.ac.id) 
4. masukan Password diisi dengan 5 digit angka terakhir dari nim
5. klik login

Catatan yang perlu diketahui dengan cara diatas yaitu kesabaran dan pantang penyerah untuk mencoba satu persatu user tersebut. Nah yang penasaran langsung saja download link di sini.

Cara Set Pembayaran Adsense Melalui Bank Mandiri

Setelah adanya ketentuan baru dari google adsense yang kini harus menarik pembayaran melalui bank, kini membuat bingung para publisher baru seperti saya. Karena setiap bank memiliki potongan yang berbeda-beda, berikut adalah daftar dari potongan masing-masing bank :

BCA = $25
BNI = $15
BRI = $15
Mandiri = $5


Jelas terlihat Bank Mandiri memiliki potongan yang paling sedikit, meski masih lumayan jumlahnya. Akhirnya pun saya juga memilih Bank Mandiri dan buka rekening baru, setelah rekening jadi saya lgsung saja set pembayaran adsense dan berikut cara set pembayaranya :

1. Login adsense anda
2. Klik icon gear dan pilih pembayaran
3. Klik kelola pada metode pembayaran
4. Klik tambahkan pembayaran
5. Masukan nama pemilik rekening
6. Pilih Bank Mandiri
7. Kemudian masukan no rekening
8. Jangan lupa di centang sebagai metode utama
9. Terakhir klik simpan

Sampai disini metode pembayaran melalui Bank Mandiri telah di tambahkan, namun masih ada tahap selanjutnya agar sepenuhnya metode dapat digunakan. Tahap selanjutnya yaitu verifikasi rekening anda apakah benar dan aktif atau tidak. Google akan mentransfer sejumlah uang dengan nominal 100-1000 rupiah untuk adsense indonesia, biasanya akan di transfer pada tanggal 21 pada bulan tersebut. Jadi tunggu setelah tanggal 21 untuk memeriksa laporan transaksi dari google udah masuk atau belum.

Jika sudah masuk, catatlah nominal tersebut dan segera lakukan verifikasi dengan cara di bawah ini :

1. Login adsense anda
2. Masuk ke menu kelola pembayaran
3. Kemudian klik verifikasi sekarang
4. Masukan nominal tadi yang masuk
5. Klik verifikasi

Metode pembayaran melalui Bank Mandiri telah siap dan tunggu hingga waktu pembayaran dari google adsense.

Western Union Tidak Tersedia Di Payment Adsense Indonesia

Menjadi publisher memang telah menjadi bisnis yang menggiurkan dan salah satunya yaitu publisher adsense yang kini di kelola oleh google. Menjadi publisher adsense tidak sulit hanya saja banyak aturan yang harus di ikuti.


Namun kini adsense memiliki ketentuan yang berbeda dari yang dulu sama yang sekarang. Mungkin ketentuan yang baru ini tidak berdampak bagi pemilik akun lama, namun bagi yang buat akun baru sekarang sangat bisa di katakan kecewa. 

Dengan ketentuan baru ini, akun yang baru mendaftar otomatis mata uang di set ke mata uang negara masing-masing, contohnya indonesia otomatis menjadi IDR dan ini tidak bisa di set oleh pemilik akun. Dengan adanya ketentuan tersebut, maka otomatis berdampak pada sistem paymentnya, yaitu pada pemilihan cara paymentnya tidak tersedia western union sebagai media pengirimanya. Jadi harus melalui rekening bank lokal indonesia yang telah tersedia di daftar google. 

Namun jangan kuatir untuk permasalahan tersebut, karena dengan begitu uang adsense akan otomatis masuk ke rekening jadi tidak perlu ribet ambil di kantor pos atau indomart. Tapi tetap nantinya pihak bank akan otomatis memotong saldo, sesuai ketentuan masing-masing bank. 

Mungkin sedikit itu yang bisa saya bagikan atas pengalaman yang telah saya alami seperti itu. 

Cara Handle Error Koneksi Internet Android

Dalam pembuatan program yang memanfaatkan akses internet terkadang menemui permasalahan dengan handle status network connection agar tidak terjadi error pada aplikasi yang telah dibuat. Dengan adanya permasalahan tersebut kini saya akan bagi source code untuk handle status network tersebut.


Yang perlu diperhatikan dalam handle network ini adalah menambahkan penggunaan permission pada manifest projek. Permision yang perlu anda tambahkan antara lain yaitu :

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Seteleh menambahkan permision tersebut, sekarang tinggal buat programable javanya. Pada source javanya yang perlu diperhatikan yakni penggunaan ConnectionManager dan NetworkInfo, untuk lebih jelasnya langsung saja tambahkan source code dibawah ini :
 
ConnectivityManager connMgr = (ConnectivityManager)
    getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = connMgr.getActiveNetworkInfo();

Selanjutnya kita tinggal tambahkan kondisional untuk menghandle status network tersebut, langsung saja tambahkakan source di bawah ini :
 
if (networkInfo != null && networkInfo.isConnected()) {
 //aksi ketika ada koneksi internet
}
else{
 //aksi ketika tidak ada koneksi internet
}

Selesai untuk handle networknya, anda tinggal tambahkan aksi anda dalam setiap kondisi diatas.

Cara Mengirim Notifikasi GCM ( Google Cloude Messaging )

Setelah saya membagikan artikel tentang memasang GCM di aplikasi android, kini saya akan membagikan bagaimana cara untuk mengirim notifikasi dengan GCM. Caranya cukup mudah dan sangan simple, kita hanya menggunakan pemrograman php dengan memanfaatkan fitur curl pada php untuk post data ke server gcm.



Langsung saja buat file php dan isi script seperti dibawah ini.
<?php
        $url = 'https://gcm-http.googleapis.com/gcm/send';
        $fields = '
    {
     "data": {
      "pesan": pesan anda,    },
     "to": "/topics/global"
    }';
  $headers = array(
  
            'Authorization: key=key_GCM_anda',
            'Content-Type: application/json'
        );
   // Open connection
        $ch = curl_init();

        // Set the url, number of POST vars, POST data
        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // Disabling SSL Certificate support temporarly
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

        // Execute post
        $result = curl_exec($ch);
        if ($result === FALSE) {
            die('Curl failed: ' . curl_error($ch));
        }

        // Close connection
        curl_close($ch);
        print_r($result);

?>


Tinggal jalankan aja di web server anda.

Cara Menambahkan Google Cloude Messaging Di Android Studio

Kali ini saya akan membagikan cara bagaimana menambahakn google cloude messaging ke projek aplikasi yang telah kita buat. Namun sebelumnya saya akan menjelaskan fungsi fitur GCM tersebut, fitur yang paling utama daria GCM adalah notifikasi. Jadi dengan GCM kita bisa memberikan notifikasi kepada pemakai aplikasi kita, seperti update baru atau lainnya.



Sudah banyak yang memakai GCM di aplikasi android untuk handle notifikasi pada aplikasi mereka. Alasan memakai GCM karena dengan menggunakan itu kita tidak perlu repot lagi membuat web service untuk layanan update dan juga tidak perlu membuat service activity yang memungkinkan menjadikan handphone lemot. Jadi sistemnya ketika kita mengirim pesan ke server GCM dengan topic yang telah kita tentukan maka server GCM akan mengirim kepada client GCM yaitu pengguna apllikasi kita melalui service google pada aplikasi android.

Sekarang dari pada pusing langsung kita lakukan langkah-langkah memasang GCM di projek aplikasi kita. Oke langkah pertama yang perlu anda tambahkan yaitu pada manifest anda seperti script dibawah:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="pakage_anda" >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <permission android:name="pakage_anda.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission  android:name="pakage_anda.permission.C2D_MESSAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver
            android:name="com.google.android.gms.gcm.GcmReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                <category android:name="pakage_anda" />

            </intent-filter>
        </receiver>
        <service
            android:name=".MyGcmListenerService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            </intent-filter>
        </service>
        <service
            android:name=".MyInstanceIDListenerService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.google.android.gms.iid.InstanceID" />
            </intent-filter>
        </service>
        <service
            android:name=".RegistrationIntentService"
            android:exported="false" >
        </service>
    </application>
</manifest>

Lankah selanjutnya menambahkan empat file java ke dalam projek anda yaitu :
- MyGcmListenerService.java
- MyInstanceIDListenerService.java
- QuickstartPreference.java
- RegistrationIntentService.java

Jika belum punya empat file diatas silahkan download sample projek di link bawah artikel ini. Dan langkah selanjutnya kita tinggal tambahkan script java pada MainActivity anda dengan script dibawah ini:
private static final int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;
private BroadcastReceiver mRegistrationBroadcastReceiver;
.....
//tambahkan script dibawah ini didalam bundle
mRegistrationBroadcastReceiver = new BroadcastReceiver() {
  @Override
        public void onReceive(Context context, Intent intent) {
            mRegistrationProgressBar.setVisibility(ProgressBar.GONE);
            SharedPreferences sharedPreferences =
                PreferenceManager.getDefaultSharedPreferences(context);
            boolean sentToken = sharedPreferences
                .getBoolean(QuickstartPreferences.SENT_TOKEN_TO_SERVER, false);
            if (sentToken) {
                mInformationTextView.setText(getString(R.string.gcm_send_message));
            } else {
                mInformationTextView.setText(getString(R.string.token_error_message));
            }
        }
};

if (checkPlayServices()) {
    mInformationTextView.setText("registration");
 Intent intent = new Intent(this, RegistrationIntentService.class);
    startService(intent);
}
......

//Buat function baru
private boolean checkPlayServices() {
        GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
        int resultCode = apiAvailability.isGooglePlayServicesAvailable(this);
        if (resultCode != ConnectionResult.SUCCESS) {
            if (apiAvailability.isUserResolvableError(resultCode)) {
                apiAvailability.getErrorDialog(this, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST)
                        .show();
            } else {
                Log.i(TAG, "This device is not supported.");
                finish();
            }
            return false;
        }
        return true;
}
.....

//Tambahkan lagi script dibawah ini
    @Override
    protected void onResume() {
        super.onResume();
        LocalBroadcastManager.getInstance(this).registerReceiver(mRegistrationBroadcastReceiver,
                new IntentFilter(QuickstartPreferences.REGISTRATION_COMPLETE));
    }

    @Override
    protected void onPause() {
        LocalBroadcastManager.getInstance(this).unregisterReceiver(mRegistrationBroadcastReceiver);
        super.onPause();
    }


Oke pemasangan GCM telah selesai, jika kurang jelas download sample saya disini.

Cara Pasang Admob Di Aplikasi Android

Sebuah aplikasi yang telah kita buat dan kita pasarkan secara gratis mungkin itu tidak dapat menghasilkan apa-apa bagi kita, namun di Android maupun IOS kita sekarang bisa menghasilkan recehan dari aplikasi yang telah kita buat, pastinya yang kita buat aplikasi android dan ios. Kini ada program monetise aplikasi, seperti halnya kita monetise web atau blog dengan layanan google adsense.



Kalau aplikasi android dan ios malah banyak penyedia layanan monetise, diantaranya admob, airpass, inmobi, startapp, dll. Untuk cara pemasngannya pada aplikasi yang telah kita buat cukup mudah dan semua hampir sama caranya. Dan kali ini saya akan membahas cara pemasangn Admob pada Android Studio saja, dan berikut adalah langkah-langkahnya :

1. Pertama anda harus mendaftar dulu layanan admob dengan akun google anda.
2. Jika sudah masuk ke admob dengan akun google anda.
3. Kemudian masuk ke menu monetise.
4. Kemudian klik button Monetise new app.
5. Pilih Add your app manually.
6. Pilih platform android.
7. Untuk analytic lewati saja
8. Kemudian pilih jenis iklan yang akan anda pasang dan beri nama bebas.
9. Jika sudah selesai anda akan mendapat kode ca-app-pub-xxxxxxxxxxxxxxx/xxxxxxx

Oke langkah selanjutnya ialah tinggal pasang di aplikasi kita, dan ini akan membutuhkan library ads dari google jika anda menggunakan aplikasi selain android studio. Untuk yang menggunakan android studio tinggal centang modul ads google, untuk caranya anda bisa baca artikel saya Cara Import Library Di Android Studio.

Lankah untuk jenis iklan banner

Tambahkan script di bawah ini pada layout anda
<com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            ads:adSize="SMART_BANNER"
            ads:adUnitId="ca-app-pub-anda"/>

Tambahkan script di bawah ini pada activity java anda
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);

Langkah untuk jenis iklan intertitial

Tambahkan script di bawah ini pada activity java anda
InterstitialAd interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("ca-app-pub-anda");
AdRequest adRequest = new AdRequest.Builder().build();
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
     public void onAdLoaded() {
         if (interstitial.isLoaded()) {
            interstitial.show();
         }
     }
});

Langkah pemasangan admob di aplikasi anda telah selesai.

Cara Membuat Layout Inflater Di Android

Layout Inflater ini berfungsi untuk membuat tampilan baru di atas tampilan layout utama, jadi analoginya seperti tumpukan layout. Untuk membuat layout inflater ini cukup mudah, cara dan langkah-langkahny akan saya jelaskan di bawah ini.



Langkah pertama kita buat layout utama terlebih dahulu dan jangan lupa untuk menambahkan id pada layout tersebut. Kemudian kita buat layout baru yang nantinya akan di inflate dengan layout yang pertama tadi. Berikut adalah contoh layout yang saya buat.

layout_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/master_layout"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    tools:context=".MainActivity">
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hallow World"/>

</RelativeLayout>

Pada script layout di atas saya beri id master_layout

layout_inflate.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:background="@android:color/transparent"
    android:id="@+id/inflate">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
 android:text="This Layout Inflate" />
</RelativeLayout>

Pada script layout diatas saya beri id inflate, dan berisi text view dengan posisi dibawah layar. Dan selanjutnya tinggal beralih di script javanya. Pada MainActivity.java tambahkan script dibawah ini.

RelativeLayout rlay = (RelativeLayout)findViewById(R.id.master_layout);
View view = getLayoutInflater().inflate(R.layout.layout_inflate, rlay,false);
rlay.addView(view);

Sekarang tinggal build dan jalankan, nanti akan muncul dua tulisan hello world di atas dan This Layout Inflate di bawah. Anda juga bisa menambahkan komponen-komponen lain seperti button atau yang lainnya.



Cara Membuat ComboBox Di Android

Mungkin anda mengenalnya dengan nama ComboBox di pemrograman selain android atau java. Kalau di android atau java ComboBox tersebut lebih dikenal dengan nama Spninner. Bagi pemula yang baru belajar pemrograman java atau android mungkin bingung untuk membuatnya karena adanya perbedaan nama tersebut. Dan sekarang saya akan membagikan bagaimana cara membuat ComboBox di android atau java.


Langkah awal yang harus persiapkan yakni sebuah projek android pastinya, untuk membuatnya silahkan baca artikel saya Cara Membuat Project Android. Untuk yang sudah siap projeknya sialahkan tambahkan script di bawah ini di xml layout anda.

<Spinner
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/spinner1"/>

Langkah selanjutnya tinggal tambahkan script javanya. Buka MainActivity.java anda, dan taruh script dibawah ini di dalam onCreate.

String list[]={"list pertama","list kedua","list ketiga"};
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> AdapterList = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_dropdown_item,list);
spinner.setAdapter(AdapterList);

Pembuatan ComboBox telah selesai, tinggal di run di android untuk mlihat hasilnya.

Cara Membuat Tabel Di Android

Membuat tabel di android mungkin sebagian orang belum mengetahui caranya, dan sekarang saya akan membagikan tutorialnya bagaimana membuat tabel tersebut. Pada pembuatan tabel di android yang di butuhkan yaitu menambahkan TableLayout di dalam xml layout anda, berikut adalah script TableLayout punya saya.



<TableLayout
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:id="@+id/table"
     android:layout_gravity="center_horizontal">
</TableLayout>

Setelah itu kita tinggal menambahkan script javanya untuk membuat kolom-kolomnya. Berikut adalah script yang harus anda taruh di javanya.

TableLayout tl = (TableLayout) findViewById(R.id.table);
String field[]={"field 1","field 2","field 3"};
TableRow tr = new TableRow(this);
tr.setBackgroundColor(Color.BLUE);
for(int i=0;i<field.length;i++){
    TextView tv = new TextView(this);
    TableRow.LayoutParams params = new TableRow.LayoutParams(
         TableRow.LayoutParams.WRAP_CONTENT,
         TableRow.LayoutParams.WRAP_CONTENT);
    if(i==0) {
 params.setMargins(2,2,2,2);
    }
    else{
 params.setMargins(0,2,2,2);
    }
    
    tv.setTextColor(Color.WHITE);
    tv.setPadding(10, 5, 10, 5);
    tv.setBackgroundColor(Color.BLUE);
    tv.setText(field[i]);
    tr.addView(tv,params);
}
tl.addView(tr);

Di atas adalah script untuk membuat header kolom, untuk membuat isi dari setiap kolom anda bisa menggunakan script diatas dengan mengganti nama fieldnya sesuai data anda.

Tutorial WebView Android

Anda memiliki sebuah web atau blog, pastinya menginginkan web atau blog anda dibuat aplikasi natif android. Pada kali ini saya akan membagikan tutorial tersebut seperti yang sudah saya lakukan pada blog saya. Mungkin langkah awal yang harus diperhatikan yaitu tampilan web atau blog anda responsive terhadap perangkat pengguna, contohnya pada blog saya ini.



Mungkin saat ini saya tidak akan membahas untuk mengubah web atau blog anda menjadi responsive, melainkan memberikan tutorial bagaimana web atau blog anda di buat ke dalam aplikasi android. Untuk mengintegrasikan web atau blog ke dalam aplikasi android kita akan memanfaatkan fitur WebView pada android itu sendiri.

Terus bagaimana cara menggunakan fitur tersebut ?... Nah ini dia caranya. Langkah-langkah yang harus anda lakukan antara lain yaitu :

Pertama anda harus membuat projek baru terlebih dahulu, bebas anda mau menggunakan Eclipse atau Android Studio. Kalu belum tahu caranya silahkan baca artikael saya Cara Membuat Projek Android Dengan Eclipse atau yang untuk android studio Cara Membuat Projek Android Dengan Eclipse.

Langkah kedua yakni menambahkan WebView pada Layout anda menjadi seperti di bawah ini :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <WebView
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

Langkah ketiga yaitu menambahkan source code di bawah ini pada di dalam onCreate(Bundle saveInstance)  di MainActivity.java anda.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView wbview = (WebView)findViewById(R.id.webView1);
        wbview.loadUrl("ALAMAT WEB / BLOG ANDA");
    }

Sampai disini web atau blog anda sudah jadi aplikasi android, namun ketika link dalam web atau blog anda klik akan terbuka menggunakan aplikasi browser. Nah untuk membuatnya tetap termuat dalam aplikasi anda silahkan tambahkan Class di bawah ini.

    public class MyBrowser extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String urls) {
            view.loadUrl(urls);
            return true;
        }
    }
Setelah itu di dalam onCreate(Bundle saveInstance) sebelum  wbview.loadUrl("ALAMAT WEB / BLOG ANDA"); tambahkan script dibawah ini.

        webView.setWebViewClient(new MyBrowser());
        WebSettings wbset= webView.getSettings();
        wbset.setJavaScriptEnabled(true);


Langkah selanjutnya tinggal menambahkan script di bawah ini agar ketika di tekan navigasi back bisa ke halaman sebelumnya.

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && this.webView.canGoBack()) {
            this.webView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

Langkah terakhir yakni menambahkan permission internetnya pada AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"/>

Tinggal build ke apk dan jalankan di android anda atau android emulator.

Cara Import Library Di Android Studio

Kali ini saya bagikan cara import library di android studio. Pada sebagian orang yang baru menggunakan android studio mungkin merasa bingung untuk import library ke dalam projek. Masalahnya pada android studio berbeda untuk struktur library dengan Eclipse, jadi mari kita bahas untuk yang import library di android studio.

Tak perlu banyak kata-kata langsung saja buka android studio anda, setelah itu anda lihat di struktur projek anda, disitu jelas sekali berbeda dengan struktur di eclipse. Saya akan jelaskan satu persatu fungsi dari masing-masing yang ada pada struktur tersebut.

- App : Ini merupakan direktori utama dimana projek anda disimpan
- Gradle Script : Nah disinalah semua konfigurasi linking dan librarynya
- build.gradle(Module app) : Di dalamnya berisi konfigurasi projek dan compiler anda
- setting.gradle(Project Setting) : Di dalamnya berisi konfigurasi path direktori

Untuk yang lain silahkan dipelajari sendiri ya, soalnya yang saya bahas ialah cara import library. Dan kenapa saya hanya menjelaskan yang diatas itu saja, karena nanti kita juga mengkonigurasikannya.




Sekarang langsung saja masuk ke cara import librarynya. Langkah-langkahnya bisa anda ikuti sebagai berikut :
- Klik kanan pada projek anda
- Pilih New->Module
- Pilih Import .JAR/.AAR Pakage
- Klik Next
- Cari file library jar anada
- Kemudian klik Finish

Sampai disini modul telah berhasil di import namun belum sepenuhnya selesai, karena library tersebut belum di linking ke dalam compiler projek. Lankah-langkah menambahkan ke dalam compiler sebagai berikut:
- Klik kanan pada projek anda
- Pilih Open Module Setting
- Kemudian pada jendela baru pilih dependencies 
- Klik tanda plus (+) pada pojok kanan atas
- Pilih Module Dependencies
- Kemudian pilih module yang telah kita import tadi
- Klik Ok dan Ok lagi

Itulah langkah-langkah import library di Android Studio dengan file JAR, untuk file project library mungkin lain waktu akan saya bahas juga.

Cara Import Library Ke Dalam Projek Eclipse

Library memang komponen yang tidak bisa lepas dari seorang pengembang aplikasi, karena dengan memakai library mereka di mudahkan serta menyingkat waktu pembuatan aplikasi tersebut. Kali ini saya akan bagikan kepada anda pengembang aplikasi android menggunakan eclipse yakni cara mengimport library eksternal kedalam projek eclipse.



Sebelumnya saya akan jelaskan tipe library yang bisa dipakai di eclipse. Tipe library yang saya bahas disini ada dua yaitu library projek sama library external jar. Berikut adalah penjelasan kedua library tersebut :

Library Projek

Library projek merupakan sebuah library yang terbentuk dari sebuah projek yang telah didefinisikan sebagai library atau telah di otoritaskan sebagai library. Library projek tentu adalah sebuah projek juga jadi dalam penggunaannya kita juga harus mengimportnya sepert import projek biasa, langkahnya sebagai berikut :
- Klik menu File
- Pilih Import
- Pada jendela baru yang mncul pilih Android->Existing Android Code Into Workspace
- Kemudian pada RootDirektori klik Browse... cari direktori dimana library projek anda simpan
- Jangan lupa centang Copy Project Into Workspace
- Selanjutnya klik Finish 

Setelah library projek masuk ke list projek di eclipse, langkah selanjutnya ialah mendefinisikan projek library tersebut digunakan sebagai library. Langkah-langkahnya sebagai berikut :
- Klik kanan pada projek library  tadi
- Pilih Propertise
- Kemudian muncul jendela baru, dan pilih Android
- Jangan lupa centang Is Library. Ini lah yang menandakan kalau projek ini sebagai library
- Kemudian klik Ok

Lanjut lagi langkah selanjutnya, yakni menjadikan projek library tadi sebagai library dari projek yang kita buat. Langkah-langkahnya sebagai berikut :
- Klik kanan pada projek library  tadi
- Pilih Propertise
- Kemudian muncul jendela baru, dan pilih Android
- Klik Add dan pilih projek library tadi 
- Kemudian klik Ok dan Ok lagi

Langkah terakhir ialah masuk ke Project lalu klik Build All, dan tunggu hingga proses selesai.


Library External Jar
Library External Jar tersebut merupakan sebuah library yang berbentuk jar file. Untuk mengimport library tersebut berikut langkah-langkahnya :
- Klik kanan pada projek anda
- Pilih Build Path->Configure Build Path
- Pada jendela baru pilih tab Libraries
- Kemudian klik Add External Jar
- Cari file library external jar anda
- Kemudian klik Ok

Langkah terakhir ialah masuk ke Project lalu klik Build All, dan tunggu hingga proses selesai.


Demikian adalah cara untuk mengimport library ke dalam projek eclipse, dan lain kali saya akan bahas juga tentang bagaimana import library di Android Studio

Cara Membuat Projek Android Dengan Eclipse

Banyak aplikasi yang dipakai oleh para developer android dan juga memakai bahasa pemrograman yang berbeda-beda juga. Dan salah satu aplikasi tersebut adalah Eclipse, sebuah aplikasi untuk membuat program yang mengusung bahasa pemrograman java. Kemudian bagaimana kita harus memulai langkah awal  untuk membuat projek android dengan aplikasi eclipse tersebut.  Oke sekarang kita bahas permasalahan tersebut, tapi dalam pembahasan kali ini saya tidak akan membahas proses persiapan atau konigurasi awal eclipse.

Langkah awal yang perlu dilakukan yakni buka aplikasi eclipse anda dan akan muncul tampilan seperti di bawah ini :


Kok bukan eclipse namanya ?
Ya begitulah, itu namanya Android Development Tool yang sudah di cloning dengan eclipse juno. Dan cara pemakainnya sama persis, tidak ada bedanya.



Dan kemudian lanjut saja klik pada menu File  kemudian pilih New dan pilih Android Aplication Project. 
Kemudian akan jendela baru  seperti gambar dibawah ini, kemudian isikan nama aplication anda bebas diawali huruf kapital, dan pada bagian pakagename hilngkan tulisan example. Dan untuk Minimum required sdk pilih yang sesuai projek anda atau pilih gingerbread saja, dan untuk yang lain mungkin bisa biarkan default saja.



Jika sudah klik Next -> Next ->pilih Empty Activity->Finish dan tunggu hingga selesai, dan sampai disini anda telah berhasil membuat projek andoid dengan eclipse.

Kumpulan Library Buat Para Pengembang Aplikasi Android

Banyak programmer aplikasi android yang memanfaatkan library untuk membuat aplikasi mereka. Alasan mereka menggunakan library guna untuk memudahkan serta mempercpat dalam pembuatan aplikasi tersebut. Namun bagi yang belum mengerti alias newbie pasti bingung mencari library yang paling cocok untuk aplikasi mereka.



Library-libray android bisa kita temukan di forum Github, disanalah tempat berkumpul dan berbagi source para master-master programmer. Di Github juga tidak hanya memuat konten android saja tetapi juga memuat semua jenis pemrograman yang ada. Tetapi di github kita harus mencari-cari sendiri library tersebut, bahkan sebagian tidak ada sample demonya atau screenshotnya. Namun kali ini saya akan memberitahu bahwa ada sebuah bahkan beberapa aplikasi yang memuat library-library di github dan salah satunya adalah Libraries For Developers, aplikasi ini tersedia dalam dua platform yakni android yang bisa anda download di playstore dan platform IOS yang bisa anda download di AppStore.

Kenapa saya menyarankan aplikasi tersebut, karena aplikasi itulah yang menurut saya paling komplit dan bagus sekali dalam fiturnya. Salah satu fitur yang saya suka ialah fitur demonya, jadi kelika kita memilih librarynya kita bisa melihat contoh penerapan dari library yang anda pilih. Selain fitur tersebut ada juga fitur download librarynya secara langsung alias tinggal klik langsung download, jadi kita tidak perlu repot-repot lagi download di github.

Untuk mengunduh aplikasi tersebut anda bisa langsung menuju playstore dan cari dengan kata kunci Libraries For Developers, ketemu langsung download saja. Atau anda juga bisa mendownloadnya melalui link di bawah ini :


Link Download