Aplikasi Android – Jakarta Taxi Dialler

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

65 comments to Aplikasi Android – Jakarta Taxi Dialler

  • Agus Haryanto

    @Rian, Coba cek androidmanifestnya permissionnya sudah ditambahkan ?.
    kalu sudah lihat logcatnya.

  • Rian

    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?

  • Rian

    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.

  • Rian

    dan ini tampilan androidmanifest.xml

    kira”ditambahin dimanannya ya mas,,
    maaf bgt banyak nannya..

  • Rian

    om agus, saya sudah berhasil..
    terimaksih om agus..
    🙂

    jangan bosen” share ilmunya om agus..

  • Ricky

    om gmna cara nya jika aplikasi ini meggunakan database dan ada action tambah,edit dan delete data..
    mhon bantuanya om..

  • arya

    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.,

  • andika

    bang kalo size textnya dikecilin bisa ga sih…
    maen edit di .xmlnya ya???

  • cah

    disilang berartikan salah, kenapa ya pak agus? suwun

  • fazrur

    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

  • ryo

    Mas..! untuk Aplikasi Android – Jakarta Taxi Dialler kalau untuk melakukan panggilan *123# gimana caranya ya?
    terimakasih banyak sebelumnya ya mas.:)

  • umam

    mas kalo datanya ngambil dari database gimana caranya..?

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>