Thứ Tư, 22 tháng 8, 2018

Android - Gửi email

Lập trình Android : Email là thư được phân phối bằng phương tiện điện tử từ một người dùng hệ thống đến một hoặc nhiều người nhận qua mạng.

Trước khi bắt đầu Hoạt động Email, Bạn phải biết chức năng Email với mục đích, Intent đang mang dữ liệu từ một thành phần đến một thành phần khác có trong ứng dụng hoặc bên ngoài ứng dụng.

Để gửi email từ ứng dụng của bạn, bạn không phải triển khai ứng dụng email ngay từ đầu nhưng bạn có thể sử dụng ứng dụng email hiện tại như ứng dụng Email mặc định được cung cấp từ Android, Gmail, Outlook, K-9 Mail v.v. mục đích, chúng ta cần viết một Activity để khởi chạy một ứng dụng email, sử dụng Intent ngầm định với hành động và dữ liệu đúng. Trong ví dụ này, chúng tôi sẽ gửi một email từ ứng dụng của chúng tôi bằng cách sử dụng một đối tượng Intent khởi chạy các ứng dụng email hiện có.

Phần sau giải thích các phần khác nhau của đối tượng Intent của chúng tôi được yêu cầu để gửi email.

Intent Object - Hành động gửi Email

Bạn sẽ sử dụng hành động ACTION_SEND để khởi chạy ứng dụng email được cài đặt trên thiết bị Android của mình. Sau đây là cú pháp đơn giản để tạo ý định với hành động ACTION_SEND.Intent emailIntent = new Intent(Intent.ACTION_SEND);

Mục tiêu đối tượng - Dữ liệu / Loại để gửi Email

Để gửi một email, bạn cần phải chỉ định mailto: như URI sử dụng phương thức setData () và kiểu dữ liệu sẽ là text / plain sử dụng phương thức setType () như sau:

emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");

Intent Object - Thêm để gửi Email

Android có hỗ trợ tích hợp để thêm các trường TO, SUBJECT, CC, TEXT v.v. có thể được đính kèm với mục đích trước khi gửi ý định tới ứng dụng email khách đích. Bạn có thể sử dụng các trường bổ sung sau trong email của mình

Sr.No.Thêm dữ liệu & mô tả
1EXTRA_BCC

Chuỗi [] giữ các địa chỉ e-mail cần được sao chép.
2EXTRA_CC

Chuỗi [] giữ các địa chỉ email cần được sao chép bằng carbon.
3EXTRA_EMAIL

Chuỗi [] giữ địa chỉ e-mail sẽ được gửi đến.
4EXTRA_HTML_TEXT

Chuỗi không đổi được liên kết với Mục đích, được sử dụng với ACTION_SEND để cung cấp thay thế cho EXTRA_TEXT dưới dạng văn bản được định dạng HTML.
5EXTRA_SUBJECT

Một chuỗi liên tục giữ dòng chủ đề mong muốn của một tin nhắn.
6EXTRA_TEXT

Một CharSequence liên tục được liên kết với Intent, được sử dụng với ACTION_SEND để cung cấp dữ liệu theo nghĩa đen được gửi đi.
7EXTRA_TITLE

Một tiêu đề hộp thoại CharSequence để cung cấp cho người dùng khi được sử dụng với ACTION_CHOOSER.
Dưới đây là một ví dụ cho bạn biết cách chỉ định thêm dữ liệu cho ý định của bạn

emailIntent.putExtra(Intent.EXTRA_EMAIL  , new String[]{"Recipient"});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
emailIntent.putExtra(Intent.EXTRA_TEXT   , "Message Body");

Mã đặt ở trên được hiển thị như hình dưới đây

lập trình android

EMAIL VÍ DỤ

Thí dụ

Ví dụ sau đây cho bạn thấy trong thực tế cách sử dụng đối tượng Intent để khởi chạy ứng dụng Email để gửi một Email tới người nhận đã cho.

Để gửi email thử nghiệm với ví dụ này, bạn sẽ cần thiết bị di động thực tế được trang bị hệ điều hành Android mới nhất, nếu không bạn có thể gặp khó khăn với trình mô phỏng có thể không hoạt động đúng cách. 

Thứ hai, bạn sẽ cần phải có một ứng dụng Email như GMail (Theo mặc định mỗi phiên bản Android có ứng dụng khách Gmail) hoặc K9mail được cài đặt trên thiết bị của bạn.

