2016-09-26 5 views
0

enter image description heresqliteDatabase 데이터를 전자 메일로 보내 전자 메일 본문에 표시하는 방법?

나는 sqlite 데이터베이스를 만들었습니다. 이제 이메일로 보내야합니다. 나는 능력이있다. SQLite는 데이터베이스에서 데이터를 가져 오는에 대한 나의 코드는 다음과 같습니다 -

public ArrayList<ChickenLogs> getData() { 

    ArrayList<ChickenLogs> log = new ArrayList<ChickenLogs>(); 

    String sql = "SELECT * FROM " + DataBaseHelper.FOGHORN_TABLE; 

    Cursor cursor = db.rawQuery(sql,null); 
    Log.i("cursor", String.valueOf(cursor.getCount())); 

    while (cursor.moveToNext()) { 
     ChickenLogs chickenLogs = new ChickenLogs(); 
     chickenLogs.set_id(cursor.getInt(0)); 
     chickenLogs.setCatId(cursor.getInt(1)); 
     chickenLogs.setChickenId(cursor.getInt(2)); 
     chickenLogs.setDatetime(cursor.getString(3)); 
     chickenLogs.setWeight(cursor.getFloat(4)); 
     chickenLogs.setEggs(cursor.getInt(5)); 
     chickenLogs.setGrain(cursor.getFloat(6)); 
     chickenLogs.setWater(cursor.getFloat(7)); 
     log.add(chickenLogs); 
    } 
    return log; 
} 

하고, 내가 mainActivity에서 AsyncTask를 사용하고 이메일을 보내는

, 그냥 문제가 그의 몸에 데이터베이스의 내용을 표시하는 방법 이메일. 아무도 나를 도와 줄 수 없다면 정말 감사 할 것입니다.

private class BackgroundTask extends AsyncTask<Void, Void, ArrayList<ChickenLogs>> { 
     private ProgressDialog dialog; 

     public BackgroundTask(MainActivity activity) { 
      dialog = new ProgressDialog(activity); 
     } 

     @Override 
     protected void onPreExecute() { 
      dialog.setMessage("Doing something, please wait."); 
      dialog.show(); 
     } 

     @Override 
     protected void onPostExecute(ArrayList<ChickenLogs> result) { 
      if (dialog.isShowing()) { 
       dialog.dismiss(); 
       Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE); 
       intent.setData(Uri.parse("mailto:")); 
       String[] to = {"[email protected]"}; 
       intent.putExtra(Intent.EXTRA_EMAIL, to); 
       intent.setType("message/rfc822"); 
       intent.putExtra(Intent.EXTRA_SUBJECT, "mSubject.getText().toString()"); 
       if(result !=null) { 
        intent.putExtra(Intent.EXTRA_STREAM, result); 
       } 
       final PackageManager pm = getPackageManager(); 
       final List<ResolveInfo> matches = pm.queryIntentActivities(intent,0); 
       ResolveInfo best = null; 
       for(final ResolveInfo info : matches) 
        if (info.activityInfo.packageName.endsWith(".gm") || info.activityInfo.name.toLowerCase().contains("gmail")) 
         best = info; 
       if (best != null) 
        intent.setClassName(best.activityInfo.packageName, best.activityInfo.name); 
       startActivity(intent); 
      } 
     } 

     @Override 
     protected ArrayList<ChickenLogs> doInBackground(Void... params) { 
      try { 

       detailList= chickLogDAO.getData(); 
       Log.i("retData", String.valueOf(detailList)); 
       // return from detailList is of form [[email protected]] 

      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

      return detailList; 
     } 

    } 

답변

0
intent.putExtra(Intent.EXTRA_SUBJECT, subject); 
intent.putExtra(Intent.EXTRA_TEXT, body); 
+0

이 코드는 문제를 해결하는 데 도움이 될 수 있지만,이 _why_ 설명 및/또는 그 질문에 대한 답 _how_하지 않습니다. 이러한 추가적인 맥락을 제공하면 장기적인 교육적 가치가 크게 향상 될 것입니다. 어떤 제한 사항 및 가정이 적용되는지를 포함하여 설명을 추가하기 위해 답을 [편집하십시오]. –

관련 문제