Thursday 3 November 2016

Android Studio : Cara Membuat Aplikasi Calling Sederhana

Selamat sore, setelah kemarin saya publish tentang cara membuat aplikasi sms sederhana yang lumayan baru rilis sehari itu tembus 2000 visitors, saya berterima kasih buat kalian yang sudah mengunjungi blog ini. Nah, kemarin banyak yang request untuk pembuatan aplikasi nelpon (call) yang simple menggunakan android studio. Baiklah silakan kalian yang berminat dan mau belajar ikuti tutorial di bawah ini:

1# Seperti biasa buka android studi kalian dan pilih empty activity.
Make Call App

2# Sekarang kita buat designya, disini saya menggunakan 1 EditText (type : phone) dan satu button yang menampung function onClick(), dimana saat button ini di klik maka activity dial bawaan ponsel akan terbuka dan menelpon nomor yang kita inputkan. Kurang lebih layoutnya seperti dibawah ini:
Make Call App

Note:
  1. Beri id untuk EditTextnya, ini bertujuan supaya lebih mudah kite mengidentifikasi pada MainActivity.java, bagi kalian yang baru belajar silakan gunakan Properties untuk mengaturnya. Bagi kalian yang sudah terbiasa, saya sarankan edit mode text, biar lebih banyak bisa di custom pada xml filenya. Untuk settingan saya silakan lihat di gambar bawah ini:Make Call App
  2. Langkah selanjutnya beri action onClick() pada buttonya, pemberian nama pada action onClick() ini nantinya akan menjadi method di MainActivity.java, sebenarnya ada juga cara lain dengan memberikan actionListener, tapi kita baru belajar kita maksimalkan dulu tool yang ada di Android Studio.Make Call App
  3. Jika kalian ingin copas layout saya silakan masuk ke mode text dan copy sintaks di bawah ini:




  4. <?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:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.maninback.call.MainActivity"
    >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="ManInback"
            android:id="@+id/textView"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
    />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="phone"
            android:id="@+id/txtNo"
            android:layout_below="@+id/textView"
            android:layout_marginTop="60dp"
            android:layout_alignParentEnd="true"
            android:layout_alignParentStart="true"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:hint="No. Tel"
    />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Call"
            android:id="@+id/btnCall"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            style="@style/Base.Widget.AppCompat.Button.Colored"
            android:onClick="makeCall"
    />
    </RelativeLayout>


3# Pada langkah ini, silakan kalian buka MainActivity,java dan buat sintaks seperti di bawah ini. Untuk keterangnya sudah saya beri catatan di masing-masing sintaksnya agar lebih mudah di mengerti.





package com.example.maninback.call;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    //deklarasi variabel global yang akan menampung nilai dari EditText no yang diinput
    EditText txtNo;
    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //proses pengisian txtNo yang diisi berdasarkan id EditTextnya
        txtNo = (EditText)findViewById(R.id.txtNo);
    }
    //function onClick yang dibuat pada designya
    protected void makeCall(View view){
        //pengambilan nilai EditText yang kemudian di parse kedalam String
        String no = txtNo.getText().toString();
        //pembuatan redirect saat function berjalan ke dial default no hp akan otomatis ke-isi
        Intent in = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+no));
        try {
            //menjalankan activity in
            startActivity(in);
        }
        //pembuatan pesan error jika
activity in gagal dijalankan

        catch (android.content.ActivityNotFoundExceptione){

            Toast.makeText(getApplicationContext(),
"Tidak ada halaman Aktiviti yang ditemukan", Toast.LENGTH_SHORT).show();

        }

    }

}


5# Langkah terakhir silakan kalian tambahkan permissions pada AndroidManifestnya, tambahkan permissions call sintaksnya seperti di bawah ini:


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


6# Pada langkah terakhir ini optional bagi kalian yang menggunakan android 6.0 (M), sebelum kalian atur permissions telephone untuk aplikasi ini. Pada handphone biasanya terdapat pada setting. Kalau permissionsnya belum di allow dipastikan aplikasi akan muncul error saat tombol ditekan.

Capture work di HH xiaomi saya:
Make Call AppMake Call App

Sekian tutorialnya, maaf hanya bisa berbagi yang dasar-dasar karena saya juga baru belajar. Sudah ada beberapa project yang selesai, namun untuk buat tutorialnya lumayan lama. Thanks

Baca juga artikel lainnya: