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