使用appcelerator for android 6及更高版本在SD卡中保存数据

时间:2017-06-08 02:41:31

标签: android appcelerator export-to-csv appcelerator-titanium

我尝试使用appcelerator使用我的移动应用程序开发来保存SD卡中的数据(.csv)。

对于Android 5及以下它成功csv可以存储在SD卡但在android 6和7中我无法找到该文件。

我正在使用此代码:来自http://docs.appcelerator.com/platform/latest/#!/guide/Filesystem_Access_and_Storage的Ti.Filesystem.externalStorageDirectory

代码是

exports.exportCsvData = function(input)
{
var rowTxt = "";
for(var i=0;i < input.length; i++){ 
    for(var j = 0; j < input[i].length; j++){ 
        rowTxt += '"' + input[i][j] + '"';

        if(j < (input[i].length-1))
        {
            rowTxt += ',';
        }
    }
    rowTxt += '\n';// adding new line at end of row
}

// creating output file in application data directory
// option 1  
   var outputFile = Ti.Filesystem.getFile(Ti.Filesystem.externalStorageDirectory,'output.csv');

outputFile.write(rowTxt); 


if(outputFile.exists){
    alert("CSV generated!!!");
}

return outputFile.nativePath; 
};

我还允许在SD卡中保存文件:

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

可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

在Android 6.0及更高版本中,您应该在运行时询问某些权限。 你可以检查&#34;权限&#34;部分:

http://docs.appcelerator.com/platform/latest/#!/api/Titanium.Android

有一个例子,你可以做到这一点。 有关Android端的更详细说明,请点击此处:

https://developer.android.com/training/permissions/requesting.html