Autore Topic: Form di contatto in app  (Letto 497 volte)

Offline ccmex

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
Form di contatto in app
« il: 01 Febbraio 2014, 14:03:57 CET »
0
Ciao a tutti.

Sto cercando di fare un semplice form di contatto app dove le persone possono compilare le informazioni necessarie e premere il pulsante di invio e avere le informazioni inviate a una specifica e-mail, ma per qualche motivo non funziona e non ho errore di debug.

Ecco il codice per favore fatemi sapere cosa posso fare per farlo funzionare.
Grazie
activity_contactos.xml
Codice: [Seleziona]
<RelativeLayout xmlns:android="XXX"
        xmlns:tools="XXX"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainSendEmail" >

     <TextView
         android:id="@+id/textView1"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="20dp"
         android:gravity="center"
         android:text="@string/form"
         android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/etName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView1"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="20dp"
            android:ems="10"
            android:hint="@string/name"
            android:inputType="textPersonName" >

            <requestFocus />
        </EditText>

        <EditText
            android:id="@+id/etPhone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/etName"
            android:layout_marginTop="20dp"
            android:ems="10"
            android:hint="@string/phone"
            android:inputType="phone" />

        <EditText
            android:id="@+id/etEmail"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/etPhone"
            android:layout_marginTop="20dp"
            android:ems="10"
            android:hint="@string/email"
            android:inputType="textEmailAddress" />

        <EditText
            android:id="@+id/etAdd"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/etEmail"
            android:layout_marginTop="20dp"
            android:ems="10"
            android:hint="@string/additional_information"
            android:inputType="textMultiLine"
            android:lines="6" />

        <Button
            android:id="@+id/send"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:text="@string/send"
            android:width="150sp" />

    </RelativeLayout>

MainSendEmail.java
Codice: [Seleziona]
package com.ccmex.comunidadmexicana;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainSendEmail extends Activity {
        EditText etname, etphone, etemail, etadd;
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_contactos);
               
        etname = (EditText) findViewById (R.id.etName);
        etphone = (EditText) findViewById(R.id.etPhone);
        etemail = (EditText) findViewById(R.id.etEmail);       
        etadd = (EditText)findViewById(R.id.etAdd);
       
                Button startBtn = (Button) findViewById(R.id.send);
                startBtn.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View view) {

                                if (etname.getText().toString().length() == 0) {           
                      etname.setError( "Vul uw naam in" ); 
                     }
                     else
                     {
                                sendEmail();
                     }
                        }
                });

        }

        protected void sendEmail() {
              Log.i("Send email", "");

                         String[] TO = {"XXX@gmail.com"};
                         String[] CC = {"XXX@gmail.com"};
             
            String body=
          "Name : "+etname.getText().toString()+"<br>Mobile :"+etphone.getText().toString()+
           "<br>Email :"+etemail.getText().toString()+"<br>Bericht :"+etadd.getText().toString(); 

             Intent email = new Intent(Intent.ACTION_SEND);
             email.putExtra(Intent.EXTRA_EMAIL, TO);
             email.putExtra(Intent.EXTRA_CC, CC);
             email.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(body));
             email.setType("message/rfc822");
             startActivityForResult(Intent.createChooser(email, "marketing"),1);

              try {
                 startActivity(Intent.createChooser(email, "Send mail..."));
                 finish();
                 Log.i("Finished sending email...", "");
              } catch (android.content.ActivityNotFoundException ex) {
                 Toast.makeText(MainSendEmail.this,
                 "There is no email client installed.", Toast.LENGTH_SHORT).show();
              }
           }
       
           @Override
           public boolean onCreateOptionsMenu(Menu menu) {
              getMenuInflater().inflate(R.menu.main, menu);
              return true;
           }
        }

Offline ccmex

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: 0
    • Mostra profilo
Re:Form di contatto in app
« Risposta #1 il: 02 Febbraio 2014, 19:22:44 CET »
0
ho fatto qualche passo avanti... e sono riuscito a richiamare una seconda activity dall'activity principale, adesso se  lancio il debug il form di contatto email funziona ma se ritorno al menu principale dell'applicazione e seleziono il bottone che apre la pagina del form di contatto non funziona piu'... perchè? Cosa sbaglio?

MainActivity.java
Codice: [Seleziona]
package com.example.ccm;

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

import com.example.ccm.MainSendEmail;

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

                Button infoButton = (Button) findViewById(R.id.button3);
                infoButton.setOnClickListener(contactosListener);
               
                Intent MainSendEmail = new Intent(this, MainSendEmail.class);
                startActivity(MainSendEmail);
        }
       
        private OnClickListener contactosListener = new OnClickListener() {
                public void onClick(View v) {
                        setContentView(R.layout.activity_contactos);                       
                       
                }
        };
MainSendEmail.java
Codice: [Seleziona]
package com.example.ccm;

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

public class MainSendEmail extends Activity {
        EditText etname, etphone, etemail, etadd;

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

                etname = (EditText) findViewById(R.id.etName);
                etphone = (EditText) findViewById(R.id.etPhone);
                etemail = (EditText) findViewById(R.id.etEmail);
                etadd = (EditText) findViewById(R.id.etAdd);

                Button startBtn = (Button) findViewById(R.id.send);
                startBtn.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View view) {

                                if (etname.getText().toString().length() == 0) {
                                        etname.setError("Vul uw naam in");
                                } else {
                                        sendEmail();
                                }
                        }
                });

        }

        protected void sendEmail() {
        //....
        }
 }