Autore Topic: Come creare un form che ti invia una mail  (Letto 924 volte)

Offline jokermanna

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S1
  • Sistema operativo:
    Windows 7
Come creare un form che ti invia una mail
« il: 18 Luglio 2013, 19:42:09 CEST »
0
Salve a tutti,

ho provato a cercare sia nel forum che in google ma l'esatta soluzione a questo problema non l'ho trovata ( perdonatemi se c'è e non la trovo :D )

posto qui sotto il mio .xml

Codice (XML): [Seleziona]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:background="@drawable/travature">
 
    <TextView
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="@string/form_intro"
           android:layout_marginTop="15dip"
           android:layout_marginBottom="25dip"
           />
 
    <TextView
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="@string/name"
           />
    <EditText
           android:id="@+id/edit_name"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text=""
           />
 
    <TextView
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="@string/insertmail"
           android:layout_marginTop="15dip"
           />
    <EditText
           android:id="@+id/edit_lastname"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text=""
           />
   
    <TextView
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="@string/form_mail"
           android:layout_marginTop="15dip"
           />
    <EditText
           android:id="@+id/inserimentotesto"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text=""
           />

    <Button
       android:id="@+id/form_button"
       android:layout_width="130dip"
       android:layout_height="wrap_content"
       android:layout_marginLeft="90dip"
       android:layout_marginTop="15dip"
       android:text="@string/form_button_label" />
 
</LinearLayout>

Vorrei in breve che premendo su "invia" mandasse una mail al destinatario della app (in questo caso io). Praticamente è un form classico "Contattaci".

non riesco a capire come salvare i dati di edit text e poi mandarli via mail ad es. a mail@mail.com.

Mi rendo conto che non c'è una riga di codice ma proprio non saprei come fare :)

Grazie.

Offline theBaffo

  • Utente normale
  • ***
  • Post: 164
  • Respect: +24
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 8.1
Re:Come creare un form che ti invia una mail
« Risposta #1 il: 19 Luglio 2013, 10:41:44 CEST »
0
Semplicemente devi fare in modo che all' OnClick del button prenda il valore contenuto nella edittext, e lo invi per e-mail

Per l'invio dell'email, dai un'occhiata QUI
Se ti sono stato utile, premi "thanks" ;)

"Errare è umano, ma per incasinare davvero tutto è necessario un computer" - Arthur Bloch

Offline jokermanna

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S1
  • Sistema operativo:
    Windows 7
Re:Come creare un form che ti invia una mail
« Risposta #2 il: 19 Luglio 2013, 13:33:51 CEST »
0
Grazie della risposta,

Ora provo con il tutorial che m'hai postato e casomai posto la soluzione quando la trovo :)

Offline jokermanna

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung S1
  • Sistema operativo:
    Windows 7
Re:Come creare un form che ti invia una mail
« Risposta #3 il: 23 Luglio 2013, 15:48:30 CEST »
0
OK ho risolto!

Posto qui di seguito il file XML e il codice Java :)

Codice (XML): [Seleziona]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="@drawable/travature"
   android:orientation="vertical" >

    <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_marginBottom="25dip"
       android:layout_marginTop="15dip"
       android:textSize="19sp"
       android:textStyle="bold"
       android:textColor="#ffffff"
       android:text="@string/form_intro" />

    <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="15dip"
       android:textStyle="bold"
       android:textColor="#ffffff"
       android:text="@string/insertmail" />

    <EditText
       android:id="@+id/edit_subject"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text=""
       android:inputType="textMultiLine" />

    <TextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_marginTop="15dip"
       android:textStyle="bold"
       android:textColor="#ffffff"
       android:text="@string/form_mail" />

    <EditText
       android:id="@+id/corpomail"
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:layout_weight="0.26"
       android:gravity="top"
       android:ems="10"
       android:inputType="textMultiLine" >

        <requestFocus />
    </EditText>

    <Button
       android:id="@+id/button_invia"
       android:layout_width="130dip"
       android:layout_height="wrap_content"
       android:layout_marginLeft="90dip"
       android:layout_marginTop="15dip"
       android:text="@string/form_button_label" />

</LinearLayout>

Codice (Java): [Seleziona]
package com.example.beblegno;




import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;


import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;



public class Contattaci extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState)  {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_contattaci);
               
               
                final EditText  oggetto = (EditText)findViewById(R.id.edit_subject);
                final EditText  corpomail = (EditText)findViewById(R.id.corpomail);
                Button  inviamail = (Button)findViewById(R.id.button_invia);
                inviamail.setOnClickListener(new OnClickListener(){
                       
                        public void onClick(View arg0){
                               
                               
                                String to = ("maildoveinviare@mail.com");
                    String subject = oggetto.getText().toString();
                    String message = corpomail.getText().toString();

                    Intent email = new Intent(Intent.ACTION_SEND);
                    email.putExtra(Intent.EXTRA_EMAIL, new String[] { to }); /// inserire campo mail da usare con Intent
                    // email.putExtra(Intent.EXTRA_CC, new String[]{ to});
                    // email.putExtra(Intent.EXTRA_BCC, 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, "Scegli un client Email :"));
                   
                        }
                       
                });
       
               
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.contattaci, menu);
                return true;
        }

}

Grazie mille per il suggerimento.