将sqlite数据写入html文件并将html文件作为附件发送

时间:2013-12-31 09:15:07

标签: android html sqlite

在我的应用程序中,我必须在Html文件中发送sqlite数据作为报告,这意味着我已经将sqlite数据写入html文件,之后这个html文件应该作为附件附加到email.right中,现在我发送sqlite数据使用emailIntent.putExtra方法Htmlf格式。但这应该作为邮件发送到邮件。但我想要一些像html这样的文件保存在我的设备上。或者创建新的html文件并将sqlite数据写入其中,并作为附件发送。

1 个答案:

答案 0 :(得分:0)

使用代码:只需获取sql数据并存储为String并使用OutputStreamWriter将其写入并将文件添加为附件

    public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); 
    String data = "<html><body> My name is John.</body></html>";
    String uri = Environment.getExternalStorageDirectory()+"";

    File f = new File(uri,"san.html");
    if(!f.exists()){
        try {
               f.createNewFile();
            } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    FileOutputStream fout;
    try {
        fout = openFileOutput(uri,MODE_WORLD_WRITEABLE);
        OutputStreamWriter osw = new OutputStreamWriter(fout); 
        osw.write(data);
        osw.flush();
        osw.close();

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    Intent emailintent = new Intent(Intent.ACTION_SEND);
    emailintent.setType("text/html");
        emailintent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(f));
        emailintent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
            emailintent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(f));                      
    emailintent.putExtra(Intent.EXTRA_TEXT, "Enjoy the Attachments");
    startActivity(Intent.createChooser(emailintent, "Email:"));
    }   
}