0

Androidの例を1つ開発する必要があります。

複数のアイテムの詳細が、javamail api を使用して Android アプリケーションからメールに送信されます。

ここでアプリを実行する必要があるのは、最新の追加された製品のみをメールで送信することを意味します。しかし、追加されたすべての製品の詳細をメールで送信する必要があります。どうすればよいですか。助けてください。コーディングして、これらの解決策を教えてください。

以下のコードを使用しました:

 public class InvoiceOrder extends Activity {


String mGrandTotal;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub  
    super.onCreate(savedInstanceState);
    setContentView(R.layout.invoice);
    ListView mLstView1 = (ListView) findViewById(R.id.listView1);


    CustomerAdapter mViewCartAdpt = new CustomerAdapter(
            InvoiceOrder.this);
    mLstView1.setAdapter(mViewCartAdpt);

            Button login = (Button) findViewById(R.id.mBtnSubmit);
            login.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            Properties props = new Properties();
            props.put("mail.smtp.host", "smtp.gmail.com");
            props.put("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.socketFactory.class",
                    "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.port", "465");

            Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("krishnaveniv96@gmail.com","xxxxxx");
                    }
                });

            try {

                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress("krishnaveni.veeman@gmail.com"));
                message.setRecipients(Message.RecipientType.TO,
                        InternetAddress.parse("mercy.krishnaveni@gmail.com"));
                message.setSubject("Testing Subject");
                StringBuilder sb = new StringBuilder();                  
              //  message.setContent("This is your product name : "+
                    //    "Hi Krishna" +"<br></br>This is your price : "+ "Hi veni", "text/html; charset=utf-8");
                for (int i = 0; i < Constants.mItem_Detail
                        .size(); i++) {

                    String title = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_PNAME);

                    String qty = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_QTY);

                    String cost = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_PRICE);

                    String total = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_TOTAL);

                message.setContent("<tr>" + "<td>" + title
                            + "</td><td>" + qty + " * " + cost
                            + "</td>" + " = <td>" + total
                            + "  " + "</td></tr>", "text/html; charset=utf-8"); 

                }

                Transport.send(message);

                System.out.println("Done");

            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
           }



  });

編集

                try {

                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress("krishnaveni.veeman@mercuryminds.com"));
                message.setRecipients(Message.RecipientType.TO,
                        InternetAddress.parse("mercy.krishnaveni@gmail.com"));
                message.setSubject("Testing Subject");
                //StringBuilder sb = new StringBuilder();     
                StringBuilder body = new StringBuilder();

                body.append("<html><body><table>");


              //  message.setContent("This is your product name : "+
                    //    "Hi Krishna" +"<br></br>This is your price : "+ "Hi veni", "text/html; charset=utf-8");
                for (int i = 0; i < Constants.mItem_Detail
                        .size(); i++) {

                    String title = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_PNAME);

                    String qty = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_QTY);

                    String cost = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_PRICE);

                    String total = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_TOTAL);

                    body.append("<tr>" + "<td>" + title
                            + "</td><td>" + qty + " * " + cost
                            + "</td>" + " = <td>" + total
                            + "  " + "</td></tr>");
                }

                body.append("<tr>" + "<td>" + "Grand Total is:-  "
                        + "</td><td>" + mGrandTotal + " "
                        + "</td></tr>");
                body.append("</table></body></html>");
            message.setContent(body);
             Transport.send(message);                   
        System.out.println("Done");

            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
           }

上記のようにコードを変更しました。ここでは、以下のエラーが発生する必要があります。

Part 型のメソッド setContent(Multipart) は、引数 (StringBuilder) には適用されません。

これらの行で message.setContent(body);

これらのエラーをクリアするにはどうすればよいですか。助けてください。Javamail API を使用して Android アプリケーションから複数の製品詳細をメールで送信するにはどうすればよいですか。

4

0 に答える 0