>source

Android의 다운로드 폴더 안에 폴더를 만드는 간단한 방법이 있습니다. Android 5에서는 잘 작동하지만 Android 6 이상 (Android 6 및 8로 테스트)에서 폴더가 생성되지 않습니다.

변경된 것이 있습니까?

이것은 간단한 폴더 만들기 기능이라고 말한 것처럼 내 방법입니다. 그러나 Android 5 이상에서는 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

    permission 에 문제가 있다고 가정합니다. .

    Android 5.1.1 이하는 설치 시간 권한을 사용하므로 <uses-permission ...>   manifest 에서  파일이면 충분합니다. 이것을 확인하십시오

    그러나 5.1.1 이상의 Android에서는 <uses-permission ...> 가 모두 필요합니다.  매니페스트에서 런타임 동안 사용자에게 권한을 요청하십시오. 이것을 확인하십시오

    Android Developers 설명서 사이트가 최고의 해고입니다!

    PS : 질문과 함께받은 오류 메시지 (예 : try catch 에서 발생한 오류)를 포함해야합니다.  Android Studio IDE에서 Logcat을 차단하고 기록했습니다.

관련 자료

  • 이전 python - 첫 번째 코드에서 출력이 12이고 두 번째 코드에서 [2] [2] 인 이유는 무엇입니까?
  • 다음 wordpress - WPBakery Visual Composer가로드되지 않습니다