עבור אל תוכן

חוקי הפורום - נא לקרוא

תמונה

עזרה בשליחת מייל עם מידע שהמשתמש הכניס-Android Studio

android sending mail

  • אנא התחבר בכדי להגיב
תגובה אחת לנושא זה

#1 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎07/02/2016‏, ‎14:02

שלום לכולם. אני חדש בתחום האנדרואיד, ורוצה לעשות אפליקציה פשוטה למדי. את הרוב כבר עשיתי.
הרעיון הוא פשוט: 

MainActivity:
package com.example.ruinsain.mail;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Switch;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements OnClickListener {
    public final static String EXTRA_MESSAGE = "com.example.ruinsain.MESSAGE";
    public  String email="mail";

    TextView txtusername,txtemail;
    EditText edtusername,edtemail,edtdispaly,msg;
    Button btndisplay,btnsend;
    RadioButton btnandroid,btnios;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        txtusername= (TextView) findViewById(R.id.txtname);
        txtemail=(TextView)findViewById(R.id.txtemail);
        edtusername= (EditText) findViewById(R.id.edtname);
        edtemail= (EditText) findViewById(R.id.edtemail);
        edtdispaly= (EditText) findViewById(R.id.edtdisplay);
        msg=(EditText)findViewById(R.id.personalmsg);
        btnandroid=(RadioButton)findViewById(R.id.btnandroid);
        btnios=(RadioButton)findViewById(R.id.btnios);
        btndisplay= (Button) findViewById(R.id.btndisplay);
        btnsend= (Button) findViewById(R.id.btnsend);
        btndisplay.setOnClickListener(this);
        btnsend.setOnClickListener(this);
    }


    public void onRadioButtonClicked(View view){
        boolean checked = ((RadioButton) view).isChecked();

        switch(view.getId()){
            case R.id.btnandroid:
                if(checked)
                    edtdispaly.setText(((RadioButton)view).getText().toString());
                break;
            case R.id.btnios:
                if(checked)
                    edtdispaly.setText(((RadioButton)view).getText().toString());
                break;


        }

    }



    @Override
    public void onClick(View v) {
        switch(v.getId())
        {
            case R.id.btndisplay:
                String input=String.format("Name: %s \n E-Mail: %s \n Massage: %s \n",edtusername.getText().toString(), edtemail.getText().toString(),msg.getText().toString() );
                edtdispaly.setText(input);
                break;

            case R.id.btnsend:
            Intent intent = new Intent(this, SendMsg.class);
            edtdispaly= (EditText) findViewById(R.id.edtdisplay);
            String message=edtdispaly.getText().toString();
            String mail=edtemail.getText().toString();
            intent.putExtra(EXTRA_MESSAGE, message);
            intent.putExtra(email,mail);

            startActivity(intent);
                break;
        }

    }




}
 

SendMsg:

package com.example.ruinsain.mail;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

public class SendMsg extends AppCompatActivity implements View.OnClickListener {
    EditText get;
    TextView TV;
    Button sendmail;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_send_msg);
        get=(EditText)findViewById(R.id.edtget);
        TV=(TextView)findViewById(R.id.txtget);
        sendmail= (Button) findViewById(R.id.btnsendmail);
        sendmail.setOnClickListener(this);
        Intent intent = getIntent();
        String message=intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
        get.setText(message);


    }

    @Override
    public void onClick(View v) {



        Intent i = new Intent(Intent.ACTION_SEND);
        i.setType("message/rfc822");
        i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"ruin@gmail.com"});
        i.putExtra(Intent.EXTRA_SUBJECT, "Sending my first mail with android");
        i.putExtra(Intent.EXTRA_TEXT   , "message");
        try {
            startActivity(Intent.createChooser(i, "Send mail..."));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
        }
    }
} 

תודה רבה מראש לכל מי שיעזור. 

נ.ב

חיפשתי ב-stackoverflow אבל כמו שאתם רואים לא ממש הצלחתי לדלות משם את הפתרון לבעיה הקטנה שלי, אלא רק חצאי דברים.

יום טוב.

יש activity ראשון שבו אני מכניס שם משתמש, אימייל, ויש גם תיבת טקסט עבור הודעה של המשתמש.
ישנם שני כפתורים, אחד-display והשני send. 
הכפתור הראשון מציג את כל הנתונים בתיבת טקסט נוספת, והכפתור השני שולח את הנותנים הללו לactivity אחר.
במסך השני ישנו שדה טקסט שאליו מתקבל המידע, ואת אותו המידע אני אמור לשלוח למייל שהמשתמש הכניס. 
 
את הכל כבר עשיתי, חוץ מזה שאני לא מצליח לשלוח את המייל עם המידע שהמשתמש הכניס. 
מישהו יכול לעזור לי עם זה בבקשה? אני ארשום כאן את הקוד שרשמתי עד עכשיו, ואם משהו לא ברור/או חסר, אני אסביר או אוסיף.
 
והנה הקוד(ללא ה-xml של כל אחד):
MainActivity:

 

 


dLORI9W.png  


#2 RuinSain

RuinSain

    https://taamtov.net

  • מתרגמי רשת
  • ******
  • 2,407 הודעות

נכתב ב- ‎07/02/2016‏, ‎15:33

חברים, מצאתי את הפתרון. 

למי שמעוניין:



Intent i = new Intent(Intent.ACTION_SEND);
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"ruin@gmail.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Sending my first email");
i.putExtra(Intent.EXTRA_TEXT , get.getText());
i.setType("message/rfc822");
startActivity(Intent.createChooser(i, "Choose an email client to send your"));

dLORI9W.png  






תויגו גם עם אחת או יותר ממילות המפתח הללו: android, sending mail

1 משתמשים קוראים נושא זה

0 משתמשים, 1 אורחים, 0 משתמשים אנונימיים