Aplikasi Andoid Widget Gempa BMKG


BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) menyediakan data terbuka Gempabumi M 5.0+ Terkini, berupa file XML yang saat tulisan ini ditulis, dapat diakses melalui link http://data.bmkg.go.id/autogempa.xml.

Contoh struktur data gempa tersebut dapat dilihat sebagaimana code berikut:
<Infogempa>
<gempa>
<Tanggal>19-Aug-19</Tanggal>
<Jam>12:53:49 WIB</Jam>
<point>
<coordinates>128.26,-0.78</coordinates>
</point>
<Lintang>0.78 LS</Lintang>
<Bujur>128.26 BT</Bujur>
<Magnitude>5.0 SR</Magnitude>
<Kedalaman>10 Km</Kedalaman>
<_symbol>imagesSWF/m2b.swf</_symbol>
<Wilayah1>86 km Tenggara LABUHA-MALUT</Wilayah1>
<Wilayah2>100 km TimurLaut HALMAHERASELATAN-MALUT</Wilayah2>
<Wilayah3>130 km Tenggara WEDA-MALUT</Wilayah3>
<Wilayah4>200 km Tenggara TERNATE-MALUT</Wilayah4>
<Wilayah5>2455 km TimurLaut JAKARTA-INDONESIA</Wilayah5>
<Potensi>tidak berpotensi TSUNAMI</Potensi>
</gempa>
</Infogempa>

Data gempa ini, adalah data gempa seluruh Indonesia dengan skala di atas sama dengan 5 SR (Skala Richter).

Tidak menggunakan HttpURLConnection, penulis lebih suka menggunakan Android Volley, untuk menggenerate response data dari suatu url. Menurut penulis, penggunaan Android Volley lebih mudah dan stabil.

Sama seperti HttpURLConnection, aplikasi widget gempa ini membutuhkan authentifikasi android:usesCleartextTraffic="true" di file AndroidManifest.xml-nya. Karena jika tidak, aplikasi tidak dapat mengakses halaman web apapun.

Aplikasi juga menggunakan class Service, untuk memanggil pembaharuan data, dengan estimasi waktu yang dilakukan tiap 5 menit. Data akan disimpan dalam format SharedPreferences dalam Android dan jika terdapat perbedaan data, maka aplikasi akan memperbaharui dan menampilkan notifikasi.

Tampilan contoh hasil aplikasi adalah sebagaimana gambar berikut:

 
 

Sedangkan kode Androidnya dapat di download pada link Google Drive penulis di bawah ini:
Di mana penulis menggunakan Android Studio 3.4.2 dalam pembuatannya.

Untuk versi jadinya, dapat dicoba aplikasi Widget Gempa diatas, yang penulis distribusikan menjadi salah satu app Computational Lab, dengan link berikut ini:


Referensi:

Komentar



Postingan populer dari blog ini

Apps Script untuk Cetak Sertifikat

Menambahkan Random Key sebagai ID Pembeda di Google Sheet dengan Apps Script

Menghapus Baris di Google Sheets yang Memiliki Sel Kosong dengan Apps Script

Cara Menentukan Arah Kiblat Menggunakan Google Maps

Kaidah Baku untuk Konsistensi Data (PT, Tbk, Pty., & Ltd.)

Kumpulan Source Code Greenfoot

Eliminasi Gauss-Jordan untuk Invers Matrix dengan C++

Algorithma Julianday dengan Java

Menampilkan Undetermined Circle Progressbar di Java

Afiliasi Shopee Tanpa Wajah dan Tanpa Beli Sampel Bermodal AI