android 6 及以上版本使用 appcelerator 将数据保存在 SD 卡中
Save data in sd card using appcelerator for android 6 and above
我尝试使用 appcelerator 开发的移动应用程序将数据 (.csv) 保存在 SD 卡中。
对于 android 5 及以下成功,csv 可以存储在 sd 卡中,但在 android 6 和 7 中我找不到文件。
我正在使用此代码:Ti.Filesystem.externalStorageDirectory 来自 http://docs.appcelerator.com/platform/latest/#!/guide/Filesystem_Access_and_Storage
密码是
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>
可以帮我解决这个问题。
在 Android 6.0 及更高版本中,您应该在运行时请求某些权限。
您可以在此处查看 "Permissions" 部分:
http://docs.appcelerator.com/platform/latest/#!/api/Titanium.Android
这里有一个如何做到这一点的例子。
您可以在此处找到 Android 方面的更详细说明:
https://developer.android.com/training/permissions/requesting.html
我尝试使用 appcelerator 开发的移动应用程序将数据 (.csv) 保存在 SD 卡中。
对于 android 5 及以下成功,csv 可以存储在 sd 卡中,但在 android 6 和 7 中我找不到文件。
我正在使用此代码:Ti.Filesystem.externalStorageDirectory 来自 http://docs.appcelerator.com/platform/latest/#!/guide/Filesystem_Access_and_Storage
密码是
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>
可以帮我解决这个问题。
在 Android 6.0 及更高版本中,您应该在运行时请求某些权限。 您可以在此处查看 "Permissions" 部分:
http://docs.appcelerator.com/platform/latest/#!/api/Titanium.Android
这里有一个如何做到这一点的例子。 您可以在此处找到 Android 方面的更详细说明:
https://developer.android.com/training/permissions/requesting.html