Bậc thangSự miêu tả
1Bạn sẽ sử dụng Android studio để tạo một ứng dụng Android và đặt tên nó là Tutorialspoint dưới một gói com.example.tutorialspoint .
2Sửa đổi tệp src / MainActivity.java và thêm mã yêu cầu để chăm sóc gửi email.
3Sửa đổi tệp XML bố trí res / layout / activity_main.xml thêm bất kỳ thành phần GUI nào nếu cần. Tôi đang thêm một nút đơn giản để khởi chạy ứng dụng Email Client.
4Sửa đổi res / values ​​/ strings.xml để xác định các giá trị không đổi bắt buộc
5Sửa đổi AndroidManifest.xml như hình dưới đây
6Chạy ứng dụng để khởi chạy trình giả lập Android và xác minh kết quả của các thay đổi được thực hiện trong ứng dụng.
Sau đây là nội dung của tệp hoạt động chính đã sửa đổi src / com.example.Tutorialspoint / MainActivity.java .
package com.example.tutorialspoint;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      Button startBtn = (Button) findViewById(R.id.sendEmail);
      startBtn.setOnClickListener(new View.OnClickListener() {
         public void onClick(View view) {
            sendEmail();
         }
      });
   }
 
   protected void sendEmail() {
      Log.i("Send email", "");
      String[] TO = {""};
      String[] CC = {""};
      Intent emailIntent = new Intent(Intent.ACTION_SEND);
      
      emailIntent.setData(Uri.parse("mailto:"));
      emailIntent.setType("text/plain");
      emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
      emailIntent.putExtra(Intent.EXTRA_CC, CC);
      emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
      emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");
      
      try {
         startActivity(Intent.createChooser(emailIntent, "Send mail..."));
         finish();
         Log.i("Finished sending email...", "");
      } catch (android.content.ActivityNotFoundException ex) {
         Toast.makeText(MainActivity.this, "There is no email client installed.", Toast.LENGTH_SHORT).show();
      }
   }
}
Sau đây sẽ là nội dung của tệp res / layout / activity_main.xml

Ở đây abc cho biết về biểu tượng hướng dẫn
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Sending Mail Example"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point "
      android:textColor="#ff87ff09"
      android:textSize="30dp"
      android:layout_above="@+id/imageButton"
      android:layout_alignRight="@+id/imageButton"
      android:layout_alignEnd="@+id/imageButton" />
      
   <ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton"
      android:src="@drawable/abc"
      android:layout_centerVertical="true"
      android:layout_centerHorizontal="true" />
      
   <Button 
      android:id="@+id/sendEmail"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/compose_email"/>
    
</LinearLayout>
Sau đây sẽ là nội dung của res / values ​​/ strings.xml để xác định hai hằng số mới
<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">Tutorialspoint</string>
   <string name="compose_email">Compose Email</string>
</resources>
Sau đây là nội dung mặc định của AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.Tutorialspoint" >
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.tutorialspoint.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>
Hãy thử chạy ứng dụng tutorialspoint của bạn . Tôi cho rằng bạn đã kết nối thiết bị Android Mobile thực tế với máy tính của mình.

Để chạy ứng dụng từ Android Studio, mở một trong các tệp hoạt động của dự án của bạn và nhấp vào Chạy biểu tượng từ thanh công cụ.

Trước khi bắt đầu ứng dụng của bạn, trình cài đặt Android studio sẽ hiển thị cửa sổ sau để chọn tùy chọn bạn muốn chạy ứng dụng Android của mình.

Chọn thiết bị di động làm tùy chọn và sau đó kiểm tra thiết bị di động của bạn sẽ hiển thị màn hình sau đây

lập trình android

Bây giờ, hãy sử dụng nút Soạn thư điện tử để liệt kê tất cả các ứng dụng email được cài đặt. Từ danh sách, bạn có thể chọn một trong các ứng dụng email khách để gửi email của mình. 

Tôi sẽ sử dụng ứng dụng khách Gmail để gửi email của tôi, sẽ có tất cả các trường mặc định được cung cấp như được hiển thị bên dưới. Here From: sẽ là ID email mặc định mà bạn đã đăng ký cho thiết bị Android của mình.

lập trình android

Bạn có thể sửa đổi một trong các trường mặc định đã cho và cuối cùng sử dụng nút gửi email để gửi email của bạn đến những người nhận được đề cập.

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...