我有一個(gè)簡(jiǎn)單的方法,可以在 Android 的下載文件夾中創(chuàng)建一個(gè)文件夾。它在 Android 5 中運(yùn)行良好,但在 Android 6 或更高版本(我使用 Android 6 和 8 測(cè)試)中沒有創(chuàng)建文件夾。有什么改變嗎?這是我的方法,正如我所說的,它是一個(gè)簡(jiǎn)單的創(chuàng)建文件夾功能。但它不適用于 Android 6 或更高版本,僅適用于 Android 5。public void exportaTabelas(SQLiteDatabase db, String tableName) { try { // Query the data in the table Cursor cursor = db.rawQuery("SELECT * FROM " + tableName, null); //File exportDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); exportDir = new File (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/ENEL/"); if (!exportDir.exists()) { exportDir.mkdirs(); } File file = new File(exportDir, tableName +".csv"); file.createNewFile(); //CSVWriter csvWriter = new CSVWriter(new FileWriter(file)); CSVWriter csvWriter = new CSVWriter(new FileWriter(file.getAbsoluteFile(), true)); // Write the table data to the file csvWriter.writeNext(cursor.getColumnNames()); while(cursor.moveToNext()) { String arrStr[] = { cursor.getString(0), cursor.getString(1) }; csvWriter.writeNext(arrStr); } // close cursor and writer cursor.close(); csvWriter.close(); } catch (Exception e) { // handle exception Log.e("MainActivity", e.getMessage(), e); } Toast.makeText(this, "ARQUIVO CSV GERADO!", Toast.LENGTH_SHORT).show(); }
1 回答

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
我假設(shè)你有一個(gè)問題permission
。
Android 5.1.1 及更低版本使用安裝時(shí)權(quán)限,因此文件<uses-permission ...>
中的amanifest
就足夠了。檢查這個(gè)
但是對(duì)于超過 5.1.1 的 Android,您需要<uses-permission ...>
在清單中并在運(yùn)行時(shí)請(qǐng)求用戶許可。檢查這個(gè)
Android Developers 文檔站點(diǎn)是您最好的選擇!
PS:您應(yīng)該在問題中包含任何錯(cuò)誤消息,例如在try catch
塊中捕獲并記錄到 Android Studio IDE 中的 Logcat 的任何錯(cuò)誤。
添加回答
舉報(bào)
0/150
提交
取消