Re: [心得] AIR 存TXT檔,使用相對路徑。

看板Flash作者 (自由自在)時間10年前 (2014/05/24 22:55), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串2/3 (看更多)
不好意思~請問這一套方法可以套用到製作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); : } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.105.21 ※ 文章網址: http://www.ptt.cc/bbs/Flash/M.1400943312.A.C49.html

05/25 12:01, , 1F
只會用shareobject存檔...在android上正常...
05/25 12:01, 1F

05/25 12:06, , 2F
記得android上只能用.url 不能用.nativePath
05/25 12:06, 2F

05/25 12:07, , 3F
用new File(f.nativePath)來規避寫入限制的撇步 只在win有效
05/25 12:07, 3F

05/25 12:35, , 4F
我試了.url還是無法存入txt檔
05/25 12:35, 4F
文章代碼(AID): #1JWBBGn9 (Flash)
文章代碼(AID): #1JWBBGn9 (Flash)