有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案