Re: [心得] AIR 存TXT档,使用相对路径。

楼主: kochli (自由自在)   2014-05-24 22:55:09
不好意思~请问这一套方法可以套用到制作android app吗?
有将下列程式码更改为如下:
import idv.cjcat.filesystem.CJFile;
import flash.filesystem.*;
//默认值
var file:File = new File("app:/1.txt");
T1.text = file.nativePath;
T2.text = "科科";
//浏览存盘路径
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
function B1Click(e:TouchEvent) {
file.browseForSave("存盘路径");
}
B1.addEventListener(TouchEvent.TOUCH_TAP, B1Click);
//储存位置选择
function fileSelect(e:flash.events.Event)
{
T1.text = e.target.nativePath;
}
file.addEventListener(flash.events.Event.SELECT,fileSelect);
//储存盘案
function B2Click(e:TouchEvent) {
saveTXT(T2.text,T1.text);
}
B2.addEventListener(TouchEvent.TOUCH_TAP, B2Click);
function saveTXT(str:String , path:String)
{
var file:File = new File(path);
file = new File(file.nativePath);
CJFile.saveTXT(str,file);
}
汇出成apk档安装在手机上后触控功能都正常
但就是找不到目标路径的txt档
是这个方法只能用在windows吗
烦请先进解惑
感谢~
※ 引述《etrexetrex (moonet)》之铭言:
: 原始档案 & 范例档案下载:
: http://et284vu065k3.googlepages.com/AIRSaveFlie.rar
: 此范例使用了 CJ 的 API ( CJFile )
: 在这里谢谢 CJ 教我如何安装AIR环境,以及如何使用 CJFile
: 这个范例包含了:
:  1.基本事件处理
:  2.File类别使用
:  3.破解 AIR 在使用相对路径时无法写入档案的方法
: 1.基本事件处理
:  就是按钮按下时要作什么事那些
: ex:
: //浏览存盘路径
: function B1Click(e:MouseEvent) {
: file.browseForSave("存盘路径");
: }
: B1.addEventListener(MouseEvent.CLICK, B1Click);
: 2.File类别使用
:  file.browseForSave 这个函数...
: 当你选择完存盘路径并按下储存时会用到事件处理
: ex:
: //储存位置选择
: function fileSelect(e:flash.events.Event){
: T1.text = e.target.nativePath;
: }
: file.addEventListener(flash.events.Event.SELECT,fileSelect); 
: 3.破解 AIR 在使用相对路径时无法写入档案的方法
: 如果你想取得相对路径你必须写:
: var file:File = new File("app:/1.txt");
: 但从 app:/ 路径产生的 File 物件是不支援写入的
: 而从绝对路径产生的 File 物件可以支援写入,因此
: 我们可以利用 app:/ 取得相对路径的绝对路径
: 再利用绝对路径建立一个新的 File 物件
: ex:
: var file:File = new File("app:/1.txt");
: file = new File(file.nativePath);
: == 最后附上完整程式码 (给不想下载档案的人看的) ==
: import idv.cjcat.filesystem.CJFile;
: import flash.filesystem.*;
: //默认值
: var file:File = new File("app:/1.txt");
: T1.text = file.nativePath;
: T2.text = "科科";
: //浏览存盘路径
: function B1Click(e:MouseEvent) {
: file.browseForSave("存盘路径");
: }
: B1.addEventListener(MouseEvent.CLICK, B1Click);
: //储存位置选择
: function fileSelect(e:flash.events.Event)
: {
: T1.text = e.target.nativePath;
: }
: file.addEventListener(flash.events.Event.SELECT,fileSelect);
: //储存盘案
: function B2Click(e:MouseEvent) {
: saveTXT(T2.text,T1.text);
: }
: B2.addEventListener(MouseEvent.CLICK, B2Click);
: function saveTXT(str:String , path:String)
: {
: var file:File = new File(path);
: CJFile.saveTXT(str,file);
: }
作者: mucoci (奇宝~)   2014-05-25 12:01:00
只会用shareobject存盘...在android上正常...
作者: scars (scars)   2014-05-25 12:06:00
记得android上只能用.url 不能用.nativePath
作者: scars (scars)   2014-05-25 12:07:00
用new File(f.nativePath)来规避写入限制的撇步 只在win有效
楼主: kochli (自由自在)   2014-05-25 12:35:00
我试了.url还是无法存入txt档

Links booklink

Contact Us: admin [ a t ] ucptt.com