28 Eylül 2015 Pazartesi

#ANDROID - ScrollView Kullanımı ve E-Mail Gönderme Uygulaması

  Hiç yorum yok
Evet arkadaşlar email uygulaması yapacağız. Daha doğrusu ScrollView'in de işlevini görmek adına saçma bir email uygulaması yapacağız.

Yine oluşturacağımız dosyalar emailgonder.xml ve Email.java olacak.

emailgonder.xml dosyası:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="100">

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="30">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alıcı Email(ler):"
android:textSize="25dp"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Virgülle ayırın (a@.com, b@com, ...)"
android:id="@+id/etMailler"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Konu:"
android:textSize="25dp"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etMailKonusu"
android:hint="Mail konusunu girin"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alıcıların Adı:"
android:textSize="25dp"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etAliciAdi"
android:hint="Maili acalak kişi adlarını girin"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mesaj:"
android:textSize="25dp"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etMesaj"
android:hint="Mail içeriğini yazın"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kapanış Sözü:"
android:textSize="25dp"/>

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etKapanisSozu"
android:hint="Kapanış sözünüzü yazın"/>

</LinearLayout>

</ScrollView>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="40"
android:gravity="center">

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Mail Gönder"
android:textSize="30dp"
android:id="@+id/bMailGonder"/>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#000">

<AnalogClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/analogClock1"
android:layout_marginTop="25dp"
android:layout_gravity="center"/>

</LinearLayout>

</LinearLayout>

Gördüğünüz gibi tasarım dosyamız bir hayli kalabalık ve uzun duruyor. Bunun nedeni makalenin başında da belirttiğim gibi ScrollView'in nimetini kavramak. Zaten daha önce yaptığımız tasarımların uzun versiyonu olduğundan üzerinde durulacak pek bir şey yok. İşin kod kısmına geçebiliriz.

EmailGonder.xml dosyası:

package com.hakancengiz.blogders;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Email extends Activity implements View.OnClickListener {

EditText aliciMailleri, mailKonusu, aliciAdlari, mail, kapanisSozu;
String mailAdresleri, konu, alicilarinIsimleri, mailinKendisi, sonSoz;
Button gonder;

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

ilkleme();

gonder.setOnClickListener(this);

}

private void ilkleme() {

aliciMailleri = (EditText) findViewById(R.id.etMailler);
mailKonusu = (EditText) findViewById(R.id.etMailKonusu);
aliciAdlari = (EditText) findViewById(R.id.etAliciAdi);
mail = (EditText) findViewById(R.id.etMesaj);
kapanisSozu = (EditText) findViewById(R.id.etKapanisSozu);
gonder = (Button) findViewById(R.id.bMailGonder);

}

@Override
public void onClick(View v) {

editTextleriStringeCevirenMethod();

String mailAdresleriniTutanDizi[] = {mailAdresleri};

String mailIcerigi = "Merhabalar " + alicilarinIsimleri + "\n Söylemek istediğim bazı şeyler var. Şöyleki: \n" + mail + "\nUmarım düşüncelerime değer verilir diyor ve mailimi bitiriyorum.\n" + kapanisSozu + "\nMailin sonu...";

Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, mailAdresleriniTutanDizi);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, konu);
emailIntent.setType("plain/text");
emailIntent.putExtra(Intent.ACTION_PROCESS_TEXT, mailIcerigi);
startActivity(emailIntent);
}

private void editTextleriStringeCevirenMethod() {

mailAdresleri = aliciMailleri.getText().toString();
konu = mailKonusu.getText().toString();
mailinKendisi = mail.getText().toString();
sonSoz = kapanisSozu.getText().toString();

}

}

Mail gönderme kısmı sadece lazım olduğunda kopyala-yapıştır yapılacak bir kalıp diyebiliriz. Ayrıca Activity'i AndroidManifest.xml dosyasına tanıtmayı unutmayın.

Makale görseli:

Hiç yorum yok :

Yorum Gönder