Android Studio : Membuka intent activity melalui menu preferences

Langsung singkat saja, berikut adalah syntax untuk memanggil activity melalui preference:

<PreferenceCategory 
    android:title="text title">
    <Preference
        android:key="keySomething"
        android:title="text title"
        android:summary="text summary">
        <intent
             android:action="android.intent.action.VIEW"
             android:targetPackage="com.example.app"
             android:targetClass="com.example.app.NamesActivity" />         
    </Preference>
.....
</PreferenceCategory>

kuncinya ada di targetPackage dan targetClass

Untuk membuka activity baru dari click pada navigation menu dan atau navigation drawer, caranya berbeda lagi.

Cara mengganti warna (replace color) pada gambar di Gimp

Ganti warna gambar pada Gimp ternyata tidak sulit. Tinggal berapa click saja sudah berubah.

Gimp adalah aplikasi pengolah gambar digital sama seperti Photoshop. Bedanya, Gimp berlisensi open source sehingga aplikasi ini gratis digunakan tanpa perlu membayar lisensi.

Berikut langkahnya:

  1. Buka gambar yang akan diganti warnanya dengan Gimp.
  2. Click Color > Map > Color Exchange
  3. Ubah from color dan to color untuk mengubah warna dari warna lama ke warna baru.

Tool ini bisa sangat membantu untuk mengganti warna pada gambar yang tidak terlalu banyak memiliki komponen warna. Misalnya dalam gambar atau icon yang memiliki dua warna. Kita ingin mengganti salah satu warnanya saja misalnya.

Untuk gambar yang memiliki susunan warna yang komplek, seperti untuk gambar yang meimiliki gradient, atau foto dari kamera. Gambar kompleks seperti ini memerlukan teknik editing foto yang lebih kompleks.

SQL query untuk sorting berdasarkan hasil dari operasi aritmatika dua column

Langsung saja, ini hanya sebuah catatan ketika ada kasus kita ingin sorting berdasar dua column dalam satu table. Nah dua column ini saling berkaitan dan kebetulan tipenya adalah integer.  Yang satu bisa lebih besar dari yang lain, tapi tidak selalu.

Contoh kasus misal ada bulan dan tahun yang ditaruh pada dua column berbeda dalam satu tabel. Nah untuk mengurutkannya kan tidak bisa per masing-masing column. Misal untuk beberapa data tahun dan beberapa data bulan. 2015 Desember dengan 2017 Januari kan jika disorting berdasarkan tahun akan lebih ‘besar’ yang kedua, kalau disorting berdasarkan bulan akan lebih ‘besar’ yang pertama.

SELECT 
ID, TAHUN, BULAN, (TAHUN+BULAN) AS WAKTU 
FROM TABLE_WAKTU
ORDER BY WAKTU DESC

 

https://stackoverflow.com/questions/1309203/order-by-sum-of-two-fields

SendGrid: Cara Pakai API Dengan Authentication Menggunakan PHP dan cURL

SendGrid menyediakan REST API sebagai penghubung antara aplikasi kita dengan layanan yang mereka berikan. Untuk berinteraksi dengan API mereka, kita membutuhkan API KEY yang didapat dari account kita di SendGrid.

Sesuai dengan dokumentasi di website SendGrid, berikut cara panggil API nya menggunakan cURL.

curl --request POST \
  --url https://api.sendgrid.com/v3/mail/batch \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \

Contoh diatas untuk mendapatkan Batch id.

Authentication diatas menggunakan Bearer atau token berupa API KEY account kita di SendGrid.

Berikut ketika cURL digunakan pada PHP.

$url = '<url api>';
$apikey = '<api key anda>';
$content = json_encode('<array content anda>');

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json","authorization: Bearer ".$apikey));
curl_setopt($curl, CURLOPT_HTTPGET, 1); //untuk GET method

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);

 

 

Cara Panggil REST API di Client Menggunakan PHP dan cURL

POST

$url = "url yang jadi interface";    
$content = json_encode("data body yang di post dalam bentuk php array");

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);

GET

$url = "url yang jadi interface";    

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_HTTPGET, 1)

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);

untuk menambahkan authentikasi pada saat memanggil API menggunakan bearer atau token authentication, bisa ditambahkan di dalam komponen array sejajar dengan “Content-type”

misalnya seperti

$url = "url yang jadi interface";    

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json", "authorization: Bearer <token>"));
curl_setopt($curl, CURLOPT_HTTPGET, 1)

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);