调用填充列的所有信息

时间:2014-03-26 16:19:45

标签: android sqlite

我正在制作一个按钮,通过电子邮件发送给sqlite数据库中包含电子邮件的所有用户。目前我已成功按下按钮,但只能调用链接到行ID的单个电子邮件地址。

以下是我调用电子邮件然后发送的代码。

view.findViewById(R.id.btn_save).setOnClickListener(new OnClickListener() { 
        public void onClick(View view ) { 
          Mail m = new Mail("gmail@gmail.com", "password"); 


          int arg = 0;

        String[] toArr = {user_eMail.get(arg)}; 
          m.setTo(toArr); 
          m.setFrom("gmail@gmail.com"); 
          m.setSubject("This email is never going to work"); 
          m.setBody("If you can read this email, please call me immediately because this never should have worked."); 

          try { 

            if(m.send()) { 
              Toast.makeText(getActivity(), "Email was sent successfully.", Toast.LENGTH_LONG).show(); 
            } else { 
              Toast.makeText(getActivity(), "Email was not sent.", Toast.LENGTH_LONG).show(); 
            } 
          } catch(Exception e) { 
            //Toast.makeText(MailApp.this, "There was a problem sending the email.", Toast.LENGTH_LONG).show(); 
            Log.e("MailApp", "Could not send email", e); 
          } 
        } 
      }); 

我如何改变" int arg = 0"调用数据库中的所有ID?如果您需要任何其他代码,请告诉我。

1 个答案:

答案 0 :(得分:1)

好的,因为user_eMailArrayList

private ArrayList<String> user_eMail = new ArrayList<String>();

.setTo()方法必须接收以“,”

分隔的电子邮件数组

创建一个从包含电子邮件的数据库(例如getEmailsFromDB())中提取数组的方法:{"email1@gmail.com", "email2@gmail.com", "email3@gmail.com", "email4@gmail.com", "email5@gmail.com"}; 并使用:

m.setTo(getEmailsFromDB())

其他选项,该方法从数据库返回一个字符串,其中包含由“,”分隔的所有电子邮件,如"email1@gmail.com, email2@gmail.com, email3@gmail.com, email4@gmail.com, email5@gmail.com";

String[] user_eMail = getEmailsFromDB().split(",");
m.setTo(user_eMail);