我对Java和Android比较陌生。说我在我的应用程序中使用iText.jar文件从用户输入的数据创建PDF。我从基本的例子开始,只是为了看它是如何工作和使用它。出于某种原因,我要么得到错误,要么是只读的,要么是不存在的。希望有人遇到类似的修复问题。我的代码低于我正在使用的代码。我在android清单中添加了权限。我没有包含所有代码,只包含相关内容。 GlobalVars是我用来存储所有公共变量的类。另外,我用来帮助调试的toast语句是我收到这些错误消息的地方......
<public static final File location = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);>
<try {
createPdf();
} catch (FileNotFoundException | DocumentException e) {
e.printStackTrace();
errorString = e.getMessage();
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}>
<public void createPdf() throws FileNotFoundException, DocumentException {
FileOutputStream pdfFile = new FileOutputStream(location.getAbsolutePath() + "/temp.pdf");
// step 1
Document document = new Document();
// step 2
PdfWriter.getInstance(document, pdfFile);
// step 3
document.open();
// step 4
document.add(createDataTable());
// step 5
document.close();
}
public static PdfPTable createDataTable() {
// a table with two columns
PdfPTable table = new PdfPTable(4);
// the cell object
PdfPCell cell;
// we add the cells with table.addCell()
for (int x = 0; x < 40; x++) {
cell = new PdfPCell(Phrase.getInstance(x + ": " + GlobalVars.inspectionResults[x]));
table.addCell(cell);
}
return table;
}>
以下是Logcat错误:
10-29 01:08:56.730 2283-2340 / com.abc.aeivehicleinspection E / Surface:getSlotFromBufferLocked:unknown buffer:0xb3fd33b0
10-29 01:09:02.722 2283-2340 / com.abc.aeivehicleinspection E / Surface:getSlotFromBufferLocked:unknown buffer:0xabac8a40