“`
Bu tasarım, kullanıcıdan telefon numarasını ve mesajı girmesini sağlayacak alanlar oluşturur.
Mesaj Gönderme İşlevinin Kodlanması
Kullanıcıdan alınan verileri işleyerek SMS göndermek için gerekli kodu yazalım. MainActivity.java dosyanızda aşağıdaki kodları ekleyin:
“`java
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
public class MainActivity extends AppCompatActivity {
private static final int SMS_PERMISSION_CODE = 100;
private EditText phoneNumber, message;
private TextView statusMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
phoneNumber = findViewById(R.id.phoneNumber);
message = findViewById(R.id.message);
statusMessage = findViewById(R.id.statusMessage);
Button sendButton = findViewById(R.id.sendButton);
sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendSMS();
}
});
}
private void sendSMS() {
String number = phoneNumber.getText().toString();
String msg = message.getText().toString();
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, SMS_PERMISSION_CODE);
} else {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(number, null, msg, null, null);
Toast.makeText(getApplicationContext(), “Mesaj Gönderildi!”, Toast.LENGTH_SHORT).show();
statusMessage.setText(“Mesaj gönderildi: ” + msg);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == SMS_PERMISSION_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
sendSMS();
} else {
Toast.makeText(this, “SMS gönderme izni verilmedi!”, Toast.LENGTH_SHORT).show();
}
}
}
}
“`
Bu kod, kullanıcıdan alınan telefon numarasına ve mesaja göre SMS göndermektedir. Kullanıcı izni kontrol edilmekte ve izin verilmediği takdirde kullanıcıdan izin istenmektedir.
Uygulamanın Test Edilmesi
Geliştirdiğiniz uygulamayı bir Android cihazda test etmek için, cihazınızda USB hata ayıklama modunu etkinleştirmeniz gerekebilir. Uygulama kurulumunu gerçekleştirdikten sonra, kullanıcı arayüzüne gidin ve telefon numarasını ve mesajı girip “Gönder” butonuna tıklayarak SMS göndermeyi deneyin.
Android üzerinde kısa mesaj gönderen bir uygulama geliştirmek, kullanıcı etkileşimini artırmak ve iletişim kurmak için oldukça faydalı bir yöntemdir. Bu makalede, gerekli izinlerin alınması, kullanıcı arayüzünün oluşturulması ve mesaj gönderme işlevinin kodlanması adımlarını detaylı bir şekilde ele aldık. Bu temel yapı ile daha karmaşık özellikler ekleyerek uygulamanızı geliştirebilirsiniz. Android uygulama geliştirme sürecinizi başlatmak için bu adımları takip edebilirsiniz.
Android platformu, kullanıcı etkileşimini artırmak ve iletişimi kolaylaştırmak için birçok özellik sunar. Bu özelliklerden biri de kullanıcıya kısa mesaj göndermektir. Android uygulamaları, SMS göndermek için yerleşik bir API kullanarak bu işlemi gerçekleştirebilir. Bu API, geliştiricilerin uygulamalarını kullanarak SMS göndermelerine olanak tanır. Böylece kullanıcılar, uygulama üzerinden hızlı bir şekilde mesaj gönderebilir.
Kısa mesaj göndermek için öncelikle gerekli izinlerin alınması gereklidir. Android 6.0 ve üstü sürümlerde, uygulama kullanıcıdan runtime izinleri almak zorundadır. Bu izinler arasında SMS gönderme yetkisi de bulunmaktadır. Kullanıcıdan izin almak için, uygulama içinde bir kontrol mekanizması oluşturulmalı ve kullanıcıya gerekli izinler hakkında bilgi verilmelidir. Eğer kullanıcı izin vermezse, SMS gönderme işlemi gerçekleştirilemez.
Mesaj gönderme işlemi, genellikle bir butona tıklandığında tetiklenir. Geliştiriciler, kullanıcıdan alınan mesaj içeriğini ve alıcının telefon numarasını alarak, bu bilgileri SMS gönderme API’sine iletir. Bu işlem, uygulamanın arka planda çalışmasını sağlayarak kullanıcı deneyimini artırır. Ayrıca, kullanıcı arayüzü tasarımı da bu işlemi kolaylaştıracak şekilde düzenlenmelidir.
Android’de SMS gönderimi için kullanılan temel sınıf SmsManager
sınıfıdır. Bu sınıf, SMS gönderme işlemlerini gerçekleştirmek için çeşitli yöntemler sunar. sendTextMessage()
metodu, alıcı numarası, mesaj içeriği ve diğer seçeneklerle birlikte SMS göndermeyi sağlar. Geliştiriciler, bu yöntemi kullanarak kullanıcıların uygulama üzerinden mesaj göndermelerine olanak tanır.
Mesajın başarılı bir şekilde gönderilip gönderilmediğini kontrol etmek için, PendingIntent
kullanarak bir geri dönüş bildirimi (broadcast) ayarlanabilir. Bu sayede, mesajın durumu hakkında kullanıcıya bilgi verilmesi sağlanır. Eğer mesaj gönderimi başarılı olursa, kullanıcıya bu bilgi gösterilir. Aksi takdirde, bir hata mesajı ile kullanıcı bilgilendirilir.
Uygulamanın kullanıcı deneyimini geliştirmek için, kullanıcı arayüzünde görsel geri bildirimler sağlamak önemlidir. Mesaj gönderim işlemi sırasında bir yükleniyor animasyonu veya bildirim görüntülemek, kullanıcının uygulama ile etkileşimini artırabilir. Böylece, kullanıcılar işlemin ne zaman tamamlanacağını daha iyi anlayabilirler.
SMS gönderme işlemleri sırasında kullanıcının gizliliği ve veri güvenliği önemlidir. Kullanıcıların telefon numaralarının ve mesaj içeriklerinin korunması için gerekli önlemler alınmalıdır. Uygulama geliştiricileri, kullanıcıdan aldıkları bilgileri yalnızca gerekli durumlarda kullanmalı ve bu bilgileri üçüncü şahıslarla paylaşmamalıdır.
Aşama
Açıklama
İzin Alma
Kullanıcıdan SMS gönderme izni alınmalıdır.
Mesaj İçeriği ve Alıcı
Kullanıcıdan mesaj içeriği ve alıcı numarası alınmalıdır.
SmsManager Kullanımı
SmsManager sınıfı ile mesaj gönderimi yapılır.
Geri Bildirim
Mesajın gönderim durumu için PendingIntent kullanılır.
Kullanıcı Arayüzü
Görsel geri bildirimlerle kullanıcı deneyimi artırılır.
Gizlilik ve Güvenlik
Kullanıcı bilgileri korunmalı ve gizli tutulmalıdır.