Pada tutorial android yang lalu kita telah belajar membuat aplikasi bangun datar, pada tutorial android kali ini kita akan belajar membuat aplikasi yang lebih keren aplikasi bangun datar, kita akan membahas tentang langkah-langkah pembuatan aplikasi Jakarta Taxi Dialler.
Ingin tahukan apa itu Jakarta Taxi Dialler ?
Jakarta Taxi Dialler adalah aplikasi yang memudahkan para pengguna android untuk memesan taksi.
Aplikasi dibuat untuk menyelesaikan suatu masalah.
Latar belakang Masalah
Tentunya ada yang pernah mengalami untuk yang rumahnya jauh dari jalan utama, sulit sekali mencari taksi, cara yang biasa dilakukan adalah dengan menelepon provider taksi. Masalahnya banyak diantara kita yang tidak menyimpan nomor telepon provider taksi. Untuk mendapatkan informasi ini biasanya kita menghubungi 147.
Solusi
Atas dasar itulah mari kita Bantu para pengguna android untuk mempermudah mereka dalam memesan taksi dengan memanfaatkan aplikasi Jakarta Taxi Dialler yang kita buat. Dengan Aplikasi ini pengguna tinggal membuka aplikasi dan memilih provider taksi yang ingin dipesan.
Hal-hal yang harus dilakukan
1. Kumpulkan data telepon provider taksi, Alhamdulillah setelah googling akhirnya dapat data nomor telepon taksi di Jakarta
No | Taksi | Telepon |
1. | Blue Bird | 0217941234 |
2. | Ekspress | 02126509000 |
3. | Golden | 02165300333 |
4. | Primajasa | 0217424525 |
5. | Dian | 0215807070 |
6. | Sri Medali | 0218005555 |
7. | Putra | 0217815777 |
Mohon maaf apa bila ada provider taksi yang belum tercantum di sini, dan nomor yang tercantum sudah tidak valid.
2. Buat Menunya dalam bentuk List Menu, yang sudah kita pelajari dalam tutorial sebelumnya
3. Cari script android yang digunakan untuk melakukan panggilan telepon, setelah googling akhirnya dapat referensi di http://www.helloandroid.com/tutorials/how-make-phone-call-your-application
Semua yang kita butuhkan sudah kita dapatkan, it’s time for coding
1. Buat New Project dengan nama JakartaTaxiDialer, lengkapi seperti gambar dibawah
2. Setelah project tercreate maka secara otomatis android membentuk 3 file yaitu :
- main.xml
- string.xml
- TaxiDialer.java
3. Buka file TaxiDialer.java, edit isinya sehingga kodenya seperti dibawah ini
package com.agus; import android.app.ListActivity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class TaxiDialer extends ListActivity { //Buat arrray 2 dimensi untuk data taksi yang terdiri dari nama dan nomor telepon private String[][] taxi_data = { { "Blue Bird", "0217941234" }, { "Express", "02126509000" }, { "Golden", "02165300333" }, { "Prima Jasa", "0217424525" }, { "Dian", "0215807070" }, { "Sri Medali", "0218005555" }, { "Putra", "0217815777" } }; //Buat arrray 1 dimensi untuk keperluan pembuatan menu list provider taxi private String[] taxi_name = { "Blue Bird", "Express", "Golden", "Prima Jasa", "Dian", "Sri Medali", "Putra", "Exit" }; public void onCreate(Bundle icicle) { super.onCreate(icicle); // Create an ArrayAdapter, that will actually make the Strings above // appear in the ListView // Menset nilai array ke dalam list adapater sehingga data pada array // akan dimunculkan dalam list this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, taxi_name)); } @Override /**method ini akan mengoveride method onListItemClick yang ada pada class List Activity * method ini akan dipanggil apabilai ada salah satu item dari list menu yang dipilih */ protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); // Get the item that was clicked // Menangkap nilai text yang dklik Object o = this.getListAdapter().getItem(position); String pilihan = o.toString(); // Mencek pilihan, apabila pilihan = Exit maka akan keluar dari aplikasi if (pilihan.equals("Exit")) { finish(); } else {// pilihan != exit maka akan memanggil method callTaxi callTaxi(pilihan); } } /** * Launches the activity to make phone call to taxi provider based on * selected taxi * */ protected void callTaxi(String pilihan) { try { // Intent digunakan untuk sebagai pengenal suatu activity untuk // membuat panggilan telepon Intent callIntent = new Intent(Intent.ACTION_CALL); String phonenumber = ""; for (int i = 0; i < taxi_data.length; i++) { if (pilihan.equals(taxi_data[i][0])) { phonenumber = taxi_data[i][1]; } } if (phonenumber.equals("")) { Toast.makeText(this, "Provider Taxi is not register", Toast.LENGTH_LONG).show(); return; } callIntent.setData(Uri.parse("tel:" + phonenumber)); startActivity(callIntent); } catch (Exception e) { e.printStackTrace(); } } }
Pertama kita definisikan class ini sebagai List Activity
Kita buat dua buah array satu array 2 dimensi dengan nama taxi_data yang digunakan untuk menyimpan data nama taxi dan nomor teleponnya. Yang satu laig array 1 dimensi dengan nama taxi_name yang berisi untuk menyimpan hanya data nama taksi yang sama dengan yang ada di taxi_data ditambah dengan “Exit” untuk keperluan keluar dari aplikasi.
Array taxi_name diset kedalam ListActivity dengan menggunakan syntak “setListAdapter”agar terbetuk list menu yang isinya dari array taxi_name.
Agar setiap kita memilih menu ada action yang dilakukan maka kita buat method onListItemClick
Nah didalam method ini kita tangkap menu yang dipilih kita cek apabila yang dipih Exit maka akan keluar dari aplikasi, pilihan selain Exit akan memanggil method callTaxi
Method callTaxi inilah yang akan memproses menu pilihan kita, mencari nomor taxi berdasarkan pilihan menu lalu melakukan panggilan. Agar kita bisa melakukan panggilan kita perlu membuat activity yang dapat melakukan panggilan
Intent callIntent = new Intent(Intent.ACTION_CALL);
Tentukan nomor yang akan dipanggil, lalu lakukan panggilan
callIntent.setData(Uri.parse(“tel:” + phonenumber));
startActivity(callIntent);
4. Untuk dapat melakukan panggilan kita perlu mendaftarkan permission nya melalui file AndroidManifest.xml , buka file AndroidManifest.xml tambahkan kode berikut
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> <uses-permission android:name="android.permission.CALL_PRIVILEGED"></uses-permission>
Sehingga isi lengkap AndroidManifest.xml menjadi seperti ini
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.agus" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".TaxiDialer" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> <uses-permission android:name="android.permission.CALL_PRIVILEGED"></uses-permission> </manifest>
5. Sekarang baru Running Time, Simpan semua file yang kita edit, lalu jalankan aplikasi ini.
Untuk memastikan Applikasi kita berjalan bagusnya kita buat list checking
No | Tindakan | Hasil yang diharapkan |
1. | Buka Aplikasi | Tampil Menu List yang berisi Provider Taxi |
2. | Pada Menu Pilih Salah Satu Provider Taksi | Aplikasi secara otomatis akan melakukan panggilan ke nomor telepn provider taksi yang dipilih |
3. | Pada Menu Pilih Exit | Keluar dari Aplikasi |
Berikut hasil dari aplikasi yang kita buat
Pilih Salah Satu Provider Taksi
Bagaimana kawan-kawan tambah semangatkan mendalami android, bayangkan hanya dengan kode yang sedikit kita sudah bisa membuat aplikasi yang cukup bermanfaat bagi pengguna android.
Penulis harapkan kawan-kawan dapat mengembangkan aplikasi ini menjadi lebih baik lagi, kalau bisa jangan hanya Jakarta Taxi Dialler, tapi sudah Indonesia Taksi Dialler yang didalamnya terdapat nomor-nomor Taksi yang terdapat dibeberapa kota besar di indonesia. Kalau sudah jadi bisa disubmit ke android market.
Taxi Dialer ini hanya ide dasar, kawan-kawan bisa mengembangkan ke area selain Taksi, bisa yang dikantornya banyak berhubungan dengan pelanggan, bisa mengumpulkan nomor-nomornya lalu dijadikan aplikasi Customer Sales Dialler. Jadi apabila ada karyawan baru, tinggal install aplikasi tidak usah repot-repot copy phone book
untuk yang baru mulai belajar android, apabila mengalami kesulitan dalam mengikuti tutorial ini, bisa dimulai dengan tutorial Aplikasi Android Sederhana Menghitung Luas Persegi Panjang
Salam Hangat
Agus Haryanto
@Rian, Coba cek androidmanifestnya permissionnya sudah ditambahkan ?.
kalu sudah lihat logcatnya.
sebelumnya saya baru menjalankan aplikasi ini di simulator mas..
untuk androidmanifestnya.xml sudah saya ganti..
apakah dialler ini baru bisa berjalan, kalo kita sudah pindahkan di hp ya mas?
saya sudah mencoba di Hp android hasilnya memang tidak bisa..
jadi masalhnya ada di nomer mas.
2.Pada Menu Pilih Salah Satu Provider Taksi
aplikasi tidak melakukan panggilan ke nomer yang di pilih.
mohon pencerahannya mas.
dan ini tampilan androidmanifest.xml
kira”ditambahin dimanannya ya mas,,
maaf bgt banyak nannya..
om agus, saya sudah berhasil..
terimaksih om agus..
🙂
jangan bosen” share ilmunya om agus..
om gmna cara nya jika aplikasi ini meggunakan database dan ada action tambah,edit dan delete data..
mhon bantuanya om..
Keren (y)
pa agus saya mw tanya
kalau saya ingin menggunakan fungsi dial untuk call no *1234#
nah itu ga bisa
ada cara agar # nya ikut ga?
mohon bantuannya
lah ni kn aplikasi yg jadi bahan skripsi q.,
cuman q Semarang Taxi Dialer menggunakan metode LBS.,
sampe ckrg belum dpt-dpt api key dr google.,
bang kalo size textnya dikecilin bisa ga sih…
maen edit di .xmlnya ya???
disilang berartikan salah, kenapa ya pak agus? suwun
mas agus kok saya ada pesan error ya di manifest nya. .
errornya : “Permission is only granted by system apps” . .
udah saya cara ini : Window -> Preferences -> Android -> Lint Error Checking. udah saya ganti ProtectedPermission severty lebih rendah lah dari error, dan pas di run aplikasinya force close langsung,..
Kenapa ya?
hmm ternyata lumayan susah juga ya… malah jadi makin penasaran
Mas..! untuk Aplikasi Android – Jakarta Taxi Dialler kalau untuk melakukan panggilan *123# gimana caranya ya?
terimakasih banyak sebelumnya ya mas.:)
mas kalo datanya ngambil dari database gimana caranya..?