[Tutorial] Android Send Email Tutorial

Assalamualaikum Warahmatullah... Halo temen-temen... balik lagi bersama saya Ramadhany si programmer ganteng... HeHeHe.. Nah guys kali ini saya akan membagi tutorial tentang "Android Send Email Tutorial".  Langsung saja kita masuk ke tutorialnya.


Pertama

Buka anroid studionya terlebh dahulu, lalu buat lah project sesuai dengan keinginan teman-teman semua.

Kedua

Langkah selanjutnya adalah kita buat design layoutnya terlebih dahulu. Buka layout activity_main.xml lalu tambahkan komponen komponen berikut ini.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="To \t\t :" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/groundedittext">
<EditText
android:id="@+id/EdMail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:hint="Enter Mail"
android:padding="10dp" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Subject \t\t :" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/groundedittext">
<EditText
android:id="@+id/EdSubject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:hint="Enter Subject"
android:padding="10dp" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Message \t\t :" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/groundedittext">
<EditText
android:id="@+id/EdMessage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:gravity="top"
android:hint="Enter Subject"
android:inputType="textMultiLine"
android:lines="5"
android:padding="10dp" />
</RelativeLayout>
</LinearLayout>

Ketiga

Buatlah sebuah directory baru di dalam file res. Lalu temen-semua buat sebuah directory yaitu menu.
berikut ini adalah item yang ada di menu.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_clear"
android:icon="@drawable/clear"
android:title="clear">
</item>
<item
android:id="@+id/menu_send"
android:icon="@drawable/send"
android:title="Send">
</item>
</menu>
view raw menu.xml hosted with ❤ by GitHub

Keempat

Buatlah 2 buah gambar yatu gambar icon send dan juga icon clear. Caranya adalah klik kanan pada directory drawable, lalu klik new => klik menu Image Asset. Lalu buatlah gambar seperti contoh di bawah ini

Kelima

Sekarang kita punya 2 gambar yaitu icon send dan juga icon clear. Langkah selanjutnya adalah tambahkan 2 item di menu yaitu send dan juga clear.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_clear"
android:icon="@drawable/clear"
android:title="clear">
</item>
<item
android:id="@+id/menu_send"
android:icon="@drawable/send"
android:title="Send">
</item>
</menu>
view raw menu.xm hosted with ❤ by GitHub

Keenam

Selanjutnya adalah, kita buat ground edit text, supaya edit text kita bisa terlihat lebih bagus
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:color="#6f000000"
android:width="2dp"/>
<!-- <solid
android:color="#00000000"/>-->
<corners
android:radius="7dp"/>
</shape>
view raw groundedittext hosted with ❤ by GitHub

NGODING KUYY

Setelah kita sudah membuat design layoutnya, langkah selanjutnya adalah kita mulai membuat programnya. Sekarang temen-temen semua buka MainActivity.java. 

Pertama

kita deklarasikan widget-widget yang ada di layout activity_main.xml. 
private EditText ToEmail = null;
private EditText EmailSubject = null;
private EditText EmailMessage = null;

Kedua

Buatlah sebuah method baru untuk mendeklarasikan widget widgetnya
private void Deklarasi() {
ToEmail = (EditText) findViewById(R.id.EdMail);
EmailSubject = (EditText) findViewById(R.id.EdSubject);
EmailMessage = (EditText) findViewById(R.id.EdMessage);
}

Ketiga

Tambahkan 1 buah method untuk menampilkan menu yang sudah kita buat tadi
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}

Keempat

Selanjutnya adalah, tambahkan 1 method lagi supaya icon send dan icon clear nya bisa di gunakan, fungsi  tombol icon send ini adalah untuk mengirimkan sebuah email yang sudah kita buat, dan fungsi icon clear ini adalah untuk menghapus semua text yang sudah kita buat di edit text nya. Berikut adalah potongan kode nya
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_clear:
ToEmail.setText("");
EmailSubject.setText("");
EmailMessage.setText("");
break;
case R.id.menu_send:
String to = ToEmail.getText().toString();
String subject = EmailSubject.getText().toString();
String message = EmailMessage.getText().toString();
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{(to)});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);
// need this to prompts email client only
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client"));
break;
}
return true;
}

Kelima

Final code, Berikut ini adalah full code yang ada di Activity MainActivty.java
package com.project.rama.sendemail;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private EditText ToEmail = null;
private EditText EmailSubject = null;
private EditText EmailMessage = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Deklarasi();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_clear:
ToEmail.setText("");
EmailSubject.setText("");
EmailMessage.setText("");
break;
case R.id.menu_send:
String to = ToEmail.getText().toString();
String subject = EmailSubject.getText().toString();
String message = EmailMessage.getText().toString();
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{(to)});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);
// need this to prompts email client only
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client"));
break;
}
return true;
}
private void Deklarasi() {
ToEmail = (EditText) findViewById(R.id.EdMail);
EmailSubject = (EditText) findViewById(R.id.EdSubject);
EmailMessage = (EditText) findViewById(R.id.EdMessage);
}
}
------------------------------------------------------------------------------------------------------------------------

Bila ada yang ingin di tanyakan.. Silahkan hubungi saya melalui kontak di bawah ini

Wa    : 081322579702 - 085776744756
Fb     : Ramadhany As-Salafy
Ig      : ramadhany_12

Line  : rikat_homreh2

------------------------------------------------------------------------------------------------------------------------

Mungkin cukup sekian yang bisa saya sampaikan pada hari ini.... Semoga bisa bermanfaat bagi saya dan kita semua Amin... Apabila ada kesalahan kata mohon di maafkan... Karena kesalahan itu datang nya dari Syaitan dan Kebaikan itu datang nya dari Allah Ta'ala... Sekaian Dari saya Wasslamualaikum Warahmarullah

Comments