java如何在安卓 studio中保存PDF
我创建了一个简单的安卓应用程序,可以将字符串文本转换为pdf文件。这是代码。这里我也使用了iText库
public class MainActivity extends AppCompatActivity {
private static final int STORAGE_CODE=100;
private Button crBtn;
private EditText edit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
crBtn=findViewById(R.id.crBtn);
edit=findViewById(R.id.edit);
crBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(Build.VERSION.SDK_INT>Build.VERSION_CODES.M){
if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)==PackageManager.PERMISSION_GRANTED){
String[] permissions={Manifest.permission.WRITE_EXTERNAL_STORAGE};
requestPermissions(permissions,STORAGE_CODE);
}
else {
savePDF();
}
}
}
});
}
private void savePDF() {
Document mdoc=new Document();
String mfilename=new SimpleDateFormat("yyyymmdd_HHmmss", Locale.getDefault()).format(System.currentTimeMillis());
String sFilepath=this.getExternalFilesDir("/")+mfilename+".pdf";
try{
PdfWriter.getInstance(mdoc,new FileOutputStream(sFilepath));
mdoc.open();
String mtext=edit.getText().toString();
mdoc.addAuthor("Shashen");
mdoc.add(new Paragraph(mtext));
mdoc.close();
Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case STORAGE_CODE:{
if(grantResults.length>0&& grantResults[0]==PackageManager.PERMISSION_GRANTED){
savePDF();
}
else{
Toast.makeText(this, "Permission Denied...", Toast.LENGTH_SHORT).show();
}
}
}
}
}
我遵循了youtube教程并按照说明编写了此代码。否,logcat中显示任何错误。但是我的pdf没有保存到我的手机上。谁能告诉我是什么问题吗
共 (0) 个答案