package com.appspot.your_app; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.appspot.your_app.subscribe.Subscribe; import com.appspot.your_app.subscribe.model.SubscribeApiMessagesEmailAddressMessage; import com.appspot.your_app.subscribe.model.SubscribeApiMessagesRequestMessage; import com.appspot.your_app.subscribe.model.SubscribeApiMessagesResponseMessage; import com.google.api.client.extensions.android.http.AndroidHttp; import com.google.api.client.json.gson.GsonFactory; public class SubscribeApp extends Activity { Context context; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sendemaill); Button btnsend = (Button) findViewById(R.id.sendbtn); context = this; //btnsend Listener for getting all values from user and send to the server through btnsend.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String subject = ((EditText) findViewById(R.id.subject)).getText().toString(); String email_addresses = ((EditText) findViewById(R.id.email)).getText().toString(); String body = ((EditText) findViewById(R.id.body)).getText().toString(); new SendingAsyncTask().execute(subject, body, email_addresses); //Asyntask for background processing } }); } private class SendingAsyncTask extends AsyncTask <String, Void, SubscribeApiMessagesResponseMessage> { private ProgressDialog pd; protected void onPreExecute() { super.onPreExecute(); pd = new ProgressDialog(context); pd.setMessage("Sending Email..."); pd.show(); } protected SubscribeApiMessagesResponseMessage doInBackground(String...params) { SubscribeApiMessagesResponseMessage response = null; try { Subscribe.Builder builder = new Subscribe.Builder( AndroidHttp.newCompatibleTransport(), new GsonFactory(), null); builder.setApplicationName(getString(R.string.app_name)); Subscribe service = builder.build(); SubscribeApiMessagesRequestMessage Subscrib = new SubscribeApiMessagesRequestMessage(); //Subscribe object for set message, body and email Subscrib.setBody(params[1]); Subscrib.setSubject(params[0]); Subscrib.setPrivateKey(getString(R.string.private_key)); Subscrib.setSender(getString(R.string.email_sender)); SubscribeApiMessagesEmailAddressMessage Email = new SubscribeApiMessagesEmailAddressMessage(); // Should refer to EmailAddressMessage object in python file Email.setEmailAddress(params[2]); List <SubscribeApiMessagesEmailAddressMessage> ListofEmail = new ArrayList <SubscribeApiMessagesEmailAddressMessage> (); ListofEmail.add(Email); Subscrib.setEmailAddresses(ListofEmail); response = service.send().emails(Subscrib).execute(); } catch (Exception e) { } return response; } protected void onPostExecute(SubscribeApiMessagesResponseMessage email) { //Clear the progress dialog and the fields pd.dismiss(); if (email.getSuccess()) { Toast.makeText(getBaseContext(), getString(R.string.mail_sent), Toast.LENGTH_SHORT).show(); } } } }