Andriod

Andriod 언어를 사용해서 CSV데이터 생성하기

지오준 2023. 11. 25.
반응형

먼저, 안드로이드 앱에서 CSV 파일을 생성하려면 몇 가지 단계를 따라야 합니다. 여기에는 데이터를 수집하고 CSV 형식으로 작성하는 과정이 포함됩니다.

 

1. 안드로이드 매니페스트 파일에서 파일 저장 권한을 추가합니다.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 

 

2. CSV 파일을 생성하는 Java 또는 Kotlin 코드를 작성합니다.

아래는 Kotlin을 사용한 예시 코드입니다.

import android.content.Context
import android.os.Environment
import java.io.File
import java.io.FileWriter
import java.io.IOException

class CSVFileGenerator {

    fun createCSV(context: Context, dataList: List<List<String>>, fileName: String) {
        val baseDir = Environment.getExternalStorageDirectory().absolutePath
        val filePath = "$baseDir/$fileName.csv"

        try {
            val file = File(filePath)
            file.createNewFile()

            val writer = FileWriter(file)

            // CSV 헤더 작성 (옵션)
            writer.append("Column 1,Column 2,Column 3\n")

            // 데이터 작성
            for (data in dataList) {
                for (item in data) {
                    writer.append(item)
                    writer.append(",")
                }
                writer.append("\n")
            }

            writer.flush()
            writer.close()

            // 파일 생성이 완료되었음을 Toast 메시지로 사용자에게 알림 (선택 사항)
            // Toast.makeText(context, "CSV 파일이 생성되었습니다.", Toast.LENGTH_SHORT).show()

        } catch (e: IOException) {
            e.printStackTrace()
        }
    }
}

위 코드에서 createCSV() 함수는 Context, 데이터를 담은 리스트(dataList), 그리고 생성할 파일 이름(fileName)을 받습니다. 이 함수는 데이터 리스트에서 데이터를 읽어와 CSV 파일에 작성합니다.

 

이 코드는 데이터를 dataList로 전달하여 CSV 파일을 생성하며, 필요에 따라 헤더를 추가하거나 수정할 수 있습니다.

 

주의: 안드로이드 10(API 레벨 29)부터는 외부 저장소에 대한 직접적인 액세스가 제한됩니다. 따라서 안드로이드 10 이상에서는 파일을 저

장하기 위해 MediaStore를 사용하는 것이 좋습니다. 또한, 파일 저장 권한을 사용자에게 요청하는 코드도 필요합니다.

 

이 코드는 외부 저장소에 직접 파일을 작성하는 예시이므로, 안드로이드 버전 및 보안 정책을 고려하여 개발하시기 바랍니다.

반응형

댓글