Cara Membuat Aplikasi SMS Sederhana di Android Studio

Cara Membuat Aplikasi SMS Sederhana di Android Studio

Cara Membuat Aplikasi SMS Sederhana di Android Studio
Cara Membuat Aplikasi SMS Sederhana di Android Studio

Hallo sobat ruangcoder, artikel kali ini tentang Cara Membuat Aplikasi SMS Sederhana di Android Studio walaupun di android sobat sudah disediakan aplikasi SMS bawaan, tidak dipungkiri untuk belajar, apalagi ada rasa penasaran yang tinggi, mulai dari hal kecil seperti membuat aplikasi android studio yaitu aplikasi sms, sobat sebenarnya bisa saja mencari refrensi di android sobat, untuk menjadikan / pembelajaran sobat nantinya, dan kalian juga tau dong SMS itu apa, ya SMS itu adalah suatu Layanan pesan singkat atau Surat masa singkat adalah sebuah layanan yang dilaksanakan dengan sebuah telepon genggam atau android untuk mengirim atau menerima pesan-pesan pendek. Pada mulanya SMS dirancang sebagai bagian daripada GSM, tetapi sekarang sudah didapatkan pada jaringan bergerak lainnya termasuk jaringan UMTS. kalian bisa baca lengkapnya di wikipedia. tanpa banyak basa - basi langsung saja kita buat membuat aplikasi sms di android studio. disimak dengan baik ya bro.

Cara Membuat Aplikasi SMS Sederhana di Android Studio :


Langkah pertama silahkan sobat buka android studio sobat,saat terbuka android studio sobat klik -> Start a new Android Studio project -> pilih Empty Activity -> kasih nama project tersebut dengan nama "iPesan" kemudian pilh API 19: Android 4.4 (KitKat) langsung Finish saja. Lalu sobat tunggu sampai Gradle dll nya selesai di Synchrone , tunggu saja, admin anggep sobat sudah selesai, jadi kita lanjut.

Disini sobat langsung modifikasi aja yaitu MainActivity.xml default nya, dengan codingan yang dibawah ini.




<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/activity_main"
    android:padding="10dp"
    tools:context=".MainActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="phone"
            android:ems="15"
            android:id="@+id/tvNumber"
            android:hint="Masukkan Nomor Tujuan"
            android:singleLine="true" />
    </RelativeLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/pushingUp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <ScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">
                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:id="@+id/txtMessage"
                        android:layout_weight="1"/>
                </LinearLayout>
            </ScrollView>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <EditText
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:ems="160"
                android:layout_weight="5"
                android:id="@+id/tvMessage"
                android:hint="Message"/>
            <Button
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="@android:drawable/ic_menu_send"
                android:layout_height="wrap_content"
                android:id="@+id/btnSend" />
        </LinearLayout>
    </LinearLayout>

</RelativeLayout>

Selanjutnya kita akan memodifikasi class nya yaitu MainActivity.java dengan codingan yang ada dibawah ini. Tapi lagi dan lagi selalu admin ingatkan disini karena admin menggunakan android versi terbaru maka menjadi androidx bagi sobat yang masih versi lama, jangan di ketik juga , androidx dan os.Bundle itu sudah default jadi sobat tinggal coding pada bagian selanjutnya, lebih lengkap admin letakkan dari mana codingannya dibawah ini.



import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private Button btnSend;
    private EditText tvMessage;
    private EditText tvNumber;
    IntentFilter intentFilter;

    private BroadcastReceiver intentReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            //display the message in the textview
            TextView inTxt = (TextView) findViewById(R.id.txtMessage);
            inTxt.setText(intent.getExtras().getString("message"));
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //intent to filter for SMS message received
        intentFilter = new IntentFilter();
        intentFilter.addAction("SMS_RECEIVED_ACTION");

        btnSend = (Button) findViewById(R.id.btnSend);
        tvNumber = (EditText) findViewById(R.id.tvNumber);
        tvMessage = (EditText) findViewById(R.id.tvMessage);

        btnSend.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String myMsg = tvMessage.getText().toString();
                String txtNumber = tvNumber.getText().toString();
                sendMsg(txtNumber, myMsg);
            }
        });
    }

    private void sendMsg(String txtNumber, String myMsg) {
        String SENT = "Message Send";
        String DELIVERED = "Message Delivered";

        PendingIntent sentPi = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
        PendingIntent deliveredPi = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);

        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(txtNumber, null, myMsg, sentPi, deliveredPi);
    }

    @Override
    protected void onResume() {
        //register the receiver
        registerReceiver(intentReceiver, intentFilter);
        super.onResume();
    }

    @Override
    protected void onPause() {
        //unregister the receiver
        unregisterReceiver(intentReceiver);
        super.onPause();
    }
}

Langkah yang ketiga adalah kita akan membuat class baru di java dengan nama "MessageReceiver" dan masukan codingan dibawah ini.



import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;
import android.widget.Toast;


public class MessageReceiver extends BroadcastReceiver {
    @Override    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        SmsMessage[] messages;
        String str = "";

        if (bundle != null) {
            Object[] pdus = (Object[]) bundle.get("pdus");
            messages = new SmsMessage[pdus != null ? pdus.length : 0];
            for (int i=0; i<messages.length; i++) {
                messages[i] = SmsMessage.createFromPdu((byte[]) (pdus != null ? pdus[i] : null));
                str += messages[i].getOriginatingAddress();
                str += ": ";
                str += messages[i].getMessageBody();
                str += "\n";
            }

            Toast.makeText(context, str, Toast.LENGTH_SHORT).show();

            Intent broadcastIntent = new Intent();
            broadcastIntent.setAction("SMS_RECEIVED_ACTION");
            broadcastIntent.putExtra("messages", str);
            context.sendBroadcast(broadcastIntent);
        }
    }
}

Dan yang terakhir adalah memberikan codingan ini dibawah, untuk di file AndroidManifest, BTW GAN INI ANE MAKE CAPSLOCK JANGAN LUPA PERIZINAN APL NYA DI CENTANG UNTUK SMS, KALAU GAK NANTI ERROR APLIKASINYA, ANDROID SEKARANG WAJIB MEMBERIKAN PERIZINAN AGAR TIDAK DIANGGAP MENCURIGAKAN, DAN SMS INI BISA SAMPAI KALAU KALIAN PUNYA PULSA KALAU GAK YA SAMA AJA BOONG GAN HAHAHA, UDAH INI AJA WARNING NYA, KEBANGETAN KALAU GAK DIBACA.



<uses-permission android:name="android.permission.SEND_SMS">
<uses-permission android:name="android.permission.RECEIVE_SMS">
<action android:name="android.provider.Telephony.SMS_RECEIVED">

Maka hasilnya akan seperti gambar dibawah sobat, ini ane sertain juga WAJIB CENTANG PERIZINAN SMS, biar gak EROR dan wajib ADA PULSA gak ada pulsa ngapain SMS GAN hahaha. tinggal kebagian INFO APLIKASI / APP INFO , PERIZINAN , SMS CENTANG / IZINKAN DLL, bisa lihat deh gambar dibawah ini.







Oke sobat tutorial nya sampai situ aja, ini udah jelas bener ya, kalau error, itu karena sobat melum mengizinkan aplikasinya untuk SMS , oke sampai ketemu dilain waktu lagi sobat, semoga bermanfaat artikelnya, 

Anda mungkin menyukai postingan ini