将 CSV 文件从 Android 设备传输到 PC

问题描述

我有一个使用以下方法生成 csv 文件的应用程序,

protected void makeCsvFileTrackLog() {
    final String CSV_SEParaTOR = ",";
    System.out.println("startMakeFile");
    Date T = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
    String szDateTime = sdf.format(T);
    SimpleDateFormat date = new SimpleDateFormat("yyyyMMdd");
    String szDate = date.format(T);
    //creates /flightData directory on device if not created yet...
    File appDir = new File(Environment.getExternalStorageDirectory(),"flightData");
    appDir.mkdir();
    //creates new file if needed for sampling date
    File exportDir = new File(Environment.getExternalStorageDirectory(),"flightData/" + szDate);
    exportDir.mkdir();

    try {
        File csvSandBoxFile = new File(Environment.getExternalStorageDirectory() + "/flightData/" + szDate,"TracklogDB_" + szDateTime + ".csv");

        csvSandBoxFile.createNewFile();
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvSandBoxFile),"UTF-8"));

        DBAdapter msdb = new DBAdapter(getApplicationContext(),szdbname,null);
        db = msdb.getWritableDatabase();

        Cursor c = db.rawQuery("SELECT * FROM trackLogDB",null);

        StringBuffer sb = new StringBuffer();
        ...
    } catch (IOException e) {
        Log.e("IOException","exception in createNewFile() method");
    }
    System.out.println("endMakeFile");
}

这构建文件没问题。但是,当技术人员和普通用户尝试将数据从设备卸载到 PC 时,就会出现问题。我们的大多数设备都运行 Android 7 或 8 版。PC 是当前的 Linux 或 Win10。为了卸载数据,Android 设备必须在连接到 PC 之前重新启动。连接后,用户在 Android 设备上选择通过 USB 传输文件。如果 PC 是 Win10,则必须等待 Windows 操作系统正确检测到 Android 设备。然后,他们必须浏览到 CSV 文件所在设备上的目录。但是,新创建的 CSV 文件在目录中“通常”不可见,直到他们刷新它。有时只需简单的刷新即可,有时则必须关闭并重新打开目录。

问题 1:我可以在 Android 应用程序方面做些什么来使我的 CSV 文件更容易被发现?

问题 2:我可以对 Windows 或 Linux 机器做些什​​么来帮助他们找到 Android 设备上的文件吗?

注意:这些 CSV 不包含“私人”数据。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)